Nieuwe producten leveren op het beloofde tijdstip is iets waar slechts weinig softwarebedrijven dezer dagen van beticht kunnen worden. En komt het eenmaal uit, dan vertoont de software nog vaak behoorlijke fouten. ‘Wat zijn dat toch voor klungels?’, zal menig eindgebruiker denken. Die softwareleveranciers gooien er met de pet naar!
Een notoir uitsteller en foutenleverancier is Microsoft. Diens recentelijk tot Windows 2000 herdoopte besturingssysteem is al een poosje ‘over tijd’. Het probleem zit ‘m echter niet in de vermeende laksheid of onkunde van de ontwikkelaars bij dit bedrijf; er staan wel degelijk bekwame mensen aan de basis van Windows NT. Zij kampen echter met bergen werk. Groepsleider David Cutler torst wel het grootste deel van die last. Hij is de expert in besturingssystemen en onder meer schepper van VMS, DEC’s besturingssysteem van minicomputers.
Deze systeemarchitect geniet meer bekendheid als ‘hardcore’ programmeur dan als persoonlijkheid; hij is de man achter de schermen en niet de danser in het voetlicht. Maar werker en persoon vertonen overlap: zo had Cutler een grondige hekel aan grafische gebruikersinterfaces. Maar dat veranderde toen hij in 1988 met een deel van zijn team DEC verliet om voor Microsoft een besturingssysteem te ontwerpen. De daarop volgende vijf jaar werkte hij met tweehonderd ontwikkelaars aan de totstandkoming van NT. Over de oorsprong van die naam doen verschillende verhalen de ronde. Officieel staan de letters NT voor ‘New Technology’. Officieus is de naamgeving een inside-grap van David Cutler. De totale afkorting WNT is volgens die visie een afgeleide van VMS, met één letter opgeschoven in het alfabet. Ongeveer anderhalf jaar na aanvang van het ontwikkelingswerk binnen Microsoft, zag een ontwikkelaar dit alfabetische verband. Hij vroeg Dave of dit klopte en die antwoordde laconiek: "Wow, dat duurde lang voordat iemand er achter was". David Cutler is dan ook niet bijster enthousiast over de recente hernoeming naar Windows 2000.
Grand Prix
Het gaat te ver om NT zijn project te noemen, maar deze besturingssysteemontwerper is eigengereid genoeg om het wel zo te claimen. Cutler heeft al diverse malen gedreigd op te stappen na forse ruzies met directieleden en andere ontwikkelaars over de te volgen koers. Uitlaatklep voor zijn temperament is zijn hobby. Om een beetje stoom af te blazen gaat hij autoracen. En dan niet in opgevoerde gezinsautootjes. Nee, de ontwerper van VMS en NT bestuurt een volbloed racewagen en neemt geregeld deel aan Grand Prix-wedstrijden. Enkele foto’s van Davids bolide zijn te bewonderen op de website van zijn fanclub: http://web.wt.net/~shannonh/Dave_Fan_Club/index.htm. Privé kan Cutler man met ‘minder’ toe; boodschappen doet hij in een Porsche 928.
Al met al een licht gevaarlijke bezigheid voor de man die de sturende kracht is achter Microsofts belangrijkste product voor de komende jaren. Bill Gates verklaarde al zijn hele bedrijf hier op in te zetten. Het besturingssysteem Windows 2000 zal onder supervisie van Cutler een breed spectrum bestrijken: lichte en zware computers die draaien op zowel 32-bit als 64-bit processoren. Windows NT draait al op niet-Intel-processoren, maar door gebrek aan ondersteuning van hardwareleveranciers en Microsoft zelf is dat in de praktijk beperkt tot de 64-bit Alpha-processoren van DEC. Windows 2000 komt ook uit in een variant voor de aanstaande 64-bit processoren van Intel. Dave en zijn team hebben dat de codenaam ‘Sundown’ gegeven. Een emulatie van dat besturingssysteem draait al op Alpha-processoren, maar volgens Cutler is er nog een lange weg te gaan voordat het product compleet is.
Meer gebruikers
En als iemand dat kan weten, is het wel deze doorgewinterde ‘coder’. David N. Cutler, geboren op 13 maart 1942, ontwierp namelijk na beëindiging van zijn studie in 1965 al zijn eerste systeem. Hij werkte toen bij DuPont aan real time beheersystemen voor computers. Het succes kwam later bij Digital Equipment (DEC) waar hij eind jaren ’60 een nieuw besturingssysteem, RSX-11M (Resource Sharing eXecutive), ontwierp voor de PDP-11 (Programmable Data Processor) minicomputer. Deze slankere versie van RSX-11D, dat te zwaar was voor de destijds gangbare PDP’s, maakte het mogelijk dat verscheidene gebruikers tegelijk toegang hadden tot het systeem en de applicaties daarop.
Deze overgang van ‘single-user’ naar ‘multi-user’ confronteerde Cutler met enkele serieuze technische problemen. Bijvoorbeeld de opslag van bestanden op de harde schijf. Tegenwoordig zijn besturingssystemen in staat de lege plekjes op een harde schijf op te vullen door bestanden op te delen en die stukjes in te passen. Maar in die tijd was dat ander. Bestanden moesten op één plek staan. En het moest passen, want anders kon het niet opgeslagen worden. Het kwam dus voor dat bestanden niet meer weggeschreven konden worden, terwijl de harde schijf – van wel 2,5 megabyte groot – nog maar voor de helft gevuld was.
Van RSX naar VMS
Het Squeeze-commando was een oplossing die alle data weer netjes op een rij zette, vergelijkbaar met defragmenteren in Windows. Maar in geval van meerdere gebruikers was dit weer niet bruikbaar, omdat die dan allemaal hun werk moesten staken. Cutler en de andere ontwerpers van RSX-11 wisten een oplossing voor dit probleem uit te dokteren. En voor vele andere problemen. In 1978 kwam RSX-opvolger VMS (Virtual Memory System) uit, dat draaide op de hernoemde PDP-systemen, die voortaan de naam VAX droegen. VMS vertoont weer veel overeenkomsten met RSX-11. Geen wonder, want ook hier waren Cutler en zijn team bij betrokken.
Dezelfde uitdaging, zeg maar berg, beklimt Cutler sinds 1988 voor NT. De architect heeft namelijk nog steeds te kampen met een flinke nalatenschap van compatibiliteit. Zowel op het terrein van diverse soorten hardware – inclusief processoren – als van andere Windows-varianten, het oude MS-DOS en vooral de applicaties die voor die oudere besturingssystemen zijn geschreven. "Zowel bij VMS als bij NT werden we geconfronteerd met rigoureuze eisen voor compatibiliteit. In het geval van VMS waren het de 16-bit programma’s die draaiden op RSX-11. In het geval van NT, waren het de 16-bit programma’s die draaiden op MS-DOS en Windows 3.x. Het compatibiliteitswerk aan NT is echter veel moeilijker door het enorme aantal applicaties, de complexiteit van de programmeeromgeving en de minder strak-gedefinieerde wereld van PC-software", vertelde Cutler ooit in een interview.
35 Miljoen regels
De eerst-verschenen versie van NT, 3.0, werkte dan ook langzaam en vereiste veel rekenkracht en geheugen. In opvolger 3.5 waren al enkele problemen opgelost, maar tot op de dag van vandaag blijft NT een fors pakket. De relatieve stabiliteit en schaalbaarheid van NT, vergeleken met het ‘gewone’ Windows, eisen toch hun tol. "Omvang en prestatieniveau zijn belangrijke gebieden voor ons. We streven er continu naar die te verbeteren", herhaalt Cutler het Microsoft-mantra. Ook op dit gebied komt het enorme verschil met voorgaande computer-tijden duidelijk naar boven. Cutlers ontwikkelgroep heeft onderhand ruim 35 miljoen regels code in de aanstaande versie gestopt, ongeveer 30 miljoen meer dan de eerste editie.
Maar naast de last van compatibiliteit groeit de omvang van NT ook door een schijnbaar continu aanzwellende verlanglijst van nieuwe mogelijkheden. Extraatjes en uitbreidingen die Microsoft, partners en klanten in het nieuwe besturingssysteem verwerkt willen zien. Als iemand deze monsterklus kan klaren, is het wel Cutler, de man die code van zijn programmeurs kan keuren met één blik op de papieren uitdraai.