Minix (Betriebssystem)


Minix (Betriebssystem)
Minix
MINIX screenshot.png
MINIX 3.1.2a
Basisdaten
Entwickler Andrew S. Tanenbaum
Version 3.1.8
(4. Oktober 2010)
Abstammung \ Minix
Kernel Microkernel
Architekturen x86
Lizenz ähnlich BSD-Lizenz
Sonstiges Größe: 400 MB
Startmedium: Festplatte, Live-CD
Website www.minix3.org

Minix ist ein freies unixoides Betriebssystem, das von Andrew S. Tanenbaum an der Freien Universität Amsterdam als Lehrsystem entwickelt wurde. Der Quellcode des Minix-Kerns besteht aus etwa 12.500 Zeilen, hauptsächlich in der Programmiersprache C, und ist Teil von Tanenbaums Lehrbuch Operating Systems – Design and Implementation. Eine Motivation für Minix war unter anderem, dass der Quellcode von Unix nicht mehr für Lehrzwecke an Universitäten zur Verfügung stand.

Inhaltsverzeichnis

Geschichte

Das System wurde um 1987 zunächst auf auch für Studenten verfügbarer Hardware (PC mit Intel 8088 Prozessor, 512 kByte RAM, ein Diskettenlaufwerk) entwickelt, enthielt aber alle Systemaufrufe der Unix-Version 7. Es verwirklichte Mehrprogrammbetrieb, Prozesse (Tasks in Minix), Pipes, Signale und enthielt neben einem Mikrokernel Neuimplementierungen vieler Unix-Kommandos, einen Editor und einen C-Compiler. Aufgrund fehlender Hardware-Unterstützung war kein Speicherschutz und kein virtueller Speicher realisiert, auch die Netzwerkunterstützung fehlte zunächst.

Später wurde das System auf andere Prozessoren (Intel 80286 und 80386, Motorola-68000-Linie, Sun SPARC) portiert und erweitert.

Minix diente dem finnischen Informatik-Studenten Linus Torvalds als Entwicklungsumgebung für seinen Kernel Linux. Torvalds wollte zunächst die Fähigkeiten der neuen Intel 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.

Minix spielte nie eine wichtige Rolle unter den Betriebssystemen. Die Lizenzpolitik Andrew S. Tanenbaums, der seinen Quellcode zwar offenlegte, aber nicht zur Weiterverwendung oder Abänderung freigab, war restriktiv. Ein Lizenzwechsel zur BSD-Lizenz erfolgte erst im April 2000.

Design

Wesentlicher konzeptioneller Bestandteil ist der Mikrokernel-Ansatz, im Gegensatz zum Konzept des monolithischen Kernels. Auf der untersten Ebene befinden sich der Scheduler als Task und die Gerätetreiber-Tasks. Das Dateisystem und das Speichermanagement laufen als je ein Task in der mittleren Ebene. Auf der obersten Ebene laufen die Anwenderprogramme. Die Systemaufrufe sind über Mitteilungen an die Tasks der unteren Ebenen realisiert, ebenso kommunizieren die Systemtasks über Mitteilungen.

Streit um Linux und Minix

1992 griff Andrew S. Tanenbaum Linux wegen eines aus seiner Sicht veralteten Designs und eines zu liberalen Entwicklungsmodells an. Tanenbaum zeigte die Vorteile von Minix auf und kritisierte Linux scharf. Die entsprechenden Kritikpunkte von damals treffen auch teilweise heute noch auf Linux zu. Trotz der teilweise berechtigten Kritik übersah Tanenbaum aber die unterschiedlichen Beweggründe der beiden Systeme, welche viele der Kritikpunkte überflüssig machten.

Der Streit ist ausführlich im Artikel Geschichte von Linux im Kapitel „Linux is obsolete“ beschrieben.

Minix 3

2005 erschien eine neue Version, Minix 3. Dieses System ist im Gegensatz zu seinen Vorgängern nicht nur als Lehrsystem konzipiert. Es ist POSIX-kompatibel, enthält Netzwerkunterstützung und verwendet die geschützte Speicherverwaltung der neueren Intel-Prozessoren. Gerätetreiber laufen auf der obersten Ebene im Benutzermodus, wodurch dieses System besonders zuverlässig wird – bei Minix2 waren die Treiber noch auf der untersten Ebene. Alle Programme, die im privilegierten Kernelmodus laufen müssen, besitzen zusammen nur ca. 4000 Zeilen Quelltext. Das System ist seit April 2000 unter die modifizierte BSD-Lizenz gestellt und erlaubt den privaten wie kommerziellen Einsatz einschließlich eigener Erweiterungen. Minix 3 ist damit freie Software und GNU-GPL kompatibel.

Außer den Treiber-Prozessen gibt es die Server-Prozesse. Ein besonderer unter diesen ist der Reincarnation Server. Er „reinkarniert“ einen Gerätetreiber, d.h. startet eine neue Kopie davon, wenn dieser „gestorben“ ist. Ist der Gerätetreiber noch nicht beendet, reagiert aber nicht oder nicht richtig, so wird er vom Reincarnation Server beendet (kill) und anschließend ebenfalls neu gestartet. Das wird erst dadurch möglich, dass der Gerätetreiber ein normales User-Programm – und eben nicht ein Kernelmodul – ist.[1]

Auf PCs kann das System von CD gestartet (Live-CD) oder auf die Festplatte installiert werden. Wie bei den Vorgängerversionen werden über 100 Programme sowie der komplette Quelltext einschließlich C-Compiler mitgeliefert.

Minix-VMD

Minix-VMD ist eine erweiterte Version des Lehrbetriebssystems Minix. Im Gegensatz zum ursprünglichen Minix ist es weder ein Lehrsystem noch ein allgemeinbrauchbares Betriebssystem, sondern es wurde erstellt, um spezielle Aufgaben zu erfüllen.

Das 32-bit Minix wurde von den Programmierern Philip Homburg und Kees Bot um eine virtuelle Speicherverwaltung und das X11-System erweitert.

Der Name leitet sich von Minix-386vm – also ein Minix für i386-Rechner mit virtuellem Speicher – ab. Das D aus VMD steht wie in BSD für Distribution.

Maskottchen

Das Maskottchen von Minix ist ein Waschbär, da er laut Andrew Tanenbaum klein und schlau sei und Bugs (engl. für Käfer oder Programmfehler) frisst.[2]

Siehe auch

Literatur

Weblinks

Einzelnachweise

  1. Bericht über einen Vortrag von Andrew Tanenbaum auf der FrOSCon 2008 am 23. August 2008 in Sankt Augustin
  2. Linux-Magazin Online: Fosdem 2010: Andrew Tanenbaum setzt Verlässlichkeit vor Performanz

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Minix — hat im EDV Bereich folgende Bedeutungen: das Betriebssystem: siehe Minix (Betriebssystem) das Dateisystem: siehe Minix (Dateisystem) Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselben Wort bezeichne …   Deutsch Wikipedia

  • Minix (Dateisystem) — Das Minix file system ist das Dateisystem des Lehr Betriebssystems Minix. Geschichte Minix wird seit den 1980ern als Unix ähnliches Betriebssystem vollständig von Andrew S. Tanenbaum als Lehrsystem programmiert (die aktuelle Version ist Minix3… …   Deutsch Wikipedia

  • Linux (Betriebssystem) — Linux oder GNU/Linux Entwickler Diverse Version Keine offizielle Version …   Deutsch Wikipedia

  • Linux (Geschichte) — Das GNU Maskottchen Tux, das Linux Maskottchen Seit seiner ersten Veröffentlichung hat sich Linux, ein auf GNU basierendes Betriebssystem, sta …   Deutsch Wikipedia

  • Andrew Stuart Tanenbaum — Andrew S. Tanenbaum Andrew Stuart „Andy“ Tanenbaum (* 1944 in New York City) ist Professor für Informatik an der Freien Universität Amsterdam (Niederlande). Tanenbaum forscht in den Bereichen Compiler, Betriebssysteme …   Deutsch Wikipedia

  • Andrew Tanenbaum — Andrew S. Tanenbaum Andrew Stuart „Andy“ Tanenbaum (* 1944 in New York City) ist Professor für Informatik an der Freien Universität Amsterdam (Niederlande). Tanenbaum forscht in den Bereichen Compiler, Betriebssysteme …   Deutsch Wikipedia

  • Andy Tanenbaum — Andrew S. Tanenbaum Andrew Stuart „Andy“ Tanenbaum (* 1944 in New York City) ist Professor für Informatik an der Freien Universität Amsterdam (Niederlande). Tanenbaum forscht in den Bereichen Compiler, Betriebssysteme …   Deutsch Wikipedia

  • Benedict Torvalds — Linus Torvalds 2004 Linus Benedict Torvalds ( [ˈliːnɵs ˈtuːrvalds] ?/Info/IPA; * 28. Dezember 1969 in Helsinki, Finnland) ist ein finnischer Programmierer und Initiator des Kernels …   Deutsch Wikipedia

  • Linus Benedict Torvalds — Linus Torvalds 2004 Linus Benedict Torvalds ( [ˈliːnɵs ˈtuːrvalds] ?/Info/IPA; * 28. Dezember 1969 in Helsinki, Finnland) ist ein finnischer Programmierer und Initiator des Kernels …   Deutsch Wikipedia

  • Linus Benedikt Torvalds — Linus Torvalds 2004 Linus Benedict Torvalds ( [ˈliːnɵs ˈtuːrvalds] ?/Info/IPA; * 28. Dezember 1969 in Helsinki, Finnland) ist ein finnischer Programmierer und Initiator des Kernels …   Deutsch Wikipedia