Review of Other Operating Systems
This page is under constant construction.
Please help me enrich it,
by sending annotations to existing pointers,
new pointers,
and the usual feedback.
Please tell me about any other interesting
pointer you know, that may relate somehow (anyhow) to the Tunes project...
Contents
This index favors original and research operating systems.
In each category, systems are listed in alphabetical order.
Of course, do not forget languages
that are another side of computing systems.
Original OS Projects
-
Aegis is
an OS based upon the idea of an "ExoKernel"
(much like the NoKernel idea behind Tunes:
there is no more runtime kernel in the OS,
which yields up to 10000% performance gain).
-
Papers about Andy Tanenbaum's
Amoeba
distributed OS
(new address
here ?),
and related
Orca
programming language,
to explore the implementation techniques for
distributed computing.
-
Sony CSL's
Apertos,
the Reflective OO OS
-
The BatOS
project of an OS written in BETA
from the Czech Republic.
- The Cache kernel
-
The Flux project
at university of Utah tries to build
an OS toolkit
where you could make your own OS from bricks.
-
The
Fox
project from CMU to write an OS using (an extension to)
the programming language SML.
-
Grasshopper,
the orthogonally persistent distributed OS from Australia
(mirror in UK)
-
L3 and L4
by Jochen Liedtke at GWD
are microkernels to demonstrate how optimizing performance
requires OS kernels to be completely hardware-dependent,
and even CPU-version dependent in a same family of CPUs.
-
Jecel's
Merlin
project of a SELF-based OS
(and here
a paper about it).
-
Off
is a distributed microkernel
that transparently migrates processes over the network
in a distributed shared memory model.
by Francisco J. Ballesteros & Luis L. Fernandez
at University Carlos III of Madrid.
C/Web literate programming sources available.
-
Plan9 OS, or what Unix should have been
(by AT&T from where Unix came).
It's a commercial OS, but freely available for academic use.
See its
FAQ.
It got everything right as for proposing a uniform
system interface
(the dynamic, per-process name->channel "filesystem" thing)
but is still wrong by using a low-level programming language
with coarse-grained system abstractions.
-
The PUMA
project from New Mexico.
- The SCOUT project.
-
SPIN
OS from University of Washington
- The Sprite
OS from UCB.
-
OGI's Synthetix
project of fine-grained incremental partial evaluation in OS kernels.
-
The irish Tigger
project is developing a framework for the construction of a family
of distributed object-support platforms.
-
Tunes,
the very project hosting this page,
encompasses an OS project, mind you,
even if it goes far beyond a mere conventional operating system.
Unix akins and likes
-
GNUStep
is a project to implement a free clone of NeXTStep
(a FAQ
here).
[Pointer update:
GNUStep.org,
and a european mirror]
-
The HURD is the OS from the
GNU project,
also built on top of Mach4
-
Linux
is a free POSIX.1 compliant UNIX(tm) implementation
written by Linus Torvalds and lots of people on the Internet.
-
Though it was originally developed for 32 bit intel PCs,
it now also runs on
Sparc,
680x0 (Atari and Amiga, not Mac yet),
MIPS,
PowerMacs,
64-bit Alpha,
and more (?)
with lots of other ports in progress,
including
PowerPC,
16-bit i8086
(ELKS) !
-
Here are some canonical Linux WWW pages:
linux.org (slow),
linux.org.uk (fast, but in UK),
helsinki.fi, or
sunsite.unc.edu.
-
Documentation can be found from the
The Linux Documentation Project (LDP),
an effort to produce a series of books/articles/manuals
to document Linux.
(the LDP page also has many links to other Linux related sites).
Linux Manual pages WWW access can be found
here.
Another page about linux
here.
-
If you seek help on Linux,
you should first check all the documentation above.
Also, individual packages have READMEs, FAQs,
and local documentation that you should check
(sometimes only available in the source distribution,
not in binary packages).
If you still don't succeed after carefully reading
the docs many times, you might ask for help
on one of the IRC networks:
LinPeople
(channel #Linpeople),
Undernet (channel #Linux),
EFnet (channel #Linux),
DALnet (channel #Linux),
Linuxnet (channel #Linux),
etc.
-
There are projects to get Linux up and running
over the Mach microkernel.
The MkLinux project succeeded in allowing to run
Linux on PowerMacs
(I only have this
very old page).
-
For those will little memory
Linux-lite
is a package that runs linux on as few as 2MB!
-
Finally, people who want to develop a graphics system
on their OS should definitely have a look at the
Linux project and standard to be,
GGI (the Generic Graphic Interface).
WWW pages:
at synergy,
Andy Beck's page,
Willie Daniel's page, and
Berlin's
- Linux is not just a fun OS,
it has applications in the so-called
"Real-World".
The USENIX conference now includes a very active
UseLinux dedicated forum,
and other computer conferences/meetings follow.
-
Mach
is a free microkernel upon which many unix clones are built.
-
The original
CMU Mach
project is now ended with Mach3,
but two different groups are working
on two divergent further versions of it:
- Mach4 is being developed
by the Flexmach project at University of Utah.
It serves as the continued basis for free microkernel-based OSes.
See the HURD above for the FSF's GNU OS kernel.
Another example of Mach-based OS is
LITES,
a 4.4BSD Lites based Mach server providing binary compatibility
with 4.4BSD,
FreeBSD,
NetBSD,
386BSD,
UX, and
Linux.
The
Flexmach project itself tries to implement
objects above Mach in C++ (yuck)
according to the related
OMOS
model and implementation over plain unix.
- The Open Software Foundation is officially developing
its version of (free) Mach, MK4,
for use by its members' (commercial) OSes.
See Chorus for a commercial rival of it.
-
NachOS
is an instructional
OS developped at Berkeley by Tom Anderson, Wayne Christofer,
Stephen Procter and others, that shows the principles
of the traditional unix-like model.
-
Sun's
Spring
System
-
Andy Valencia's
VSTa
fine Plan9-inspired but free open-developped
microkernel-based OS; its
mailing list archive and its
distribution
(also a french mirror
here).
Commercial OSes
-
The
FreeDOS
project for a free MS-DOS clone.
As the name says, it's not a commercial project,
but I put it here because its (sole) interest is to
emulate and replace a well-known commercial product.
- GEOS
(also here
and
there)
is some very fine OO OS for ix86 pcs of all classes
which multitasks even on 8088 computers !
- Apple's
Newton
Operating System.
- Tao OS
is the only OS that currently can distribute code on heterogeneous
underlying networks
(here their internet contact,
and an old
introduction
to Tao OS).
Was renamed Tao OS from TAOS because of legal problems.
- Chorus
(see its
FAQ)
is a commercial micro-kernel rival to Mach.
- QNX
is a an effective scalable POSIX-emulation-capable
message-passing-micro-kernel-based real-time distributable OS
that has proven successful in the embedded market
and/or on ix86 systems.
See their
QNX papers.
(I should check the following old links to see if they still exist:
here or
there ???)
- MachTen
is a commercial version of BSD4.3 using Mach on MacIntoshes.
-
TSX-32 is a 32-bit OS for PCs
with small memory requirements that can also emulate DOS
(and run Windows ?).
- The Taligent company
is the result of some counter-nature cross between Apple and IBM ;-)
it works on a brand new operating system,
the CommonPoint application system,
that attempts to change the basic programming paradigm,
and which has been released on top of AIX in summer '95
(expected on top of OS/2 in '96).
To know more about it, you can browse the first two chapters of
the book Inside Taligent Technology by
Sean Cotter
-
Has anyone got pointers about major brand X OSes, like
MS-DOS, MacOS, Windows (3.x, NT, '95), UNIX clones, OS/2, etc ?
It may be particularly interesting to have critical reviews of these
(besides their development being closed and people being taken
hostages).
I guess I could find some pointers on
Yahoo
and newsgroups
OS Related Pointers
- Indices about OSes and related subjects:
- Here are pointers to threads packages:
- Threads have a yucky standard:
the POSIX 1003.4a (now renamed 100x.y) pthreads package.
Here are some implementations:
- The Linux free OS is now supporting
pthreads in the kernel.
- Chris Provenzano has implemented
MIT pthreads implementation of
the POSIX.
His homepage also includes partial docs for the package.
Complete docs can only be ordered from the IEEE
- the Florida State University also
has its own FSU Pthreads library for Sparc and now ix86 architectures,
available by FTP
as part of the POSIX/ADA Run-Time (PART) project.
- Other, commercial OSes, do that too, of course,
but they won't fix bugs remotely as fast as
the Linux community can.
Complete official specs for pthreads can only be bought
directly from the ISO or through vendors
of commercial implementations;
but you can get free unofficial partial docs from other places.
- David Keppel's minimalistic
QuickThreads package
(a portable abstraction of just the machine-dependent parts
of a threads package, for many architectures),
and accompanying
tech report.
- Stephen Crane's
lwp ("light-weight processes") package.
- Elan Feingold's minimalist
ethreads package.
- Here are pointers to packages for distributed/parallel computing:
- Concert
by University of Illinois at Urbana-Champaign
is a parallel programming environment
using languages Concurrent Agregates or ICC++
(parallel extensions of OO Lisp and C++ respectively).
"Both are fine-grained object-oriented language based on
the actor model. These languages also support aggregates
(collections), multi-access abstractions, and allow both
data and task parallelism to be exploited seamlessly."
- Arjuna
from the University of Newcastle upon Tyne (England),
is allegedly THE programming system
for reliable distributed computing,
but is built as a set of C++ classes.
- OZ++ is also a freely available object package to allow
world-wide upgradable modular distributed computing.
- Chant: A Talking Threads Package.
It's a package that extends existing threads package
(well, pthreads) with inter-thread communication support,
even if threads run on distinct processes or computers.
That is, a very low-level package for parallel computing.
- Here are some research laboratories interested in
operating systems (send me more addresses):
- Here are some sources of inspiration for people developping
a 32-bit OS on PC's:
- Other OS projects you could join:
Of course, I'd encourage you to join
Tunes if you are looking for a deep rethinking of an OS,
VSTa if you like custom microkernel-based message passing,
GNU HURD if you like the new wave for computer tradition,
Linux if you like the old traditional unixish approach.
Also, GGI might interest those who like video tweaking.
But if none of these please you,
if you like doing things from almost scratch,
here are projects that might interest you (in alphabetical order):
- Hardware information
Efficiency-aware OS implementors must have some idea
of how the underlying hardware behaves.
Other OS-related pages
More netsurfing
The Tunes project that hosts this page
may interest you, or
this collection of
FTP addresses
And remember, the "OS" side is only one side of the medal.
Also look at the Language side.
To Do on this page
- Actually review these OSes, do not merely point to them. Gasp.
- Talk about the open development model, as used in Linux.
- Send a note to all the OS pages that do not cite us, as well as to Yahoo.
- Put DOS and clones under a new "CP/M class operating systems" section.
- Differentiate full OSes from OS-less kernels,
putting two entries when the kernel could be used without the OS,
even though only one OS currently exists over it.
- Add these
-
OI and
MLI
-
SPACE
- GLOBE
- Choices and
Pegasus,
as well as to all pages pointed in various OS indexes...
- bibliographic pointers from the OS FAQ:
Checkpointing,
cstr,
German Bib,
Arizonian Bib,
bibliographies,
UFS 93.
- Microware's OS-9
- GRUB and
SOLO:
generic boot loaders
- Solaris-MC
- HOPE
- Nectar IO
- Prefetching
- OS/2:
Hobbes,
FTP-OS/2
- refdbms
- Find out more about
STAPLE,
a persistent lazy-functional-language based project
(FTP).
- Be, inc.
- OS FTP pointers from the OS FAQ:
Clouds,
Cronus,
Guide,
Horus,
Isis
(also here),
X kernel.
- FTP sites with OS-related stuff: in
France,
England,
Taiwan.
- Proolix is yet another Unix clone project
for the old 8086 PCs, from former USSR.
(maybe they should merge with ELKS).
-
How to write a systems paper
(get a text version by sending body "send advice papers" to
info@usenix.org)
-
Rumor, a user-level version of Ficus, an optimistically
replicated file system (see
for
a summary of Ficus and for a
description of Rumor). Unfortunately, Rumor is not yet being
distributed.
- I don't know in what section to put this:
Floppy Drive Formats
- See the VINO project
Lan
- EROS Extremely Reliable OS
- PTS-DOS, a DOS clone from Russia.
- at AT&T, Mr Douglis' CCache paper (?)
- Brian Bershad or
Calton Pu
- Patrick Gunn's
os
- Doug Jensen:
dynamic real-time distributed computer systems
- Inferno networked OS
from Bell labs and its limbo language.
- comparison of FreeBSD and NetBSD
- OpenBSD
- some LinuxFAQ
- Brand X Commercial OSes:
- Free Cloning of Major Brand X Commercial OSes:
- Note that there also exist commercial clones,
among which the Sun WABI that runs 16-bit Windows apps (soon 32-bit)
on your X/Unix workstation. Exists for Linux.
- How reliable is your OS?
How good is its support?
How fast are dangerous bugs fixed?
Check the
ping o' death
page to see...
- A page about Multics
(with a mirror in UK)
- Warp Speed Software
Back to the
Review subproject.
Page Maintainer:
Faré
-- rideau@clipper.ens.fr