Live data from Hacker News

Catalog of Novel Operating Systems

github.com

51–60 of 65 posts

Re: Catalog of Novel Operating Systems

#51
post #31

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 w…

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

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

Although they can be done separately, I think there is also a value in doing both together, since the design can be made to work with both together better. Furthermore, they can be designed together with the hardware as well, to work together all three better.

Re: Catalog of Novel Operating Systems

#52

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 w…

Sorry, is "operating environment" a known and used term?

Completely agree with the sentiment here, but have not seen this term used to describe what should almost certainly be distinguished as its own concept to facilitate these kinds of conversations. OE is great terminology.

Re: Catalog of Novel Operating Systems

#53
post #3

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

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

Re: Catalog of Novel Operating Systems

#54
post #34

MercuryOS 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 y…

MercuryOS 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

Calling it an OS is inaccurate. It could be an application.

Re: Catalog of Novel Operating Systems

#55
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

The RoarVM [1] is a research project that showed how to run Squeak Smalltalk on thousands of cores (at one point it ran on 10,000 cores). I'm re-implementing it as a metacircular adaptive compiler and VM for a production operating system. We rewrite the STEPS research software and the Frank code [2] on a million core environment [3]. On the M4 processor we try to use all types of cores, CPU, GPU, neural engine, video…

Good luck with your application.

I played with Squeak a bit [1] and several friends like [2] were also active in converting Squeak in (also) a OS.

[1] https://web.archive.org/web/20231205061256/http://swain.webf...

[2] https://wiki.squeak.org/squeak/1762

Re: Catalog of Novel Operating Systems

#57
post #16
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

Yes, 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 o…

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

Re: Catalog of Novel Operating Systems

#58

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 w…

Your idea reminds me of VitaNuova’s Inferno.

The original link seems to be dead now, here’s the Wikipedia article: https://en.wikipedia.org/wiki/Inferno_(operating_system)

Re: Catalog of Novel Operating Systems

#59
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

These folks turned Linux into a cluster OS, long dead unfortunately:

https://kerlabs.com/ https://en.wikipedia.org/wiki/Kerrighed

Re: Catalog of Novel Operating Systems

#60

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 w…

Your idea reminds me of VitaNuova’s Inferno. The original link seems to be dead now, here’s the Wikipedia article: https://en.wikipedia.org/wiki/Inferno_(operating_system)

Indeed vitanuova.com is down (although company appears still active) but has been mirrored for many years in https://www.inferno-os.org (can be considered an official site since is linked by their GitHub org).
Post reply on HN