0%

Wat een besturingssysteem doet

Processen, geheugen, bestanden en apparaten

Begin een heel groot bestand te kopiëren en laat ondertussen je muziek doorspelen. Het kopiëren wil zoveel mogelijk opslagbandbreedte en geheugen. De speler wil iets heel anders: met grote regelmaat een klein stukje CPU-tijd en een audioapparaat dat nooit zonder gegevens raakt.

Die twee behoeften hebben een heel ander patroon. Geen van beide programma’s kan de leiding over de machine nemen. Zo houdt het besturingssysteem ze allebei draaiende.

Twee processen, twee werkpatronen

Een applicatie openen maakt normaal gesproken minstens één proces: een door het besturingssysteem beheerde instantie van een actief programma, met een eigen toestand en eigen middelen. Het besturingssysteem geeft processen die klaarstaan de kans om de CPU te gebruiken. Het wisselt vaak genoeg om meerdere programma’s vooruitgang te laten boeken.

Het kopieerproces wil grote hoeveelheden werk verzetten zodra de opslag klaar is. Het muziekspelerproces heeft met regelmatige tussenpozen veel kleinere stukjes werk nodig. Middelen beheren gaat er niet om beide op hetzelfde moment evenveel te geven. Het gaat erom verschillende behoeften af te stemmen zonder een van beide processen de hele machine te laten opeisen.

Houd hun geheugen gescheiden

Het besturingssysteem houdt bij welk geheugen bij elk proces hoort. Het voorkomt dat een gewone applicatie in het werkgebied van een ander proces schrijft. Dankzij die grens kan een applicatie vaak mislukken zonder alle andere mee te trekken.

Als actieve programma’s samen meer werkgeheugen nodig hebben dan de machine heeft, kan het besturingssysteem minder actieve gegevens naar de opslag verplaatsen, zoals je in hoofdstuk 1 zag. Zo blijft het werk doorgaan, maar opslag is veel trager dan RAM.

Houd het geluid aangevuld

Zowel het kopiëren als de muziekspeler moet gegevens door de machine verplaatsen. Het kopiëren kan onregelmatige pieken verdragen. Afspelen niet: het audioapparaat heeft het volgende stukje op tijd nodig. Een kleine hoeveelheid geluid klaarzetten in een buffer geeft het besturingssysteem wat speelruimte terwijl opslag en CPU-tijd worden gedeeld.

Een bestandskopie vraagt grote, onregelmatige pieken, terwijl een muziekspeler kleine, regelmatige stukjes vraagt. Het besturingssysteem coördineert beide: het verzorgt de opslag voor de kopie en houdt een deels gevulde audiobuffer klaar voor de speler.

De twee stroken links tonen dezelfde tijdsduur. Het kopiëren (FILE COPY) wil zoveel mogelijk tegelijk; de muziekspeler (MUSIC PLAYER) een beetje, op tijd. Het besturingssysteem (OPERATING SYSTEM) verdeelt CPU-tijd, houdt geheugen gescheiden en coördineert de gegevensstroom. De kopie gaat naar opslag (STORAGE); geluid gaat via de buffer naar het audioapparaat (AUDIO DEVICE). Het deels gevulde geluidsvak geeft precies die speling: kopiëren kan onregelmatige pieken gebruiken, terwijl het kleine stukje voor de speler op tijd moet aankomen.

Tijdens het kopiëren van een groot bestand blijft de muziekspeler werken, maar hapert die af en toe. Welke verklaring gebruikt het model van middelenbeheer door het besturingssysteem het beste?

Niets hiervan garandeert dat programma’s nooit vastlopen of elkaar nooit vertragen. Het biedt grenzen en gedeelde diensten, zodat fouten meestal beperkt blijven en gewone applicaties één machine kunnen delen zonder iets van elkaar te weten.

Elk desktopbesturingssysteem doet dit werk. Het verschil zit in hoe ze eruitzien terwijl ze het doen.