Minix facts for kids
![]() |
|
![]() The MINIX 3.3.0 login prompt
|
|
Company / developer | Andrew S. Tanenbaum, et al. |
---|---|
Programmed in | C |
OS family | Unix-like |
Working state | Abandoned |
Source model | Open-source |
Initial release | 1987 |
Latest stable release | 3.3.0 / 16 September 2014 |
Latest unstable release | 3.4.0rc6 / 9 May 2017 |
Marketing target | Teaching (v1, v2) Embedded systems (v3) |
Available language(s) | English |
Package manager | N/A |
Supported platforms | IBM PC compatibles, 68000, SPARC, |
Kernel type | Microkernel |
Userland | BSD (NetBSD) |
License | 2005: BSD-3-Clause 2000: BSD-3-Clause 1995: Proprietary 1987: Proprietary |
MINIX (which stands for mini-Unix) is a special kind of operating system. An operating system is the main software that makes your computer work, like Windows or macOS. MINIX is similar to Unix, a very old and important operating system.
MINIX uses a unique design called a microkernel. This means its core parts are kept very small. This design helps make the system more reliable.
The first versions of MINIX were created by Andrew S. Tanenbaum. He made them to help students learn about how operating systems work. Later, with MINIX 3, the goal changed. Developers wanted to make a super reliable and "self-healing" system. This means it could fix itself if something went wrong.
MINIX was first released in 1987. Its full code was shared with universities for learning and research. Since 2000, it has been free and open-source software. This means anyone can use, study, and change its code.
Contents
How MINIX Was Built
MINIX 1.0: Learning the Basics
Andrew S. Tanenbaum created MINIX at Vrije Universiteit in Amsterdam. He made it to show the ideas from his textbook, Operating Systems: Design and Implementation. This book came out in 1987.
The book even included the code for MINIX 1.0. It had about 12,000 lines of C code for the main parts. These parts included the kernel (the core), the memory manager, and the file system.
MINIX 1 was designed to work with the IBM PC computers popular at the time.
MINIX 1.5: More Computers, More Power
MINIX 1.5 came out in 1991. This version could run on more types of computers. It supported IBM PS/2 systems. It was also changed to work on Motorola 68000 and SPARC computers.
This meant MINIX could run on machines like the Atari ST, Amiga, Macintosh, and SPARCstation. There were also other versions made for different processors.
MINIX 2.0: New Features and Focus

By 1997, MINIX 2.0 was released. It focused mainly on x86 computers. This version was part of the second edition of Tanenbaum's textbook. It came with a CD-ROM that had the MINIX software.
MINIX 2.0 added important features. It became POSIX compliant, which means it followed a set of rules for how operating systems should work. It also gained support for 32-bit processors. Plus, it got a TCP/IP stack, which allowed it to connect to networks and the internet.
A special version called Minix-vmd was also made. It added virtual memory and support for the X Window System. This allowed for graphical interfaces.
MINIX 3: Reliability and Modern Use

MINIX 3 was announced in 2005. While it still helped with Tanenbaum's textbook, its main goal changed. It was redesigned to be a serious system for small, embedded systems. These are computers built into other devices. It also aimed for very high reliability.
MINIX 3 can run on IA-32 (Intel) and ARM architecture systems. You can even try it without installing it. There's a live CD version, and it works with virtual machines like VirtualBox.
Version 3.1.5, released in 2009, was a big step. It added X11, which means it could now have a graphical interface, not just text. It also included many common Unix tools.
One cool feature of MINIX 3 is its "self-healing" ability. If a part of the system crashes, MINIX can often restart it automatically. This happens without stopping other programs. This makes it great for systems that need to run all the time without issues.
In version 3.2.0, much of MINIX's user programs were replaced with parts from NetBSD. This made it possible to use more software applications.
The last major release was MINIX 3.3.0 in 2014, which added ARM support. Development has slowed down since 2018.
MINIX supports many programming languages. These include C, C++, Python, and Perl.
Did you know? Many Intel computer chips made after 2015 actually run MINIX 3 inside them. It's part of the Intel Management Engine.
MINIX and Linux: A Connection
Early Influence on Linux
Linus Torvalds, who created Linux, used and liked MINIX. However, his design for Linux was different. Linux uses a monolithic kernel, which is a single, large piece of software. MINIX uses a microkernel, which is much smaller.
This difference led to a famous discussion between Tanenbaum and Torvalds. Tanenbaum believed microkernels were better.
Early versions of the Linux kernel were actually developed on a MINIX system. Because of this, Linux borrowed some ideas from MINIX, like its MINIX file system. Over time, as Linux grew, the MINIX code was removed.
False Claims About Copying Code
In 2004, a book claimed that parts of Linux were copied from MINIX. These claims were quickly proven wrong. Tanenbaum himself strongly disagreed with these accusations.
Why the License Changed
When MINIX was first made, its license was quite open for its time. It cost a small fee, which was included with Tanenbaum's book. He wanted students to easily get the code. However, the publisher wanted to prevent free copying.
Later, other free operating systems like Linux became popular. Many developers started working on those instead of MINIX. In April 2000, MINIX became truly free and open-source software. This meant anyone could use, share, and change it without paying.
Even with the new license, other operating systems had become more advanced. MINIX mostly remained an operating system for students and people who enjoyed tinkering with computers. In 2005, its license was updated again with a small change.
See also
- MINIX file system
- Redox, an operating system written in Rust with a MINIX-like kernel
- Xinu
- xv6