hello friends! new(ish)!
MINIX
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 as a fully-fledged OS. Tanenbaum successfully resisted the desire to turn MINIX into a big project at the time, citing his intention for it to be 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 MINIX and use the inner workings as a strong influence and model. 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.
Evolution
MINIX 2
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.
MINIX 3
After becoming more and more 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 interations. 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.
Current State
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.