Wanneer ze Windows 95 voor de eerste keer proberen te installeren, zien pc-gebruikers een saaie tekstinterface zonder grafische afbeeldingen. Het was waar dat DOS "afbeeldingen kon simuleren" met karakters, maar het Windows-team besloot het slimmer aan te pakken door gebruik te maken van eerder beschikbare code.

Raymond Chen, een Microsoft-medewerker die al meer dan 30 jaar meewerkt aan de ontwikkeling van Windows, heeft een nieuw artikel gepubliceerd op zijn beroemde "OldNewThing"-blog. De softwareprogrammeur besprak onlangs opnieuw de installatie- en configuratie-ervaring van Windows 95, een zeer complex project dat drie verschillende besturingssysteemomgevingen gebruikt om een ​​verscheidenheid aan gebruiksscenario's op pc's van klanten mogelijk te maken.

Chen zei dat Microsoft-ingenieurs in theorie een toepassing voor grafische instellingen zouden kunnen ontwikkelen omdat MS-DOS de grafische weergave goed beheerde. De DOS-methode voor het omgaan met afbeeldingen was echter erg primitief en tijdrovend. Op prompts gebaseerde besturingssystemen voorkomen niet actief dat afbeeldingen op het scherm worden weergegeven, maar programmeurs moeten alle grafische functies handmatig implementeren.

Chen legde uit dat MS-DOS geen andere grafische primitieven bood dan het aanroepen van het BIOS om individuele pixels te tekenen. Hoe dan ook is de BIOS-gebaseerde aanpak niet ideaal, omdat alleen directe toegang tot de framebuffer (videokaartgeheugen) minimale prestatieverbeteringen voor grafische bewerkingen oplevert. Kortom, het Windows95-installatieteam moest in theorie vanaf het begin hun eigen grafische bibliotheek schrijven.

En dit is nog maar het begin. De minimumvereisten voor Windows 95 omvatten een VGA-grafische kaart, zodat het team geen rekening hoefde te houden met eerdere generaties grafische kaarten zoals CGA of EGA. Het installatieprogramma moest een aantal dialoogvensters weergeven, dus de programmeur moest een nieuwe vensterbeheerder schrijven die toetsenbordtabbladen tussen vensters en sneltoetsen als snelkoppelingen ondersteunde.

De opstelling moet ook ideografisch gebaseerde alfabetten ondersteunen, zoals Japans en Chinees, en tegelijkertijd eenvoudige animaties beheren. Chen zei dat al dit extra werk moest worden opgenomen in de "basis" infrastructuur die nodig is om een ​​Windows 95-omgeving op te starten, met volledige ondersteuning voor het uitbreiden/uitbreiden van het geheugen via zijn eigen protected mode manager.

Dit zorgt ervoor dat ontwikkelaars een nieuw besturingssysteem moeten schrijven om op te starten met een Windows 95-installatie, wat tijdverspilling is omdat Microsoft al producten verkoopt die het meest geschikt zijn voor de taak. De heer Chen legde uit dat de Windows 3.1-runtime die in de definitieve versie van de Windows 95-installatie werd gebruikt alles bevatte wat nodig was om "afbeeldingen te simuleren" onder MS-DOS, en dat deze ook volledig was gedebugd met een eigen videostuurprogramma, grafische bibliotheek, dialoogbeheer, enz.

Tot op de dag van vandaag gebruikt Microsoft nog steeds dezelfde codelus; moderne versies van Windows vereisen nog steeds dat een "klein" besturingssysteem wordt geïnstalleerd om het installatieproces te starten. Deze minimale besturingssysteemomgeving is nu de Windows Preinstallation Environment (Windows PE) en wordt ook gebruikt om Windows te (proberen) te repareren als er een probleem is met het besturingssysteem zelf.