Twee Linux-ontwikkelaars van eigen bodem, Arjan van de Ven en Auke Kok, zijn er onlangs in geslaagd om Linux zo te 'herschrijven' dat het OS binnen drie seconden volledig opstart. Op een 'eenvoudige' netbook duurt het vijf seconden.

Van de Ven en Kok, beiden werkzaam bij de Open Source-afdeling van Intel in Santa Clara, Californië, staan daarmee bovenop de barricades van de revolutie in ultrasnel opstarten die zich momenteel voltrekt.

Het FastBoot-project werd geboren uit persoonlijke frustratie. "Ik irriteerde me mateloos dat ik een hele snelle laptop had gekocht, maar hij startte langzaam op", vertelt Arjan van de Ven in een interview met Webwereld.

Daarnaast was Intel al enige tijd bezig met Moblin, een Linux-variant geoptimaliseerd voor Mobile Internet Devices (MID's) en netbooks. Die apparaten kennen een heel ander gebruik dan een desktop pc. Geavanceerde functies en (grafische) krachtpatserij zijn veel minder belangrijk dan snelheid en zuinigheid.

Met zuinigheid hield Van de Ven zich al bezig: hij schreef PowerTOP, een uitgebreide toolkit om energie te besparen op Linux-systemen. Het optimaliseren van snelheid was voor Van de Ven een logische stap. Dus gingen ze aan de slag met Moblin en Fedora.

Scalpel in plaats van kaasschaaf

Tot nog toe hanteerde ontwikkelaars die een OS sneller wilden laten opstarten vooral de kaasschaafmethode: eindeloos sleutelen aan de code zodat er seconde na seconde gewonnen wordt.

"Maar de kaasschaafmethode werkt niet, dan pak je niet de fundamentele problemen aan", aldus Van de Ven. "Wij hebben het anders aangepakt dan iedereen tot nu toe. We hebben van te voren gezegd: we gaan naar vijf seconden. Daarvoor hebben we een strak budget gemaakt: kernel mag 1 seconde duren, early boot mag 1 seconde duren, X [X Window system, een platform voor user interfaces, red.] mag 1 seconde duren en graphics [desktopomgeving, red.] 2 seconden."

Van de Ven: "Ik denk, als ik eerlijk ben, dat mensen die de kaasschaaf toepassen veel meer tijd en energie gebruikt hebben om van 45 naar 40 te gaan dan wij van 45 naar 5 seconden. Het is een mentaliteit. Alleen sneller is niet goed genoeg."

Modules ín de kernel gestopt

De grootste vondst van Van de Ven en Kok is het minimaliseren van 'losse' modules (stuurprogramma's). De truc: noodzakelijke modules zijn waar mogelijk naar de kernel zelf toe verplaatst en een aantal weinig gebruikte modules zijn er uit de hele opstartsequentie geknikkerd. "Met een handvol modules dek je 95 procent van het netbookgebruik."

"Modules zijn allemaal leuk en aardig, maar als je het altijd gebruikt dan is het de overhead die je hebt gewoon niet waard." Als voorbeeld noemt hij Serial ATA (SATA), een systeem voor datatransport tussen het moederbord en de harde schijf of solid state drive (ssd). "Praktisch alle computers gebruiken SATA. Als we het toch altijd gebruiken, waarom dan in een module met al die overhead? Dat is duur."

Dus stopten Van de Ven en Kok SATA en enkele andere essentiële modules direct in de kernel. Want: "Als alles in de kernel zit, kun het namelijk ook parallel doen." Het duo ontwikkelde een techniek zodat processen tijdens kernel én erna (tijdens userspace) parallel maar wel asynchroon kunnen starten. Zo wordt maximaal gebruik gemaakt van de processorkracht en input/output-vermogen van de computer.

Overbodige modules weg

Maar waar gehakt wordt vallen spaanders. Van de Ven heeft ook een aantal modules geschrapt. "We keken steeds: hebben we dat eigenlijk wel nodig bij het opstarten? Zo nee: weg ermee. En mocht het toch nodig hebben, dan start je het pas op als je moet gebruiken."

Zo worden niet alle configuraties ondersteund. Onder meer Network File System, een protocol om bestanden in een netwerk te delen, is er uit gesloopt. "Dat duurde vijf seconden, dat kan dus niet. Maar het hoeft ook niet, want netbooks worden praktisch altijd als zelfstandige client gebruikt."

Ook het printerserversyteem CUPS (Common Unix Printing System) is uit de bootsequentie gehaald. "Dus de eerste keer dat je print duurt het drie á vier seconden. Soit. Als ik kijk naar mijn netbook heb ik eigenlijk nog nooit geprint."

Op naar twee seconden

"We denken dat we op een netbook met Atom en een 'langzaam' ssd nog naar 4 seconden kunnen. We hebben hetzelfde image op een Core 2 laptop gezet met snelle Intel ssd, toen waren we in drie seconden klaar. En we denken dat we op zo'n machine naar twee en een half, twee seconden kunnen," vertelt Van de Ven.

De crux zit hem erin dat zowel de cpu als de ssd razendsnel moeten zijn om de bootsequentie echt richting die twee seconden te krijgen. "Als je één van de twee sneller maakt, helpt het niet. Ze moeten allebei snel zijn."

En daar manifesteert zich de commerciële potentie van FastBoot voor Intel. Het concern produceert immers de snelste processors in massaproductie en stort zich bovendien sinds vorig jaar op de ssd-markt.

Splashtop is een voorlopige oplossing

De doorbraak van ultrasnel booten betekent ook een enorme opsteker voor Linux. Onlangs orakelde Jim Zemlin, directeur van de Linux Foundation, zelfs dat hierdoor aan het eind van 2009 Linux mogelijk op meer computers zal staan dan Windows.

De bekendste snelstartsysteem is momenteel Splashtop, een gestripte Linux-variant die binnen 10 seconden handige functies biedt (zoals browser, mailclient, mediaplayer) terwijl het hoofd OS op de achtergrond langzaam opstart.

Van de Ven: "Een heel leuk idee. Ze hebben een heel goede oplossing, maar ik denk alleen dat ze het verkeerde probleem oplossen. Het is een work around omdat het eigenlijke OS te traag start. Maar ik wil dat probleem helemaal niet hébben!"

Windows in 3 seconden?

Ook Microsoft zou inmiddels ook aan een eigen snelstartsysteem werken, maar dan gebaseerd op Windows. Van de Ven: "Ik ga er van uit dat ze er mee bezig zijn, maar ik weet er niets van af."

Maar kan Windows ooit in 3 seconden opstarten? "Voor hun is het lastiger om het aan te passen, omdat ze meer legacy hebben. Maar dat is geen fundamentele beperking. En ze hebben er een hele hoop mensen werken."

Ogen openen

In september demonstreerde en presenteerde het duo FastBoot op de Linux Plumbers conferentie in Oregon (waarvan ook een uitgebreid en meer technisch verslag is gepubliceerd), en sindsdien zijn ze vooral aan het 'consolideren'. De FastBoot-code moet nog zijn weg vinden naar Moblin en Fedora, maar Van de Ven belooft dat deze distro's, en hun gebruikers, zo snel mogelijk de vruchten zullen plukken van het project. "Als de nieuwe versie van Moblin uitkomt, zit het er in."

Ook de ontwikkelaars van het Fedora project gaan er serieus mee aan de slag op het moment dat Fedora 10 binnenkort de deur uit is, bevestigt Van de Ven. Maar bovenal is en blijft FastBoot een showcase van wat er mogelijk is. "We wilden de mensen de ogen openen. Mensen komen er niet op omdat ze denken dat het niet kan."