6 ms·
Catalog of Novel Operating Systems
- serhack_ 1y agoI would love to see some examples outside of the WIMP-based UI
- amelius 1y agoMaybe a catalog of kernels?
- sparkie 1y agoThere's a non comprehensive list of hobbyist kernels at https://wiki.osdev.org/Projects https://wiki.osdev.org/Projects
- wazzaps 1y agoMercuryOS towards the bottom is pretty cool
- MonkeyClub 1y agoMercuryOS [1, 2] appears to be simply a "speculative vision" with no proof of concept implementation, a manifesto rather than an actual system. I read through its goals, and it seems that it is against current ideas and metaphors, but without actually suggesting any alternatives. Perhaps an OS for the AI era, where the user expresses an intent and the AI figures out its meaning and carries it out? [1] https://www.mercuryos.com/ https://www.mercuryos.com/ [2] https://news.ycombinator.com/item?id=35777804 https://news.ycombinator.com/item?id=35777804 (May 1, 2023, 161 comments)
- WillAdams 1y agoWell, there were Momenta and PenPoint --- the latter in particular focused on Notebooks which felt quite different, and Apple's Newton was even more so. Oberon looks/feels strikingly different (and is _tiny_) and can be easily tried out via quite low-level emulation (and just wants some drivers to be fully native say on a Raspberry Pi)
- maxlin 1y agoThis list should include SerenityOS IMHO. It might not be super unique but is a truly from-scratch "common" operating system built in public, which for me at least puts it at the position of a reference of an OS of whose code one person can fully understand if they'd want to understand the codebase of a whole complete-looking OS.
- Rochus 1y ago> This list should include... And a few dozen others as well.
- ahartmetz 1y agoAlso GenodeOS, which is in fact fairly unique.
- layer8 1y ago“Novel” is likely meant in the sense of “novel concept” or “novel approach”. Serenity is great, but it isn’t trying to do anything novel in the OS space.
- MomsAVoxell 1y agoI had the privilege to work as a junior operator in the 80’s, and got exposed to some strange systems .. Tandem and Wang and so on .. and I always wondered if those weird Wang Imaging System things were out there, in an emulator somewhere, to play with, as it seemed like a very functional system for archive digitalization. As a retro-computing enthusiast/zealot, for me personally it is often quite rewarding to revisit the ‘high concept execution environments’ of different computing era. I have a nice, moderately sized retro computing collection, 40 machines or so, and I recently got my SGI systems re-installed and set up for playing. Revisiting Irix after decades away from it is a real blast.
- Keyframe 1y agoas a fellow dinosaur and a hobbyist, I concur. Especially SGI's. For those that didn't know, MAME (of all things) can run IRIX to an extent https://sgi.neocities.org/ https://sgi.neocities.org/
- rbanffy 1y agoThe one I'd like to see working is the IBM 3193. Few people know IBM had graphics terminals and the 3270 protocol has provisions for high-res images going to/from the terminal. https://ifdesign.com/en/winner-ranking/project/datensichtgerat-ibm-3193-f-grafik-text-und-daten-anw/17190 https://ifdesign.com/en/winner-ranking/project/datensichtger...
- m2f2 1y ago[flagged]
- xattt 1y agoI can’t help but notice that each of these stubs represent a not-insignificant portion of effort put in by one or more humans.
- mrbluecoat 1y agoIndeed. Could have been retitled "Labor of Love OSes"
- rubitxxx3 1y agoThis list could be longer! I expected much more, given that CS students and hobbyists are doing this sort of thing often. Maybe the format is too verbose?
- Lerc 1y agoAre there any operating systems designed from the ground up to support and fully utilize many processor systems? I'm thinking systems designed based on the assumption that there are tens, hundreds or even thousands of processors, and design assumptions are made at every level to leverage that availability
- 0x0203 1y agoYes, to a degree, but probably not quite like you're thinking. The super computers and HPC clusters are highly tuned for the hardware they use which can have thousands of CPUs. But ultimately the "OS" that controls them takes on a bit of a different meaning in those contexts. Ultimately, the OS has to be designed for the hardware/architecture it's actually going to run on, and not strictly just a concept like "lots of CPUs". How the hardware does interprocess communication, cache and memory coherency, interrupt routing, etc... is ultimately going to be the limiting factor, not the theoretical design of the OS. Most of the major OSs already do a really good job of utilizing the available hardware for most typical workloads, and can be tuned pretty well for custom workloads. I added support for up to 254 CPUs on the kernel I work on, but we haven't taken advantage of NUMA yet as we don't really need to because the performance hit for our workloads is negligible. But the Linux's and BSD's do, and can already get as much performance out of the system as the hardware will allow. Modern OSs are already designed with parallelism and concurrency in mind, and with the move towards making as many of the subsystems as possible lockless, I'm not sure there's much to be gained by redesigning everything from the ground up. It would probably look a lot like it does now.
- T3OU-736 1y agoAnother aspect of supporting hugely dispersed CPUs a-la SGI Origin 3000 series (say, Origin 3400) is the support for performance telemetry of the attendant interconnecting pieces. On SGI, the CrayLink HW had perfomance counters visible via the Performance CoPilot (nee PCP). On Linux, NUMA arch has similar things (numastat, Intel's PCM, other tools). Depending on the workload, it may matter, but if the OS/tooling does not expose the counters, it isn't even possible to quantify the impact. SGI's IRIX, due to the sheer physical size of their larger ccNUMA systems (AFAIK, AMD's NUMA is from SGI's ccNUMA), had the option to auto-migrate the workloads when certain CPU to working memory latency thresholds were reached.
- RetroTechie 1y agoWhy the "novel" qualifier? There exist many OSes (and UI designs) based on non-mainstream concepts. Many abandoned, forgotten, @ design time suitable hardware didn't exist, no software to take advantage of it, etc etc. A 'simple' retry at achieving such alternate vision could be very successful today due to changed environment, audience, or available hardware.
- diego_moita 1y agoAs a kernel programmer I find it so lame that when people say "Operating Systems" what they're thinking is just the superficial layer: GUI interfaces, Desktop Managers and UX in general. As if the only things that could have OS were desktop computers, laptops, tablets and smartphones. What about more specialized devices? e-readers, wifi-routers, smartwatches (hey, hello open sourced PebbleOS), all sorts of RTOS based things, etc? Isn't anything interesting happening there?
- alphazard 1y agoNotably missing from this list are seL4 and Helios which is based on it. https://ares-os.org/docs/helios/ https://ares-os.org/docs/helios/ The cost of not having proper sandboxing is hard to overstate. Think of all the effort that has gone into linux containers, or VMs just to run another Linux kernel, all because sandboxing was an afterthought. Then there's the stagnation in filesystems and networking, which can be at least partially attributed to the development frictions associated with a monolithic kernel. Organizational politics is interfering with including a filesystem in the Linux kernel right now.
- MYEUHD 1y agoIt's not based on it, but inspired from it. Helios was written from scratch.
- alphazard 1y agoI don't really understand or appreciate a distinction. The seL4 design was used as a starting point and small changes were made mostly as a matter of API convenience. I consider the design of an operating system to be by far the most difficult part, and the typing to be less impressive/important. Helios hasn't done anything novel in terms of operating system design. It's taken an excellent design and reimplemented it in with a more modern language and built better tooling around it. I tend to point people towards the Helios project instead of seL4 because I think the tooling (especially around drivers) is so much better that it's not even a close comparison for productivity. It's where the open source OS community should be concentrating efforts.
- forgotpwd16 1y agoUsually "based on" means the original codebase is mirrored/extended. Arguably if what you say is true, that is Helios' design has minor differences to seL4, then "based on" in reference to the design is indeed better description than "inspired from" which makes it sound (imo) to have significant changes.
- 1y ago
- gitroom 1y agoHonestly love seeing people obsess over old or weird OS stuff - makes me want to poke around in my own cluttered laptop folders just to see what weird bits I still have tucked away.
- gnramires 1y agoI think we shouldn't[1] be making Operating Systems, per se, but something like Operating Environments. An Operating Environment (OE) would be a new interface, maybe shell and APIs to access file systems, devices, libraries and such -- possibly one that can be just launched as an application in your host OS. That way you can reuse all facilities provided by the host OS and present them in new, maybe more convenient ways. I guess Emacs is a sort of Operating Environment, as browsers as well. 'Fantasy computers' are also Operating Environments, like pico-8, mini micro[2], uxn, etc.. Of course, if you really have great a low-level reason to reinvent the way things are done (maybe to improve security, efficiency, DX, or all of that), then go ahead :) The main reasons is the difficulty in developing robust low-level systems like file systems, the large number of processors you may want to support, and also creating or porting a huge number of device drivers. At this point Linux for example supports a huge number of devices (of course you could use some sort of compatibility layer). Also, developing a new UX is very different from developing a new low-level architecture (and you can just plug the UX into existing OSes). In most cases an OS shell (and an OE), from the user point of view, is "just" a good way of finding and launching applications. Maybe a way of finding and managing files if you count the file manager in. It shouldn't get too much in the way and be the center of attention, I guess. (This contrasts with its low level design, which has a large number functions, APIs, etc.). But also it should probably be (in different contexts) cozy, comfortable, beautiful, etc. (because why not?). A nice advanced feature is the ability to automate things and run commands programmatically, which command shells tend to have by default but are more lacking in graphical shells. And I'm sure there is still a lot to explore in OS UX... [1] I mean, unless you really have a reason with all caveats in mind of course. [2] https://miniscript.org/MiniMicro/index.html#about https://miniscript.org/MiniMicro/index.html#about
- toast0 1y agoI think there's value in exploring operating systems and environments. And, it's very useful to note that you don't need to do both at the same time. This strikes me as an unneccessary worry though: > The main reasons is the difficulty in developing robust low-level systems like file systems, the large number of processors you may want to support, and also creating or porting a huge number of device drivers. At this point Linux for example supports a huge number of devices (of course you could use some sort of compatibility layer). As a start, you simply don't need to support all of this, and you don't even need to aspire to support it all. Support virtio versions of the relevant hardware class and try to run on reasonable hypervisors. Support one or two physical devices of the relevant hardware class to run on a real machine. If you can plugin to an existing driver abstraction and pull in external drivers, great. NDIS is one option there. If your OS is interesting, you can figure our the driver situation, and the cpu architecture situation. It would sure be neat to run on a raspberry pi, but only running on x86 isn't a big limitation.
- jeffbee 1y agoThe title should have been "Catalog of UI Demos". It has nothing to do with operating systems. Desktop Neo was a sick demo, ten years ago. If there was ever a real project that implemented it, I'd be willing to give it a whirl.
- rbanffy 1y agoMercuryOS reminds me of the Apple Lisa - The way it managed applications invisibly was a step in the direction of selecting tools based on intentions. It was a document-centric system, which MercuryOS isn't, but a step in the same direction. For some time, Windows 95 (IIRC) had a Templates folder. You'd put documents in it and you could right-click a folder and select New->Invoice or something similar based on what you had in the Templates folder. It was similar to Lisa's Stationery metaphor.
- transitorykris 1y agoMercuryOS jumped out at me too, digging around the site I really started to imagine using it. It does not appear to have gone beyond the design (which was where the creators intended to stop it seems). It's a re-imagining of HCI than an OS as a whole. It caught a fair bit of unfair flack previously imo: https://news.ycombinator.com/item?id=35777804 https://news.ycombinator.com/item?id=35777804
- rbanffy 1y agoCalling it an OS is inaccurate. It could be an application.
- justanothersys 1y agocool list! i make something web based like this called https://aesthetic.computer https://aesthetic.computer
- mindcrime 1y agoAnd here I was hoping for a Catalog of Novell Operating Systems. :-(
- zhainya 1y agoTempleOS?
- miljanm 1y agoAre there any operating systems that support heterogeneous computing?