Tanenbaum heeft Minix ooit geschreven als voorbeeld bij zijn boek Operating Systems: Design and Implementation. Toen was het besturingssysteem vooral bedoeld als lesmateriaal. De tweede versie had dat ook nog als doel, maar de huidige versie, Minix 3, is daarnaast bedoeld om ingezet te worden in embedded systemen en voor applicaties die in hoge mate betrouwbaar moeten zijn.

Minix en Linux

Begin jaren 90 was Minix de inspiratiebron voor Linus Torvalds voor Linux. Toch heeft Linux een heel andere architectuur dan Minix. Torvalds koos voor de monolitische kernel, terwijl Tanenbaum inzet op de microkernel. De discussie over welke aanpak de beste is gaat nog altijd verder.

Met de 2,5 miljoen euro uit Europa kan Tanenbaum drie onderzoekers en twee programmeurs inhuren. Het werk dat die de komende vijf jaar gaan verzetten moet ervoor zorgen dat het systeem zichzelf zal kunnen repareren als er in bug in wordt gevonden, waardoor het uitermate betrouwbaar moet worden.

Tanenbaum heeft het geld al in juli vorig jaar toegekend gekregen, maar nu pas heeft hij het gekregen. Om dat te vieren organiseert de Vrije Universiteit vandaag een symposium.

Betrouwbare software

In het onderzoeksvoorstel op grond waarvan de ERC de subsidie heeft toegekend schrijft Tanenbaum dat hij zich al jaren ergert aan de onbetrouwbaarheid en de onveiligheid van computers. Ze crashen regelmatig, terwijl andere elektronische apparaten, zoals televisies en mobiele telefoons zelden of nooit vastlopen.

Bugs in software zullen er altijd zijn, zegt Tanenbaum, maar met Minix is er toch een stuk minder kans op. Dat rekent hij voor in zijn onderzoeksvoorstel: “De microkernel is maar ongeveer 5000 regels code. Dat is minder dan 0,1% van de omvang van de Windows kernel en minder dan 0,2% van de omvang van de Linux kernel. Statistisch gezien betekent dit dat er ergens tussen de 5 en 100 bugs zitten in de kernel, die gevonden kunnen worden. Bovendien zijn 5000 regels code voor een enkele programmeur binnen een week door te lezen en te begrijpen.”

Het doel van het onderzoek is software te maken die zo foutvrij is als menselijk maar mogelijk is. Tanenbaum schrijft: “Ik stel voor om het hele paradigma van de monolitische kernel te vervangen door een nieuwe, die bestaat uit kleine modules die in user mode draaien en die allemaal gehoorzamen aan POLA (Principle Of Least Authority). Zoiets heeft niemand nog ooit klaargespeeld.”

Bron: Techworld