More about MINIX 3
MINIX 3 is an open-source operating system that can be used as a base for research projects but also for commercial (embedded) systems where microkernel systems dominate the market. Much of the focus on the project is on achieving high reliability through fault tolerance and self-healing techniques.
MINIX is based on a small (about 10K lines of code) microkernel that runs in kernel mode. The rest of the operating system runs as a collection of server processes, each one protected by the hardware MMU. These processes include the virtual file system, one or more actual file systems, the memory manager, the process manager, the reincarnation server, and the device drivers, each one running as a separate user-mode process.
One consequence of this design is that failures of the system due to bugs or attacks are isolated. For example, a failure or takeover of the audio driver due to a bug or exploit can lead to strange sounds but cannot lead to a full takeover of the operating system. Similarly, crashes of a system component can in many cases be automatically and transparently recovered without human intervention. Few, if any, other operating systems are as self-healing as MINIX 3.
Many questions from people new to MINIX 3 are answered in the FAQ. One question that is very frequently asked is about the logo, the raccoon. It was chosen because raccoons are small, agile, clever, friendly, and eat bugs.
Source Code and Licensing
For many companies and individuals two key questions about any piece of software are availability of the source code and the license. MINIX 3 is open source. The entire source code is available for anyone to use and modify as they see fit, for academic, personal, or commercial purposes. In particular, companies may use MINIX 3 in whole or in part in products. Furthermore, it is completely free of charge. Support is available for a fee. Companies should contact us at firstname.lastname@example.org for pricing.
MINIX 3 is available for free under a BSD-type license, which may be attractive to companies since it does not require them to publish changes they make to the system as the GPL does (e.g., for Linux).
History of MINIX 3
MINIX has a long history. It goes back to 1987 when the first edition of the book Operating Systems: Design and Implementation by Andrew S. Tanenbaum was published. The first version of MINIX was intended for teaching and it became very popular very quickly. One of the early users was a Finnish student, Linus Torvalds, who learned all about operating systems from reading the book and modifying the system. Eventually he went on to write his own operating system, Linux. In 2004, a man named Ken Brown accused Torvalds of copying MINIX verbatim, but that was quickly refuted in a statement published 20 May 2004 by Andrew Tanenbaum.
A second edition of MINIX (and a second edition of the book, coauthored by Albert S. Woodhull) was released in 1997. This version was greatly improved from the first version but was still aimed at teaching operating systems to a large extent.
It was only with the third version, MINIX 3, and the third edition of the book, published in 2006, that the emphasis changed from teaching to a serious research and production system, especially for embedded systems. A few of the many differences between MINIX 2 and MINIX 3 are given here.
Going forward, we are making a serious effort to turn MINIX 3 into an industrial-grade system with a focus on the embedded market, especially for those applications that need high reliability and availability.