Developer | Andrew S. Tanenbaum |
---|---|
Written in | C |
OS family | Unix-like |
Working state | Current |
Source model | Open source |
Latest release | 3.3.0 (16 September 2014 | )
Platforms | i386 (IA-32) architecture, ARM architecture |
Kernel type | Microkernel |
Default user interface | ash |
License | BSD license |
Official website | www |
MINIX 3 is a project to create a small, highly reliable, and functional Unix-like operating system. It is published under a BSD license and is a successor project to the earlier MINIX 1 and MINIX 2 operating systems.
The main goal of the project is for the system to be fault-tolerant by detecting and repairing its own faults on the fly, without user intervention. The main uses of the operating system are envisaged to be embedded systems and education.
MINIX 3 currently supports IA-32 and ARM architecture systems. It is also possible to run MINIX under emulators or virtual machines, such as Bochs,VMware Workstation,Microsoft Virtual PC, Oracle VirtualBox, and QEMU. Ports to the ARM and PowerPC architectures are in development.
The distribution comes on a live CD and also can be downloaded as a USB stick image. The latest release is "3.4.0rc2-373b793.iso.bz2" (28 January 2016)[3].
Reflecting on the nature of monolithic kernel based systems, where a driver (which has, according to MINIX creator Tanenbaum, approximately 3–7 times as many bugs as a usual program) can bring down the whole system, MINIX 3 aims to create an operating system that is a "reliable, self-healing, multiserver UNIX clone".
In order to achieve that, the code running in kernel must be minimal, with the file server, process server, and each device driver running as separate user-mode processes. Each driver is carefully monitored by a part of the system known as the reincarnation server. If a driver fails to respond to pings from the reincarnation server, it is shut down and replaced by a fresh copy of the driver.