We are still actively working on the spam issue.
MINIX 3 is a small free UNIX clone designed for very high reliability. It is especially well-suited for low-end PCs, resource-constrained systems, and embedded applications. It is free and open-source, which makes it well-suited to classroom or self-study by those wishing to learn the inner machinations of operating systems.
History and Origin
For Whom the Bell Labs Toll
Way back when the fine folks over at Bell Labs released version 6 of Research UNIX, computer scientists and scholars the world over intensely studied the source code of the system. Books were written describing it, classes were held teaching about it, and a jolly good time was had by all. Students got to fiddle with the innards of a real and relatively simple operating system. With the next iteration, however, the Bell Telephone Company had officially broken the shackles of their monopoly status and decided UNIX could be a valuable commodity. The UNIX source code was promptly put under a "no teaching" clause and the gravy train was brought to an abrupt, grinding halt. Buzzes were killed. Good times turned bad. Students resumed learning about operating systems in terms of vague theory only.
Big Pappa Andy "Sexfiend" Tanenbaum wasn't having that and exclaimed "Fuck these corporate whores and their hatred of all things scholastic. I'll do it myself!" and wrote the first version of MINIX (MIni uNIX) from scratch, completely free of any proprietary UNIX code. He released a book titled Operating Systems: Design and Implementation which not only taught the internal workings of a UNIX-like OS, but contained a complete printed listing MINIX's source code in the book to do so. The OS was designed to run on cheap(ish) microcomputers that the typical college student of the day could likely have access to, such as the IBM 5150 and the other PC compatibles.
The victory would prove bittersweet, however, as MINIX's code at the time was not completely free to modify or redistribute.
MINIX vs. The World
As MINIX's popularity grew in the academic world, so did the desire of programmers around the world to extend it's capability to that of a fully-fledged and production-level OS. Tanenbaum successfully resisted the desire to turn MINIX into a big project at the time, citing his intention for it to remain small and simple enough to teach in classrooms, much to the chagrin of the hacker community at large. A certain Finnish university student named Linus Torvalds was one of them. Dissatisfied with MINIX's limited capabilities, he set out to create his own 32-bit operating system. Although he did not directly copy the source code, he did develop his system on a MINIX host and used the inner workings as a strong influence and model, even directly inheriting the MINIX filesystem. He would later announce his modest little project on the Usenet group
comp.os.minix, taking suggestions for improvement and code from those who were interested. The rest is history.
Released in 1991, this update to MINIX added support for MicroChannel IBM PS/2 systems and was also ported to the Motorola 68000 and SPARC architectures, supporting the Atari ST, Commodore Amiga, Apple Macintosh and Sun SPARCstation systems.
The years wore on and MINIX did eventually expand as the computing world changed. An updated version of Operating Systems: Design and Implementation was released alongside MINIX 2.0 in 1997 for the x86 and SPARC architectures. Also added to the system were POSIX.1 compliance, support for 386 and later processors in 32-bit mode, and replacement of the Amoeba network protocols included in MINIX 1.5 with a TCP/IP stack.
After becoming increasingly concerned with software modularity and the notion that MINIX may have become too bloated and complicated, Tanenbaum decided a complete re-writing was in order and gave rise to something completely different from the previous two incarnations. OSDI's third edition was released in 2006 along with a brand-spankin' new MINIX 3: reborn and repurposed to be a variable juggernaut that can chug through bugs and repair itself via reincarnation servers running in user-space.
MINIX's current version stands at 3.2.1 (released February 22, 2013). The primary goals of the project are to provide an extremely stable and reliable OS for embedded systems along with it's original purpose for teaching OS mechanics. The current development efforts focus primarily on porting over NetBSD userland utilities and applications while expanding capabilities on embedded-oriented architectures like ARM.