Live data from Hacker News

Catalog of Novel Operating Systems

github.com

21–30 of 65 posts

Re: Catalog of Novel Operating Systems

#21
Why 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.

Re: Catalog of Novel Operating Systems

#22
As 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?

Re: Catalog of Novel Operating Systems

#23
Notably missing from this list are seL4 and Helios which is based on it.

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.

Re: Catalog of Novel Operating Systems

#24

Notably missing from this list are seL4 and Helios which is based on it. 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…

It's not based on it, but inspired from it.

Helios was written from scratch.

Re: Catalog of Novel Operating Systems

#26
post #24

Notably missing from this list are seL4 and Helios which is based on it. 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…

It's not based on it, but inspired from it. Helios was written from scratch.

I 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.

Re: Catalog of Novel Operating Systems

#27
post #13

Are 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

I think you're reaching towards the concept of a Single System Image [1] system. Such a system is a cluster of many computers, but you can interact with it as if it was a single computer.

But mainstream servers manage hundreds of processor cores these days. The Epyc 9965 has 192 cores, and you can put it in an off the shelf dual socket board for 384 cores total (and two SMT threads per core if you want to count that way). Thousands of core would need exotic hardware, even a quad socket Epyc wouldn't quite get you there and afaik, nobody makes those, an 8 socket Epyc would be madness.

[1] https://en.m.wikipedia.org/wiki/Single_system_image

Re: Catalog of Novel Operating Systems

#28
post #13

Are 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

I'm working on GridWhale (https://gridwhale.com).

It's not a true OS--but it's a platform on top of an arbitrary number of nodes that act as one.

The cool thing is that from the program's perspective you don't have to worry about the distributed system running underneath--the program just thinks it's running on an arbitrarily large machine.

Re: Catalog of Novel Operating Systems

#29
I 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

Re: Catalog of Novel Operating Systems

#30
The 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.

Post reply on HN