Minix (operating system)

from Wikipedia, the free encyclopedia
Minix
logo
Screenshot
Minix 3 after launch
developer Andrew S. Tanenbaum
License (s) similar to BSD license
First publ. 1987
Current  version 3.3.0 (September 14, 2014)
Kernel Microkernel
ancestry Unix
↳ Minix
compatibility POSIX
Others Size: approx. 350 MiB.
Start medium: hard disk , live CD
minix3.org

Minix ( proper spelling MINIX ) is a free Unixoid operating system that was developed as a teaching system by Andrew S. Tanenbaum at the Free University of Amsterdam . The source code of the Minix kernel consists of around 12,000 lines, mainly in the C programming language , and is part of Tanenbaum's textbook Operating Systems - Design and Implementation . One of the reasons for Minix was that, with the release of Version 7, AT&T decided that the Unix source code was no longer available for teaching purposes at universities . As Tanenbaum said in a 2017 interview, this was one of the stupidest mistakes in industrial history, given the technological development that Minix initiated - including the development of Linux (used much later in Android , i.e. in AT & T's very own territory) .

history

The system was developed around 1987 on hardware that was also available for students ( PC with Intel 8088 processor, 512 kilobyte RAM , a floppy disk drive ), but contained all the system calls of Unix version 7. It implemented multi-program operation , processes (tasks in Minix), pipes , Signals and, in addition to a microkernel, contained new implementations of many Unix commands , a text editor and a C compiler. Due to a lack of hardware support, no memory protection and no virtual memory was implemented, and network support was also initially missing.

Tanenbaum initially got Minix to work on a PC simulator, but it crashed regularly when he tried to get it to work on Intel chips. Tanenbaum was about to give up when a student made him aware of an undocumented interrupt of the Intel chips, which was activated if the chips got hot.

The system was later ported to other processors ( Intel 80286 and 80386 , Motorola 68000 line, Sun SPARC ) and expanded.

Minix served the Finnish computer science student Linus Torvalds as the development environment for his Linux kernel . Torvalds initially wanted to try out the capabilities of the new Intel 80386 processor line ( multitasking , paging ), but then developed a fully functional kernel with 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. Andrew S. Tanenbaum's licensing policy, who disclosed his source code but did not release it for further use or modification, was restrictive. A license change to the BSD license did not take place until April 2000. After that, it was only necessary that the original copyright text be implemented, not to reveal the code to competitors. Tanenbaum knew that Intel was interested in Minix because they contacted him and even asked for changes to the code, but for a long time he did not find out about the technical implementation.

In August 2017, research by security researchers revealed that the Intel Management Engine uses Minix as the operating system. Tanenbaum hadn't known anything about it either. Because it is built into the Intel chips, Minix is ​​one of the most popular operating systems.

design

The main conceptual component is the microkernel approach, in contrast to the concept of the monolithic kernel . The scheduler as a task and the device driver tasks are located on the lowest level . The file system and memory management each run as a task in the middle level. The user programs run on the top level. The system calls are implemented via messages to the tasks of the lower levels, and the system tasks also communicate via messages.

Dispute over Linux and Minix

In 1992 Andrew S. Tanenbaum attacked Linux because of what he saw as an outdated design and an overly liberal development model. Tanenbaum showed the advantages of Minix and sharply criticized Linux. The corresponding points of criticism from back then still partly apply to Linux today. The criticism is only partially justified, however, since Tanenbaum overlooked the different motivations of the two systems, which make many of the points of criticism invalid.

Minix VMD

Minix-VMD is an enhanced version of the Minix 2 teaching operating system. In contrast to the original Minix, it is neither a teaching system nor a general-purpose operating system, but was created to perform specific tasks.

The 32-bit minix was expanded by the programmers Philip Homburg and Kees Bot to include virtual memory management and a graphical user interface with the X11 system.

The name is derived from Minix-386vm - a Minix for i386 computers with virtual memory. As in BSD, the D from VMD stands for distribution.

Minix 3

Graphical user interface ( X11 with twm ) under Minix 3

In 2005 a new version, Minix 3, was released. In contrast to its predecessors, this system is not just designed as a teaching system. It is POSIX compatible, includes network support and uses the protected memory management of the newer Intel processors.

Device drivers run at the top level in user mode, which makes this system particularly reliable - with Minix 2, the drivers still run at the lowest level. All programs that have to run in privileged kernel mode have a total of only approx. 4000 lines of source code. There are also server processes. A special one of these is the reincarnation server , which ensures the functionality of the device drivers. So it starts a new copy of a device driver if it has "died". If the device driver has not yet ended, but does not react or does not react correctly, the Reincarnation Server will kill it and then restart it. This is only possible because the device driver is a normal program in user mode and not a kernel module .

On PCs, the system can be started from CD ( Live CD ) or installed on the hard drive. As with the previous versions, over 100 programs and the complete source code including the C compiler are included.

The system has been protected with a modified BSD license since April 2000 and allows private and commercial use, including its own extensions. Minix 3 is therefore free software and compatible with the GNU General Public License .

mascot

The mascot of Minix is a raccoon because it was small and smart according to Andrew Tanenbaum and "bugs" eat ( Engl. For both beetles and bugs ). A name was not given.

See also

literature

  • Andrew S. Tanenbaum: Operating Systems - Design and Implementation . 3. Edition. Prentice Hall , Upper Saddle River 2006, ISBN 0-13-142938-8 .
  • Arnold Willemer : A network implementation under the MINIX operating system for the Atari ST . 1990.

Web links

Individual evidence

  1. MINIX 3 website. Accessed August 24, 2019 .
  2. a b c More about MINIX 3. Accessed December 28, 2014 (English).
  3. Tanenbaum, interview with IEEE Computer, quoted in Stephen J. Vaughan-Nichols, MINIX's creator would have liked to have known Intel was using it , zdnet, November 8, 2017
  4. a b Stephen J. Vaughan-Nichols: MINIX's creator would have liked to have known Intel was using it , zdnet, November 8, 2017
  5. Christof Windeck: Intel Management Engine (ME) can be largely switched off . In: Heise open online . August 29, 2017. Retrieved August 29, 2017.
  6. Disabling Intel ME 11 via undocumented mode. Retrieved August 29, 2017 .
  7. Reliability in MINIX 3. Accessed December 28, 2014 .
  8. Keywan Najafi Tonekaboni: Andrew Tanenbaum's Minix 3 . In: Heise open . August 25, 2008. Retrieved June 8, 2012.
  9. Anika Kehrer: Fosdem 2010: Andrew Tanenbaum puts reliability before performance . In: Linux Magazine Online . February 7, 2010. Retrieved June 8, 2012.