It was thus said that the Great Terry Collins once stated:
Sean 'Captain Napalm' Conner wrote:
just how much has been lost to time in the
onslaught of Microsoft and Unix
(the two worst things to happen to the industry but some might argue about
the Unix bit 8-)
At the risk of pandering to a troll, what were/are the alternatives?
VMS is a very nice system but gets slagged by Unix weenies. Okay, so it's
a bit verbose in the command line, but it is very consistent and the
security model is much much better than the ``ROOT IS GOD'' mentality of
Unix. It also clusters much better than Unix.
QNX is a very cool operating system, which unfortunately (from my
perspective) runs only on the Intel platform. It's a true microkernel and
unlike Mach (which is about the only microkernel that is widely known) it
actually runs fast! And it has an incredible network filesystem/message
passing paradigm that blows Unix out of the water (imagine being able to run
a program on one computer, pipe the output to a program on a second computer
and send that to a printer on a third computer---all from the command line
ala Unix?).
Plan-9 seems interesting in that it's more Unix than Unix ever was
(Unix: everything is a file, well, except for network connections,
semaphores and shared memory. Plan-9: everything is a file. Everything).
As far as single user OSes go, OS/2 is very nice and rock solid. AmigaOS
(pick your version) is also very good, and a very clean microkernel design
(even the kernel is treated as a shared library, and device drivers are
nothing more than shared libraries. Heck, they stopped just shy of making
applications shared libraries, but really, there isn't anything really
stopping one from doing that under AmigaOS).
Unix - well fragmentation is the only thing I can
think of, which is
being mirrored in Linux these days.
There is a lot wrong with Unix, fragmentation aside. Interprocess
communication is practically non-existent (pipes? Fine between two
processes, but horrible if you want multiple processes to talk to a single
process. Messages? Not supported on all Unix platforms, and for systems
that do support it, can leak resources if the program crashes and has a high
creation overhead. Shared memory? Same problems as messages. Signals?
Heh. Yea, right). Threads? Okay, there's the abortion known as pthreads,
but half the time it's userland threads, not true threads. And the API is
just horrible (and still no decent semaphore support!) Only Linux got
threading right as it's more Unix than pthreads is.
And I won't even get into the problems with NFS, file locking, removable
media and removable peripherals (like modems and printers).
-spc (Sadly, worse is better)