Why not build operating systems as layers?
1–4 of 4 posts
Re: Why not build operating systems as layers?
#2https://www.pcworld.com/article/394895/what-is-valve-proton-...
Proton is a system (based on open-source Wine) that lets you run Windows programs on Linux. Back in the day there was something called Cygwin that worked in a similar manner in the opposite direction.
There is a certain amount of overlap and/or competition between language runtimes and operating systems. Back in the 1970s and early 1980s home computers frequently had a "language system" instead of an operating system, typically it was a BASIC-based environment but it could be FORTH, LISP or some other language. My first computer was a TRS-80 color computer with just 4K of RAM but it was good enough to learn programming on because a language system is thriftier than a real OS.
With the IBM PC however you would usually boot into MS-DOS and then run a BASIC interpreter (initially BASICA but then there was GWBASIC...) and I remember doing the same with the OS-9 operating system and BASIC09 on my Coco once it was upgraded to 64K of RAM and a disk system.
Thus it's pretty clear that "running a language runtime under an OS" is competitive with "running a language system on bare metal."
Java in particular has a sophisticated runtime but you find a pretty high level of services offered by a Common LISP runtime or many other languages.
And of course using emulation, virtual machines and similar methods you can run just about anything on top of an ordinary OS.
Re: Why not build operating systems as layers?
#3People build all kinds of layers. Consider for instance https://www.pcworld.com/article/394895/what-is-valve-proton-... Proton is a system (based on open-source Wine) that lets you run Windows programs on Linux. Back in the day there was something called Cygwin that worked in a similar manner in the opposite direction. There is a certain amount of overlap and/or competition between language runtimes and operating sys…
Re: Why not build operating systems as layers?
#4In Mezzano's case, presumably because they wanted to build an OS in Common Lisp, not on top of the C that a Unix system would be implemented in. Looking at their Patreon (https://www.patreon.com/froggey) and FAQ (https://mezzanos.herokuapp.com/static/everyone/faq1.html), part of the purpose of the OS is to re-explore the Lisp machines from the '80s.
I know that if I built an OS, my purpose would likely be either learning, or experimentation with some concept that would be difficult to implement in any of the standard existing systems. Building on top of an existing base would defeat the point of the exercise, IMO.