Een computer werkt door stroom om te zetten in bits en bytes (stroom/geen stroom) wat ik mij afvraag is hoe een computer dit verwerkt naar een besturingsprogramma (vb Linux, Windows, etc)?

Gianni, 18 jaar
19 mei 2008

Ik heb mij altijd al afgevraagd hoe een simpel commando: 'stroom/geen stroom' door hardware wordt vertaalt in een ingewikkeld programma zoals een besturingssysteem, 3D rendering, een game of wat dan ook!

Antwoord

De weg van bits (1 of 0, stroom of geen stroom) naar een besturingssysteem is heel lang.

Met 'stroom' of 'geen stroom' kunnen we informatie coderen. Meestal gebeurt dit in de vorm van getallen, we slaan ze dan op in het binaire talstelsel. Ons normale tiendelig talstelsel maakt gebruik van 10 tekens (0 tot en met 9) maar het binair talstelsel slechts van 2 (0 en 1). We kunnen het tiendelig getal 23 in binair voorstellen als 10111, ofwel 'stroom - geen stroom - stroom - stroom - stroom'.

Het hart van je computer is de processor, de CPU (central processing unit). Die processor doet niets anders dan reeksen van nullen en enen (stroomstootjes dus) ontvangen, er bepaalde bewerkingen op uitvoeren, en de resultaten weer teruggeven. Een processor bevat bijvoorbeeld bewerkingsinstructies voor optelling of vermenigvuldiging. De optelling zal twee binaire getallen nemen, deze getallen worden door een elektronisch circuit gehaald dat een 'adder' of 'summer' heet (van het Engels 'to add' of 'to sum'). Het resultaat is terug een binair getal, dat gelijk is aan de som van de twee eerste getallen. Zoals er 'adders' zijn zijn er ook 'multipliers', 'dividers' en andere elektronische circuits. Die werken allemaal op een gelijkaardige manier als de circuits die je terugvindt in een rekenmachine.

Een processor is veel sneller en krachtiger dan een rekenmachine. Ze kan niet alleen wiskundige berekeningen doen met binaire getallen, maar ze kan ook getallen in een geheugen opslaan en uit een geheugen weglezen, of naar je videokaart of harde schijf sturen, en veel meer. Een moderne processor uit een standaard PC kan bijna 500 verschillende basisbewerkingen uitvoeren op reeksen van enen en nullen.

We kunnen niet alleen getallen coderen met enen en nullen, maar ook tekst of afbeeldingen. Een bekend voorbeeld voor tekst is de ASCII tabel: die vertaalt elke letter naar een getal, dat op zijn beurt in enen en nullen omgezet kan worden. Voor een afbeelding wordt meestal met drie kleuren gewerkt: elke kleur is een mengeling van rood, groen en blauw. De hoeveelheid rood, groen en blauw in elk punt van je afbeelding wordt gecodeerd als een reeks getallen, op hun beurt gecodeerd als enen en nullen. Als het bureaublad op je scherm verschijnt doet je processor niets anders dan al die informatie doorsturen naar de grafische kaart, die het op zijn beurt naar je scherm stuurt. Je scherm zal dan elk punt op de juiste manier doen oplichten.

De processor krijgt zijn instructies van de software. Ook die software is beschikbaar in de vorm van enen en nullen. Software wordt geschreven in een programmeertaal - bekende talen zijn C++ of Java. Programmacode in die taal wordt door een ander programma, de "compiler", omgezet in de basisinstructies die de processor kan uitvoeren.

Een besturingssysteem of een game is een heel groot stuk software - het bestaat meestal uit miljoenen lijnen programmacode. De compiler vertaalt dat in miljoenen lijnen instructies, die de computer zeggen wat hij wanneer moet doen. Een besturingssysteem bevat software die de processor zegt wat hij moet doen als er gegevens binnenkomen van de muis of het toetsenbord, en wat hij moet doen als er beelden op het scherm moeten verschijnen.

Als je een computer opstart, begint hij met de instructies van het BIOS uit te voeren. Dit is een vaste set instructies die op je moederbord is aangebracht. Het BIOS dient vooral om alle onderdelen van je computer te zoeken en te testen. Zo kan de processor achteraf weten hoe de stroom moet omgeleid worden naar grafische kaart of geheugen. Als het BIOS zijn taken gedaan heeft, wordt die informatie doorgegeven naar het besturingssysteem. Daarin gebeurt ook nog vanalles voordat je aan de slag kan: de computer moet klaargemaakt worden om verschillende stukken software te kunnen gebruiken, er moet een lijst met alle gebruikers en hun persoonlijke instellingen ingelezen worden vanaf de harde schijf...

Al die zaken worden beetje bij beetje opgebouwd. Er zijn delen van het besturingssysteem die in detail aan de processor vertellen hoe hij iets moet inlezen vanaf een harde schijf. Een ander deel zal de processor vertellen welk deel van een stroom enen en nullen staat voor rood, groen en blauw. Nog een ander deel zal de processor zeggen hoe dat alles naar het scherm gestuurd moet worden. Al deze stukken werken samen om jou uiteindelijk een mooie achtergrond als bureaublad te geven, en ze zorgen ervoor dat er een muispijl op je scherm verschijnt als je de muis beweegt, en ze zorgen ervoor dat er letters op je scherm verschijnen als je op je toetsenbord typt, of dat je in een game voorwaarts beweegt als je op de pijltoetsen duwt.

Reacties op dit antwoord

Er zijn nog geen reacties op deze vraag.

Enkel de vraagsteller en de wetenschapper kunnen reageren op een antwoord.

Zoek andere vragen

© 2008-2021
Ik heb een vraag wordt gecoördineerd door het
Koninklijk Belgisch Instituut voor Natuurwetenschappen