return to home page of -
        Starshine Technical Services :
        Sysadmin Support and Training

Jim: Some Comments on 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 (tm) or some microkernel OS with a set of Unix API's and "personalities."

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.

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 only web reference I could find to the Hydra OS was in this Comparison of MK++ with other OO Systems.

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.

Mr. Shapiro e-mailed me to note that this project is still active (though I hadn't seen any changed to the web site in some time -- and have never seen any activity on the announce list to which I had subscribed).

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

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

There's a Forth Operating System Project, check out its background. Forth is a very compact threaded programming language which is often used in embedded applications. Sun's FCODE OpenBoot (firmware) is a bytecompiled or p-Code variant of Forth.

Xinu - Xinu is not Unix but it is an OS. This is an academic tool for learning OS concepts, like minix. Learn more by reading the PC Xinu FAQ. There was a company called Mt Xinu (Unix backwards) that doesn't seem to be related to this OS. They sold an early commercial version of BSD Unix.

A fairly long list of more operating systems has been moved into our resources area.