Ontwerp en bouw een besturingssysteem/Geschiedenis van de X86 computer
De geschiedenis van de digitale computer begint pas echt net na de Tweede Wereldoorlog, wanneer computers zoals Colossus en de ENIAC in gebruik worden genomen. Deze eerste computers waren zo groot als een hal, maar met de uitvinding van de transistor werden de computers snel kleiner. Daarmee werd ook het gebruik van binaire numerieke systemen gewoner dan het gebruik van een decimaal numeriek systeem.
Ponskaarten
bewerkenDe eerste transistorcomputers werden gevoed met een programma op ponskaarten of ponsband. Hierin zijn met een ponsmachine gaten (bits) geponst waarbij een combinatie van gaten op een van de 80 kolommen voor een bepaalde waarde staat (de byte). Aangezien elke byte ook voor een letter kon staan, konden de latere schermen dan ook maximaal 80 karakters weergeven op een horizontale lijn. Ook verklaart het gebruik van ponskaarten de waarde van het 'karakter' DEL (binair 0b0111111) uit de ASCII karakter set: door de bits op 1 te zetten kon een fout getypte waarde in een kolom onleesbaar gemaakt worden. De computers sloegen dit karakter dan gewoonweg over.
Eerste besturingssysteem
bewerkenDe ponskaartenlezer was dus een van de eerste invoerapparaten, en voor de uitvoer werd in het begin vaak gebruik gemaakt van een printer, zoals een matrixprinter. Later werden voor zowel de invoer als de uitvoer magnetische tapes gebruikt, die met een tape drive gelezen en geschreven werden.
Om een programma op een tape of ponskaarten te starten, moet de operator van de computer steeds nadat het ene programma is uitgevoerd het volgende programma laden. Hiertoe kreeg men een deel van de computertijd volgens een rooster ('schedule' in het Engels). Omdat de invoer- en uitvoerapparaten toentertijd erg sloom waren, ook in vergelijking met de computers van toen, schreef men al gauw een klein programma dat tussen verschillende ingevoerde programma's kon wisselen wanneer op een apparaat gewacht moest worden. Zo'n zogenaamde 'scheduler' was het eerste begin van een besturingssysteem.
Mainframes
bewerkenOmdat de computers erg duur waren, werd er gebruik gemaakt van het mainframe-terminal principe. De mainframe was de grote centrale computer, en de terminals waren in feite niet meer dan een scherm met een toetsenbord. Als er een commando werd ingetypt, werd dit naar de mainframe verstuurd. Het teruggestuurde antwoord werd op het scherm weergegeven. Het grote voordeel van dit principe was dat er meerdere mensen met terminals vanaf verschillende plekken aan dezelfde mainframe konden werken.
Dit principe van meerdere terminals is nog steeds terug te vinden in de unix familie (Linux, FreeBSD, etc) van besturingssystemen.
Latere besturingssystemen
bewerkenDe eerste schedulers gebruikten 'cooperative scheduling': een programma gaf vrijwillig zijn computertijd op wanneer het lang moest wachten, waarna de scheduler de huidige staat van het programma bewaarde, de staat van het volgende programma herstelde en dat verder liet gaan. Ook de besturingsystemen DOS en Windows (tot versie 3.0) gebruikten deze manier van scheduling.