0%

Hoe gegevens tot uitvoering komen

Wat software is

Denk aan een muziekspeler en een nummer die op hetzelfde opslagstation staan.

Je weet al dat dit verschillende soorten dingen zijn. Het ene is een app die je opent; het andere is iets waarnaar je luistert. Op het opslagstation zijn ze allebei als bytes weergegeven. Namen, bestandsformaten en gegevens van het besturingssysteem helpen software te herkennen waarvoor elk item dient, maar geen van beide reeksen bytes doet uit zichzelf iets.

Waardoor doet de ene het werk, terwijl de andere wordt bewerkt?

Instructies en gegevens

Het verschil is de rol die de bytes spelen.

Software omvat programma’s en de ondersteunende gegevens die ermee worden meegeleverd. Een programma bevat instructies voor werk dat de computer kan uitvoeren. Het pakket kan ook pictogrammen, knopteksten, geluiden en standaardinstellingen bevatten. Een app installeren plaatst dat pakket op de opslag, klaar om te worden geladen wanneer je de app opent.

Gegevens zijn het materiaal dat die instructies lezen of veranderen: je muzieknummer, foto’s of het document waarin je nu typt.

De context bepaalt de rol. Een Python-bronbestand is tekstdata wanneer een editor het toont. Vervolgens levert het instructies wanneer Python het leest om het programma uit te voeren. De bytes zijn tussen die momenten niet veranderd; het programma dat ze gebruikt en de gevraagde taak wel.

Geïnstalleerd is niet hetzelfde als actief

Hier worden de woorden die we dagelijks gebruiken onnauwkeurig, en dat veroorzaakt later echte problemen.

Een app die op je opslagstation staat, doet helemaal niets. Het is een verzameling instructies die wacht. Dubbelklik erop en er begint een keten:

  1. De computer leest de instructies van het programma vanaf het opslagstation.

  2. Die laadt de benodigde delen in RAM.

  3. De CPU begint die instructies uit te voeren.

  4. Het programma verwerkt je invoer, verandert gegevens en toont dingen op het scherm.

Nu is het programma actief. Sommige programma’s starten ook automatisch of blijven op de achtergrond werken nadat hun venster is gesloten. Geïnstalleerd betekent dat het programma beschikbaar is op de opslag. Een open venster is geen betrouwbare manier om te bepalen of het actief is. Hoofdstuk 3 geeft de naam die het besturingssysteem gebruikt voor dit beheerde, actieve werk.

Er is een tekenapp geïnstalleerd. Die is niet gestart, niet automatisch en niet door jou, en geen van de achtergrondonderdelen is actief. Wat geldt voor de app?

Programma’s steunen op andere programma’s

Er is nog iets met die muziekspeler, en dat is belangrijker dan het klinkt.

Die bevat geen instructies voor jouw specifieke hoofdtelefoon. Ook niet voor jouw merk opslagstation of voor het tekenen van een venster op je scherm. Dat kan er onmogelijk allemaal in zitten. Als de speler het toch probeerde, zou die stukgaan zodra je een nieuwe hoofdtelefoon kocht.

Dat probeert die dus niet. Die vraagt het. “Open dit bestand.” “Speel deze geluidsfragmenten af.” “Geef me een venster.” Iets eronder handelt de details af.

Dat iets is het onderwerp van de volgende les. Het verklaart waarom een programma van jaren geleden nog werkt op hardware die nog niet bestond toen het werd geschreven.