Lably
Skip to content

Minix

Unix-like operating system

  • 6 min read
  • 4 chapters

Related on Lably

Through Operating system, Microkernel and Computer science

Its name comes from mini-Unix, and it has no relation to the older MINIX from Digital Systems House, Inc. based on AT&T Unix code. It was initially proprietary source-available, but was relicensed under the BSD 3-Clause to become free and open-source in 2000. MINIX was ported to various additional platforms in the 1990s, and version 2.0, released in 1997, was the first to be POSIX compliant. Starting with MINIX 3, released in 2005, the primary aim of development shifted from education to the creation of a highly reliable and self-healing microkernel OS.

Implementation

MINIX 1.0

Andrew S. Tanenbaum created MINIX at Vrije Universiteit in Amsterdam to exemplify the principles conveyed in his textbook Operating Systems: Design and Implementation by Prentice-Hall (1987), which also contained an abridged 12,010 lines of the C source code of the kernel, memory manager, and file system. Prentice-Hall also released the source code and executable binaries on floppy disk with a reference manual. MINIX 1 was system-call compatible with Seventh Edition Unix.

MINIX 1.4

Gary Mills and Sidney Thompson ported MINIX to Peripheral Technology PT68K-2 and PT68K-4 68000-based computers with a standard 8-bit IBM PC ISA bus that has 6 connectors on the main board, and it was adapted from the Atari one since it too is a 68000-based machine. It has added support for the PT XT-IDE card from Peripheral Technology, but it currently only supports the MDA display adapter (no CGA, EGA or VGA). For this reason, it has not yet been ported to the PT68K-5 (a.k.a. CDS68020). An SD Card image is available from https://github.com/mevenson/minix-for-the-PT68K-2-4.

MINIX 1.5

Released in 1991, included support for MicroChannel IBM PS/2 systems, and it was also ported to the 68000 and SPARC architectures, supporting the Atari ST, Amiga, Macintosh, and Sun SPARCstation computer platforms. There were also unofficial ports to Intel 386 PC compatibles (in 32-bit protected mode), National Semiconductor NS32532, ARM and Inmos transputer processors. Meiko Scientific used an early version of MINIX as the basis for the MeikOS operating system for its transputer-based Computing Surface parallel computers.

MINIX 2.0

Released in 1997, it was only available for the x86 and Solaris-hosted SPARC architectures and was distributed on a CD-ROM included in the second edition of Tanenbaum's textbook, cowritten with Albert S. Woodhull. It added compliance and support for 386 and later processors in 32-bit mode, and replaced the Amoeba network protocols included in MINIX 1.5 with a TCP/IP stack. A version of MINIX running as a user process under SunOS and Solaris was also available, a simulator named SMX (operating system) or just SMX for short.

Version 2.0.3 was released in May 2001, after MINIX had been relicensed under the BSD-3-Clause license, which was retroactively applied to all previous versions.

Minix-vmd

Minix-vmd is a variant of MINIX 2.0 for Intel IA-32-compatible processors, created by two Vrije Universiteit researchers, which adds virtual memory and support for the X Window System.

MINIX 3

MINIX 3 was publicly announced on 24 October 2005 by Tanenbaum during his keynote speech at the Association for Computing Machinery (ACM) Symposium on Operating Systems Principles (SOSP). Although it still serves as an example for the third edition of his textbook, coauthored by Albert S. Woodhull, it is comprehensively redesigned to be "usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability."

it currently supports IA-32 and ARM architecture systems and it is available in a live CD format that allows it to be used on a computer without installing it on the hard drive, and it is compatible with emulators such as Bochs, QEMU, VMware Workstation and Fusion, VirtualBox, and Microsoft Virtual PC.

Version 3.1.2 was released on 18 April 2006, after MINIX had been relicensed under the BSD-3-Clause license with a new fourth clause.

Version 3.1.5 was released on 5 November 2009, and it contains X11, emacs, vi, cc, gcc, perl, python, ash, bash, zsh, ftp, ssh, telnet, pine, and over 400 other common Unix utility programs. With the addition of X11, this version marks the transition away from a text-only system. In many cases it can automatically restart a crashed driver without affecting running processes. In this way, MINIX is self-healing and can be used in applications demanding high reliability. Since version 3.1.4, support for virtual memory management has been added, making it suitable for desktop OS use. Desktop applications such as Firefox and OpenOffice.org are not yet available for MINIX 3, however.

As of version 3.2.0, the userland was mostly replaced by that of NetBSD and support from pkgsrc became possible, increasing the available software applications that MINIX can use. Clang replaced the prior compiler (with GCC now having to be manually compiled), and GDB, the GNU Debugger, was ported.

MINIX 3.3.0, released in September 2014, brought ARM support.

MINIX 3.4.0RC, Release Candidates became available in January 2016. However, a stable release of MINIX 3.4.0 is yet to be announced, and MINIX development has been dormant since 2018.

MINIX 3 supports many programming languages, including C, C++, FORTRAN, Modula-2, Pascal, Perl, Python, and Tcl.

Over 50 people attended MINIXCon 2016, a conference to discuss the history and future of MINIX.

All Intel chipsets post-2015 are running MINIX 3 internally as the software component of the Intel Management Engine.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication