Minix (proper spelling MINIX ) is a free unixoides operating system that was developed by Andrew S. Tanenbaum at the Free University of Amsterdam as a teaching system. The source code of Minix kernel consists of about 10,000 lines, mainly in the C programming language, and is part of Tanenbaum textbook Operating Systems - Design and Implementation. One motivation for Minix was, among other things, that the source code of UNIX was no longer for educational purposes at universities.
The system was first developed around 1987 also for students of available hardware (PC with Intel 8088 processor, 512 kilobytes of RAM, a floppy disk drive ), but contained all the system calls the Unix version 7 It realized multi-tasking processes (tasks in Minix ) Pipes, signals, and contained, in addition to a micro- kernel re-implementations of many Unix commands, an editor and a C compiler. Due to lack of hardware support no memory protection and virtual memory was not realized, and the network support was lacking at first.
Later, the system was applied to other processors (Intel 80286 and 80386, Motorola 68000 line, Sun SPARC) ported and expanded.
Minix served the Finnish computer science student Linus Torvalds as the development environment for its kernel Linux. Torvalds initially wanted to try out the capabilities of the new Intel 80386 processor line (multi-tasking, paging ), but then developed a fully functional kernel virtual memory and memory protection mechanisms. The commands and the C compiler have been replaced by GNU versions.
Minix never played an important role among the operating systems. The license Andrew S. Tanenbaum policy which, although open to put his source code, but not released for reuse or modification was restrictive. A license change to BSD license was only in April 2000.
An important conceptual component is the micro- kernel approach, in contrast to the concept of the monolithic kernel. At the lowest level are the scheduler as a task and the device driver tasks. The file system and memory management run as per a task in the middle tier. At the top level through the user programs. The system calls are implemented via messages to the tasks of the lower levels, as well as communicate the system tasks via messages.
Dispute about Linux and Minix
1992 attacked Andrew S. Tanenbaum on Linux because of an outdated view from his designs and to a liberal model of development. Tanenbaum pointed to the advantages of Minix and Linux criticized sharply. The corresponding points of criticism of then also take still partly running on Linux. Despite the partly justified criticism Tanenbaum overlooked but the various motivations of the two systems, which made many of the criticisms redundant. In his books Tanenbaum Linux and other open source operating systems treated only very briefly.
2005 appeared a new version Minix 3 This system is designed, in contrast to his predecessors, not only as a teaching system. It is POSIX compliant, includes network support and uses the protected memory management of the newer Intel processors. Device drivers run at the top level in user mode, so this system is very reliable - in Minix 2 drivers were still at the lowest level. All programs that need to run in privileged kernel mode, together have only about 4000 lines of code. The system is protected with a modified BSD license since April 2000 and allows private and commercial uses including own extensions. Minix 3 is thus free software, and compatible with the GNU General Public License.
Furthermore, there are server processes. One particular of these is the reincarnation server. He starts a new copy of a device driver, if this "died" is. If the device driver does not yet finished, but not responding correctly or not, he is the reincarnation server terminated ( kill) and then also restarted. This is only possible because the device driver a normal program in user mode - and not a kernel module - is.
On PCs, the system can be started from the CD to be installed on the hard disk ( Live CD ) or. As with previous versions, over 100 programs and the complete source code, including C compiler are included.
Minix - VMD
Minix - VMD is an enhanced version of the teaching operating system Minix 2 Unlike the original Minix it is neither a teaching system nor a generally usable operating system, but it was created to fulfill specific tasks.
The 32 -bit Minix was extended by programmers Philip Homburg and Kees Bot is a virtual memory management and the X11 system.
The name is derived from Minix 386vm - ie a Minix for i386 machine with virtual memory - from. The D of VMD stands in BSD for distribution.
The mascot of Minix is a raccoon, because it was small and smart, according to Andrew Tanenbaum and "bugs" eat (English for both beetles and bugs ). A name was not awarded.