Vrije Universiteit Amsterdam

Vrije Universiteit Amsterdam Meer perspectief
10 september 2010

Fatale fouten in besturingssysteem verleden tijd
Probeer het zelf: Minix 3

Jorrit Herder bouwde een betrouwbaar besturingssysteem dat fouten in stuurprogramma's kan weerstaan en herstellen. MINIX 3 is te downloaden via www.minix3.org/. Herder maakte het besturingssysteem foutbestendig zodat het normaal kan blijven functioneren ondanks problemen. Er kunnen nog steeds programmeerfouten in stuurprogramma's zitten, maar deze zijn in MINIX 3 netjes afgeschermd van de rest van het systeem zodat er alleen plaatselijk een fout kan optreden. De rest van het besturingssysteem kan gewoon blijven werken en de fout detecteren en vaak zelfs automatisch herstellen. Dit alles gebeurt achter de schermen en is in de meeste gevallen niet zichtbaar voor de eindgebruiker. Herder promoveerde gisteren aan de Faculteit der Exacte Wetenschappen.

Alle Windows-gebruikers ervaren 'fatale fouten'
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.

Fouten verspreiden zich
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.

Resultaten op een rij
Herder gebruikte ideeën en technieken die op zich niet nieuw zijn, maar combineerde ze op een slimme manier. Zijn proefschrift heeft onder andere de volgende wetenschappelijke en praktische implicaties: â- 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. â- 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. â- 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.



Vrije Universiteit Amsterdam