11 ms·
The fact so much hardware these days is running a full real-time OS all the time annoys me. I know it is normal and understandable but everything is such a blac
by helf 4y ago
The fact so much hardware these days is running a full real-time OS all the time annoys me. I know it is normal and understandable but everything is such a black box and it has already caused headaches (looking at you, Intel).
- dist1ll 4y agoThere's this great USENIX talk by Timothy Roscoe [1], which is part of the Enzian Team at ETH Zürich. It's about the dominant unholistic approach to modern operating system design, which is reflected in the vast number of independent, proprietary, under-documented RTOSes running in tandem on a single system, and eventually leading to uninspiring and lackluster OS research (e.g. Linux monoculture). I'm guessing that hardware and software industries just don't have well-aligned interests, which unfortunately leaks into OS R&D. [1] https://youtu.be/36myc8wQhLo https://youtu.be/36myc8wQhLo
- lbotos 4y agoAlso one by Bryan Cantrill recently around the stack of black boxes: https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-not-to-open-it-the-need-for-holistic-systems/ https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-...
- est31 4y agoI think making it harder to build an OS by increasing its scope is not going to help people to build Linux alternatives. As for the components, at least their interfaces are standardized. You can remove memory sticks by manufacturer A and replace them with memory sticks from manufacturer B without problem. Same goes for SATA SSDs or mice or keyboards. Note that I'm all in favour of creating OSS firmware for devices, that's amazing. But one should not destroy the fundamental boundary between the OS and the firmware that runs the hardware.
- dist1ll 4y agoBuilding an OS is hard. There's no way around its complexity. But closing your eyes and pretending everything is a file is a security disaster waiting to happen (actually, happening every day). And furthermore, OS research is not only about building Linux alternatives. There are a lot of operating systems that have a much narrower focus than full-blown multi-tenant GPOS. So building holistic systems with a narrower focus is a much more achievable goal. > As for the components, at least their interfaces are standardized That's not true once you step into SoC land. Components are running walled-garden firmware and binary blobs that are undocumented. There's just no incentive to provide a developer platform if no one gives a shit about holistic OSes in the first place.
- MisterTea 4y ago> But closing your eyes and pretending everything is a file is a security disaster waiting to happen (actually, happening every day). What is this in response to? GP never mentioned file interfaces.
- Godel_unicode 4y agoSure they did, they talked about the abstractions present in Linux.
- MisterTea 4y agoI'd like to know why they believe this.
- GekkePrutser 4y ago> But closing your eyes and pretending everything is a file is a security disaster waiting to happen (actually, happening every day). How so? I can see the limited access control in Linux is an issue, and for this reason augmented security MAC (Mandatory Access Control) controls exist like SELinux and AppArmor. But I don't see how the nature of everything being a file is a vulnerability in itself. I'd be happy to learn how though.
- liuliu 4y agoI don't know. This sounds very computer-sciency-ish. We build smaller tools to help build big things. Now the big things are so good and versatile we can replace our smaller tools with the big things too. With the more powerful tools, we can build even bigger things. It is just compiler bootstrapping happening in hardware world.
- TimTheTinker 4y agoThe problem is that there's so much unexplored territory in operating system design. "Everything is a file" and the other *nix assumptions are too often just assumed to be normal. So much more is possible.
- dlinz 4y agoCurious student here, would you mind elaborating a bit on this unexplored territory?
- random314 4y agoSmalltalk vms, forth, Oberon, lisp machines, amoeba etc
- mrguyorama 4y agoThis is a bit like asking "Can you elaborate on particle physics" in 1900. The point is that we don't know because there's been so little experimentation in the space. Not a lot of funding for "build an OS that uses completely different idioms and concepts to what we know, possibly without even a goal other than trying something out".
- TimTheTinker 4y agoHere's a HN comment from earlier this week that elaborates on some earlier operating systems that explored some really novel ideas: https://news.ycombinator.com/item?id=33768592 https://news.ycombinator.com/item?id=33768592 To summarize: > ITS (of PDP-10 hacker fame) - processes could debug and introspect their child processes. The debugger was always available, basically. The operating system provided support for breakpoints, single-stepping, examining process memory, etc. > KeyKOS (developed by Tymshare for their commercial computing services in the 1970s) - A capability operating system. If everything in UNIX was a file, then everything in KeyKOS was a memory page, and capabilities (keys) to access those pages. In every operating system, the basic unit of abstraction will be a process -- which necessitates a scheduler, some form of memory protection, some way for the process to interact with the kernel, and the notions of "kernel space" and "user space". There is a lot of room for innovation there (see ITS), but I suspect most of the room for innovation is in how an OS abstracts/refers to various parts of the system.
- ramraj07 4y agoEvery cell in your body is running a full blown OS fully capable of doing things that each individual cell has no need for. It sounds like this is a perfectly natural way to go about things.
- Retric 4y agoMature mammalian red blood cells ditch their DNA, which is one reason they don’t live very long.
- ralfd 4y agoDid dinosaur / do reptilian blood cells live longer?
- robbiep 4y agoThose from birds which are nucleated last about 30-40 days compared to 120 in us so no
- Retric 4y agoNo idea about dinosaurs but some reptilian red blood cells live much longer as in 500+ days for turtles vs 120 for humans. However, it varies widely with mice and chickens having much faster turnover. https://www.sciencedirect.com/science/article/pii/S0006497120300185?via%3Dihub https://www.sciencedirect.com/science/article/pii/S000649712... Five species of salamanders have similar enucleated red blood cells, but I can’t find out how long they last in comparison. https://pubmed.ncbi.nlm.nih.gov/18328681/ https://pubmed.ncbi.nlm.nih.gov/18328681/ One theory is it’s an adaption to having unusually large genomes which would otherwise be an issue, but biology is odd so who knows.
- lazide 4y agoFor one, it makes them much harder to be used as viral vectors.
- 4y ago
- stock_toaster 4y agoIt's interesting that microkernels didn't "win" at the OS layer, but they kind of seem to have "won" one layer down.
- rswail 4y agoI think IBM's IO channels would like a word... it's been like this for most of computing.
- babypuncher 4y agoThis isn't even that new of a thing. The floppy disk drive sold for the Commodore 64 included it's own 6502 CPU, ROM, and RAM. This ran its own disk operating system[1]. Clever programmers would upload their own code to the disk drive to get faster read/writes, pack data more densely on the disk, and even copy protection schemes that could validate the authenticity of a floppy. 1: https://en.wikipedia.org/wiki/Commodore_DOS https://en.wikipedia.org/wiki/Commodore_DOS
- ansible 4y agoAnd all that engineering resulted in a floppy drive that was slower and more expensive than comparable units for other home computers. I'm not sure if there is a lesson there...
- Waterluvian 4y agoProbably not a fair comparison in some ways but this reminds me of that story of Woz making a disk drive controller with far fewer chips by being clever and thoughtful about it all. I’m probably misremembering this.
- goosedragons 4y agoThat's what pretty much what happened. The Integrated Woz Machine.
- ronbarr 4y agoYou’re talking about the Integrated Woz Machine. It was a custom disk controller that Wozniak created that was used in the Apple ][, /// and I believe on the original Macs. It was cheap, fast and worked.
- wrs 4y agoAnd a later Mac, the IIfx, introduced I/O coprocessors to run the IWM, among other things. All part of the glorious wheel of reincarnation. [0] [0] https://www.computer-dictionary-online.org/definitions-c/cycle-of-reincarnation.html https://www.computer-dictionary-online.org/definitions-c/cyc...
- comprambler 4y agoTechnically it is not a real time OS. There are very few OSs that have this moniker (vxworks, qnx, etc)
- saagarjha 4y ago"Real-time" isn't a trademark, you can assign it to other things if they meet the typical guarantees of "real-time".
- hinkley 4y agoIt's only a problem if they're closed source. We should be working on that.
- GekkePrutser 4y agoThe real-time nature is not what makes it closed though. It's simply that it's been designed to be closed. For example, Intel's ME could be a really useful feature if we could do what we want with it. Instead they lock it down so it's just built-in spyware.
- Gigachad 4y agoIsn’t the primary purpose of the ME to run DRM and back door the system? How would it be useful at all open source? People would just turn it off entirely.
- GekkePrutser 4y agoI could imagine a super low power coprocessor that's always on would be a real useful tool. It could check my email and other low power tasks. And remote management isn't bad if it's entirely under my control. It's the closed nature that makes me distrust it.
- Gigachad 4y agoThis has already been solved. Modern devices come with low power general purpose cores and OSs can wake up briefly to check for new messages. I just can’t see why you would ever want to remote manage your own laptop where some software installed on the OS isn’t sufficient.
- wmf 4y agoI just can’t see why you would ever want to remote manage your own laptop where some software installed on the OS isn’t sufficient. It's to remotely recover when Windows corrupts itself. (Which is far less common than it used to be.)
- borissk 4y agoIntel recent CPUs come with efficiency cores and support S0 standby, aka "Modern Standby", which can periodically wake up and do stuff like check for new emails.
- the__alchemist 4y agoSame. It's not about the principle, but that generally these OSes increase latency etc. There's so much you can do with interrupts, DMA, and targetted code when performance is a priority.
- saagarjha 4y agoWhat makes you think performance was not a priority here?
- jbverschoor 4y agoI sometimes wonder about how fast tings could go if we ditch the firmware, and also just bake a kernel / os right into the silicon. Not like all the subsystems which run their own os/kernels, but really just cut every layer, and have nothing in between.
- p_l 4y agoYou'd find yourself needing to add more CPUs to account for all the low level handling that is done by various coprocessors for you, eating into your compute budget, especially with high interrupt ratio as you wouldn't have it abstracted and batched in the now missing coprocessors
- astrange 4y agoIt'd be slower. These coprocessor OSes are there to improve performance in the first place. (Especially because wall clock time is not the only kind of performance that matters.)
- saagarjha 4y agoThen you can't improve them.