Live data from Hacker News

Catalog of Novel Operating Systems

github.com

31–40 of 65 posts

Re: Catalog of Novel Operating Systems

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

Re: Catalog of Novel Operating Systems

#32
post #24

Earlier quoted context omitted.

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…

Usually "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.

Re: Catalog of Novel Operating Systems

#33

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…

It sounds to me like you are describing Linux desktops.

Re: Catalog of Novel Operating Systems

#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 you had in the Templates folder. It was similar to Lisa's Stationery metaphor.

Re: Catalog of Novel Operating Systems

#35

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…

Some of these are operating systems in the most literal sense. Some are environments that aren't concerned with starting processes or reading disk blocks.

Re: Catalog of Novel Operating Systems

#36

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…

It sounds to me like you are describing Linux desktops.

Or Windows up to Windows ME.

I believe confusing UI with OS is a mistake Windows users are still paying to this day. Thanks to NeXT, Mac users don't have this torment since MacOS 9.

Re: Catalog of Novel Operating Systems

#37

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

as 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/

The 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/datensichtger...

Re: Catalog of Novel Operating Systems

#38
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…

> I'm re-implementing it as a metacircular adaptive compiler and VM for a production operating system.

You are doing God's work. Thank you.

Re: Catalog of Novel Operating Systems

#39
post #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…

you can build these without shared memory using standard distributed database techniques for serializability and fault tolerance. i dont think its a particularly good idea. there's nothing great about running 'ps' and getting half a million entries. using the unix user/group model isn't great for managing resources. its not even that great to log in to start jobs. the only thing your gaining is familiarity.

building better abstractions - kuberenetes is an example, although i certainly hope we dont keep being stuck there - is probably a better use of time

Re: Catalog of Novel Operating Systems

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

Firmware for GPUs maybe? Not really an OS, but it is software which is built around scheduling and executing on thousands of parallel cores.
Post reply on HN