Vrije Universiteit Amsterdam

Het bouwen van een betrouwbaar besturingssysteem: Foutbestendigheid in MINIX 3


* Startdatum: 09-09-2010


* Tijd: 13.45


* Locatie: Aula


* Titel: Building a dependable operating system: fault tolerance in MINIX 3


* Spreker: J.N. Herder


* Promotor: prof.dr. A.S. Tanenbaum


* Onderdeel: Faculteit der Exacte Wetenschappen


* Wetenschapsgebied: Exacte wetenschappen


* Evenementtype: Promotie

Jorrit Helder bouwde een betrouwbaar besturingssysteem dat fouten in stuurprogramma's kan weerstaan en herstellen. Dit deed hij door het besturingssysteem foutbestendig te maken zodat het normaal kan blijven functioneren ondanks de aanwezigheid van veel voorkomende problemen.

Een van de grootste problemen met computers is dat ze niet voldoen aan de verwachtingen van gebruikers ten aanzien van betrouwbaarheid, beschikbaarheid, veiligheid, etc. Een onderzoek onder Windowsgebruikers liet bijvoorbeeld zien dat 77% van de klanten één tot vijf fatale fouten per maand ontdekt en de overige 23% van de klanten maandelijks zelfs meer dan vijf fatale fouten ervaart. De oorzaak van deze problemen ligt in het besturingssysteem ('operating system') dat een centrale rol heeft in vrijwel elk computersysteem. De meeste fouten zijn te herleiden tot stuurprogramma's voor randapparatuur ('device drivers') die relatief foutgevoelig zijn. Dergelijke stuurprogramma's zijn nauw geïntegreerd in het besturingssysteem, waardoor fouten zich gemakkelijk kunnen verspreiden en het hele besturingssysteem kunnen ontregelen. Dit probleem doet zich niet alleen voor bij standaard besturingssystemen voor de PC, zoals Windows, Linux, FreeBSD en MacOS. Besturingssystemen voor mobiele apparatuur (bijvoorbeeld telefoons, PDAs, fotocamera's, etc.) en ingebedde computers (bijvoorbeeld in auto's, pinautomaten, medische apparatuur, etc.) zijn veelal gebaseerd op een vergelijkbaar ontwerp waardoor ze soortgelijke problemen kennen. Onbetrouwbare besturingssystemen veroorzaken niet alleen persoonlijke frustraties, maar hebben ook grote maatschappelijke consequenties zoals economische schade en veiligheidsrisico's.

Helder stelde zich tot doel om een uitermate betrouwbaar besturingssysteem te bouwen dat fouten in stuurprogramma's kan weerstaan en herstellen. Zijn doelstellingen zijn gerealiseerd door het besturingssysteem foutbestendig ('fault tolerant') te maken zodat het normaal kan blijven functioneren ondanks de aanwezigheid van veel voorkomende problemen. Hoewel veel van de gebruikte ideeën en technieken op zich niet nieuw zijn, was hun gecombineerde potentieel om de betrouwbaarheid van besturingssystemen te verbeteren tot nog toe niet voldoende onderzocht en overtuigend aangetoond. Door dit te doen levert zijn proefschrift onder andere de volgende bijdragen die zowel wetenschappelijke als praktisch van belang zijn:

0M Hoe de betrouwbaarheid van besturingssystemen kan worden verbeterd met behoud van het veel gebruikte UNIX-programmeermodel.

In tegenstelling tot aanverwant onderzoek, is alleen het binnenwerk van het besturingssysteem vernieuwd zodat compatibiliteit met bestaande software kan worden behouden en praktische toepassing stapsgewijs mogelijk is.

0M Het introduceert een foutbestendig ontwerp dat het besturingssysteem in staat stelt om een breed scala aan fouten in belangrijke componenten automatisch te detecteren en te repareren, zonder gebruikerstoepassingen te interrumperen en zonder tussenkomst van de gebruiker. Veel van deze ideeën zijn van toepassing in een bredere context dan besturingssystemen alleen.

0M Tot slot heeft dit onderzoek niet alleen geleid tot een ontwerp, maar is dit ontwerp ook geïmplementeerd, met als resultaat een publiek beschikbaar besturingssysteem, MINIX 3, dat beschikbaar is via de officiële website http://www.minix3.org/. Dit besturingssysteem maakt duidelijk dat de voorgestelde aanpak praktisch toepasbaar is.

Het volledige proefschrift is te downloaden via VU-dare
© Copyright Vrije Universiteit Amsterdam