2018-01-29 22:36

Minix vs. Linux

Erinnert sich noch jemand an die Minix-vs-Linux Debatte?

Im Januar 1992, einige Monate nach der ersten Veröffentlichung von Linux, schrieb Andrew Tanenbaum, Informatikprofessor aus Amsterdam und Autor des Microkernel-basierten Betriebssystems Minix, einen Beitrag unter dem provokanten Titel Linux is obsolete in der Newsgroup comp.os.minix. Er kritisierte dabei den monolithischen Ansatz von Linux und bezeichnete das als einen Rückschritt in die 70er Jahre. Die Debatte zwischen monolithischen und Microkernel sei vorbei, und Microkernel hätten gewonnen.

Bis hierher hatte er im Prinzip sogar Recht. Allerdings wetterte er weiterhin gegen die angebliche mangelhafte Portabilität von Linux, das damals speziell für den Intel 80386 entwickelt worden war, und bezeichnete Minix als deutlich portabler, und das obwohl er es nur als ein Hobby zwischen seinen Buchprojekten betreibe.

In seiner Antwort kritisierte Linus Torvalds die mangelnde Offenheit von Minix, das damals nur als kommerzielle Software zu kaufen war, und die zahlreichen technischen Beschränkungen und Unzulänglichkeiten. Im Gegensatz dazu ist Linux ein echtes Hobbyprojekt. Zudem ist Linux portabler als Minix, in dem Sinne, das es sich eng am POSIX Standard anlehnt und die Portierung von UNIX-Software leichter nach Linux portiert werden kann.

Weitere bekannte Entwickler mischten sich ein, darunter Theodore T’so, der darauf verwies dass die Abhängigkeit von Linux zum 80386-Prozessor nicht so groß sei wie es auf den ersten Blick aussehe. Andere betonten, der größte Vorteil von Linux sei, dass es jetzt verfügbar sei und als Plattform für die Benutzung der GNU Software sehr wertvoll sei.

25 Jahre später ist Minix, obwohl es inzwischen freie Software ist und immer noch entwickelt wird, fast in Vergessenheit geraten. Da erfahren wir aus einem offenen Brief von Andrew Tanenbaum an einen Intel-Ingenieur, dass Minix das mittlerweile wohl am weitesten verbreitete Betriebssystem sein soll - es steckt nämlich in der Intel ME-11 Management Engine. Das ist ein Teil der fest in Intel Chipsets verbauten Betriebssysteme, die heute in jedem aktuellen Intel-PC neben dem eigentlichen PC-Betriebssystem laufen, spärlich dokumentiert sind, offiziell nicht abgeschaltet werden können und offenbar voller Sicherheitslücken sind.

Doch auch hier gibt es Bemühungen, Minix durch Linux zu ersetzen; genauer gesagt Teile von UEFI und der ME durch ein offenes Bootsystem auf Linux-Basis. Neben einem abgespeckten Linux-Kernel, der auf das nötigste reduziert wird und damit wenig Angriffsfläche bietet, kommt dabei das in Go geschriebene Linux-Userland U-Root zum Einsatz. Das Projekt wird derzeit hauptsächlich von Google und Facebook getragen. Eine Präsentation dazu gibt es hier.