The End Of Minix?
Otter writes "Minix is best known as the Unix clone for x86 that inspired Linus Torvalds to write one himself. It's pretty much dropped off the map since. The latest patch for XFree86's xterm drops support for Minix. As the changelog notes, 'Juliusz Chroboczek noted it was removed from XFree86 server; there have been no users since 1996.'"
Minix is a toy. But that's not a bad thing, and people are still playing with it.
Minix was written to give some "real-life" examples for a textbook on operating system design. The guy who wrote it wanted to keep it simple, so that it would be easier to understand.
Back when there wasn't a free *NIX, some people hacked on Minix to turn it into less of a toy and more of a real operating system. The biggest obstacle was licensing issues: Minix is owned by a book publisher, and you needed to deal with them if you wanted to do anything with Minix. If you just wanted to be legal to use Minix you could buy a copy of the book, but anything else (trying to distribute on CD-ROM for example) was pretty much impossible.
If Minix had been released under GPL, Linus might have simply written patches for it, rather than ginning up his own project. Linux would have likely never happened, and I would be using Minix to type this rather than Linux. This is nice history lesson about the importance of software licensing.
Anyway, between the *BSD family and Linux, we have plenty of *NIX operating systems to use; we don't need one more that is stuck back at the toy level and has a messy license. So people are not working on Minix to make it less toy-like anymore.
Because Minix is a toy, you can read the book and dive right in to the Minix code base. You can hack around with it and have a good time. As long as people still read the book, Minix will be a useful toy.
The efforts to grow Minix beyond its toy status are dead. Minix itself remains educational and fun.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
The big problem with Minix wasn't technical, but political; any changes that were made to it couldn't be released except as patches (i.e., you couldn't change it and still call it Minix). Linus bitched once that Minix was only usable with a set of patches by a developer other than AST.
So the real influence of Minix on Linux was in the GPL. Linus was certain that he wanted to release his code under a license which encouraged change, because of his experiences with Minix. And in fact, it is the GPL which distinguishes Linux from other x86 Unices such as the BSDs, much more than anything technical.
Why do many TERMCAP databases contain vt100 definitions even though most people use a windowing system of some type? Why is the term tty used to describe your login session/device on many UNIX OS's when teletypes went out of fashion years ago? Why do we still refer to the act of the cursor returning to the beginning of a line as a carriage return?
Most likely the answer is cultural inertia. People are loathe to change things that either work just fine the way they are or simply show no pressing need to change them.
Karma: Frotzed (mostly due to the Frobozz Magic Karma Company)
WindowsNT uses the microkernel design
Er, no. It started off as microkernel, but things keep getting but into kernel space for performance reasons: thusly.
If history had changed and Minix took off instead of Linux, would we be better off today with the superiority of a microkernel design?
Hehe.
In conclusion: microkernels may or may not be theoretically `better', may or may not perform better, but they are fuckloads more work to do right.
I entirely agree; Minix was never much for Xfree. Visit Andrew T's FAQ:
"Is MINIX dead?
Oh no. Far from it. It is simply focused on the target area it was always focused on: education. The excursion into hackerland was a detour. A co-author, Al Woodhull, and I have rewritten the MINIX book based on the new, POSIX-compliant, version of MINIX which Kees Bot produced. It is still be aimed at having students be able to learn the principles of operating systems and most of a real system in one semester. "
eh?
QNX is an industry-proven, source-available-proprietary, hard-realtime OS. It's certainly a "serious operating system".
BeOS wasn't a microkernel in the first place.
MacOSX is not a microkernel, despite having Mach (bleurgh) code in it - device drivers are not shielded from eachother as in a true microkernel like QNX.
The Hurd is a collection of interacting processes intended to be based upon a microkernel. Mach-Hurd does indeed suck royally. L4-Hurd should not.
Since Minix has been put under the BSD license since April 2000, I wonder why nobody has made an effort yet to port it to embedded systems (PalmOS PDAs with Dragonball CPUs, for example, should be an ideal target). Minix should be much better suited for many embedded applications than the much more complex Linux kernel.
gopher://cramer.plaintext.cc http://cramer.plaintext.cc:70