Minix ist ein Unix-ähnliches Betriebssystem, das von Andrew Tanenbaum als Lehrsystem entwickelt wurde. Der Quellcode von Minix - etwa 12000 Zeilen hauptsächlich in der Programmiersprache C - ist Teil von Tanenbaums Lehrbuch Operating Systems - Design and Implementation. Motivation Tanenbaums war unter anderem, daß der Quellcode von Unix nicht mehr für Lehrzwecke an Universitäten zur Verfügung stand.
Das System wurde zunächst für um 1990 auch für Studenten verfügbare Hardware (PC mit Intel 8088 Prozessor, 512 kByte Ram, ein Diskettenlaufwerk) entwickelt, enthielt aber alle Systemrufe der Unix-Version 7. Es verwirklicht Mehrprogrammbetrieb, Prozesse (Tasks in Minix), Pipes, Signale und enthält neben einem Mikrokernel Neuimplementationen vieler Unix-Kommandos, einen Editor und einen C-Compiler. Aufgrund fehlender Hardware-Unterstützung ist kein Speicherschutz und kein virtueller Speicher realisiert, auch die Netzwerkunterstützung fehlt zunächst.
Später wurde das System auf andere Prozessoren (Intel 80286, 80386, Motorola 68000-Linie, Sun SPARC) portiert und erweitert.
Interessant ist der Mikrokernel (Unix hat einen monolithischen Kernel). Auf der untersten Ebene befinden sich der Scheduler als Task und die Gerätetreiber-Tasks. Das Dateisystem und das Speichermanagement laufen als je eine Task in der mittleren Ebene. Auf der obersten Ebene laufen die Anwenderprogramme. Die Systemrufe sind über Mitteilungen an die Tasks der unteren Ebenen realisiert, ebenso kommunizieren die Systemtasks über Mitteilungen.
Minix diente dem finnischen Informatik-Studenten Linus Torvalds als Grundlage für seinen Betriebssystem-Kernel namens Linux. Torvalds wollte zunächst die Fähigkeiten der neuen 80386-Prozessorlinie (Multitasking, Paging) ausprobieren, entwickelte aber dann einen voll funktionsfähigen Kernel mit virtuellem Speicher und Speicherschutzmechanismen. Die Kommandos und der C-Compiler wurden durch GNU-Versionen ersetzt.
Literatur
- Andrew S. Tanenbaum, Albert S. Woodhull: Operating Systems: Design and Implementation (2nd Edition), Prentice-Hall, ISBN: 0136386776