Starshine: Operating Systems: Some Comments

Some Comments on Computer Operating Systems

There are lots of computer operating systems. To the vast majority of computer users this is both unknown and uninteresting. Despite this many people will vehemently argue that the OS that they happen to use is superior to all others.

Often the OS seems to be simply an extension of the hardware platform on which it is run. Throughout the history of computer technology (from the mainframes through the mini's and throughout the "microcomputer" and "workstation" eras) hardware vendors have made attempts to lock their customers into particular software niches. This is hardly surprising, software is a far more lucrative proposition than hardware -- with much higher returns on very small capital investments.

However this advantage is weighed against the need for applications. Without a sufficient variety of applications a hardware platform cannot attract customers, which -- in a perverse and vicious cycle -- discourages developers from adopting a platform.

So, many hardware companies offer multiple operating systems. Commonly they have their own proprietary OS and some flavor of Unix or some microkernel OS with a set of Unix API's and "personalities" or "servers" (as they are called under Mach).

In the documentation for C-Kermit -- the communications package from Columbia University -- they list about 800 supported operating systems. Of those they claim that almost 700 are Unix-like.

Currently my personal favorite is Linux. I'm also fond of other forms of Unix, including the 386BSD family: FreeBSD, NetBSD, and OpenBSD.

The best link pages I've found for reading about operating systems:

Some sections on Yahoo! that cover this (and will hopefully have new and more up-to-date links than I'm likely to maintain):

There are some operating systems that are more obscure than others. For example KeyKOS uses a different security model than most of us are accustomed to. This is called a "capabilities system" (which I guess was first used in the Hydra operating system and to a lesser degree in Multics) To learn more about KeyKOS you might want to peruse its documentation.

The EROS Operating System is based on KeyKOS and is intended to be a "pure capabilities system." You can learn more about this by reading about Jonathan S. Shapiro's Seminar on Rehosted Operating Systems. This notion of "rehosted" operating systems also seems to have other aspects.

Lucent Technologies' Inferno (which apparently grew out of the research they did on Plan 9 when they were still Bell Labs) runs natively on 386 class systems and under several different operating systems including: Linux, Microsoft's NT, and Solaris.

The line between OS and "emulator" or "program" will get more blurred with JavaOS

GNUstep is another project in the gray area. It is an attempt to re-implement the features of the NeXTStep environment as a set of free libraries and program under the X Windows System. Since the original NeXTStep ran over a BSD 4.3 "personality" or "server" for the Mach microkernel, it to might be considered a "re-hosted" operating system. However the package included the microkernel and the server, so it was "complete" in any event. There is also "OpenStep" --- which is a commercial (closed source) version of the NeXTStep environment which runs over Sun's Solaris (and probably some other RISCy versions of Unix).

A list of random OS links:

Someone as suggested that my list is just not complete without references to a couple of the "mainstream underdogs" like BeOS and OS/2. So, there you go.

He also suggested that I supplement this with a discussion of computing platforms and architectures (or expand my commentary to indicate which platforms support each of these OS'. While that is an interesting thought, it is a harder problem than one might think. Any reasonable operating system can be ported to any reasonably powerful hardware platform. So the list of supported platforms changes quite a bit.

I link to the best sources I can find for each OS (the vendors or standards bodies that control them, wherever possible) and will be happy to list authoritative and interesting other sources as I find them (and think about it, and find the time).

In other words I let the "owners" and users of each OS speak for themselves.

Of course we can give "fair play" to the detractors of these operating systems. A good starting point might be: The Canonical Listing of Operating Systems that Suck