Volledige examensamenvatting — Hoofdstuk 1 t/m 7 + labo's
HOGENT — Toegepaste Informatica
Deze samenvatting is opgebouwd op basis van de echte inhoud (slides + spreeknotities) van
hogenttin.github.io/operating-systems, hoofdstuk per hoofdstuk. Secties die expliciet als "niet leerstof
examen" gemarkeerd staan in de slides, staan hieronder aangeduid en kort gehouden. De NPE-opdracht
zelf is niet opgenomen. Grote lijnen van de labo's staan onderaan elk hoofdstuk. Commando's zijn overal
wel vermeld ter context, maar hoef je volgens afspraak niet uit het hoofd te kennen.
, H1. Besturingssystemen (inleiding)
1.1 Wat is een besturingssysteem?
• Een OS is een programma dat het mogelijk maakt de hardware van een computer te gebruiken (CPU,
geheugen, opslag, randapparatuur, ...).
• Gebruikers geven geen opdrachten rechtstreeks aan de hardware, maar aan het besturingssysteem —
het OS geeft op zijn beurt de hardware de opdracht om de taken uit te voeren.
• Taken van een OS: opslaan/ophalen van informatie, programma's afschermen, gegevensstroom
regelen, prioriteiten regelen, beheer en delen van bronnen, tijdelijke samenwerking tussen
programma's, reageren op fouten, tijdsplanning maken.
• Voorbeelden: Windows, macOS, Linux (Ubuntu, Fedora, ...), Unix, z/OS, Android, iOS, MS-DOS.
1.2 Evolutie
Niet leerstof examen: deze sectie (1.2) is louter ter info volgens de slides zelf.
• 1940-1959: geen OS, manueel laden van programma's; eerste OS in 1956 (batchverwerking).
• 1960-1969: multiprogrammering en timesharing.
• 1970-1979: Unix (1971) en opkomst personal computers.
• 1980-1989: GUI's (Macintosh 1984, Windows 1985), netwerkfuncties (TCP/IP).
• 1990-1999: Linux (1991, open source), verfijning van GUI's.
• 2000-vandaag: mobiliteit (iOS, Android) en cloud/virtualisatie.
• Vandaag-toekomst: AI-integratie (Siri, Copilot, ...).
1.3 Soorten besturingssystemen
• Single-tasking: 1 gebruiker draait 1 applicatie tegelijk (bv. MS-DOS).
• Multitasking: meestal 1 gebruiker die meerdere taken tegelijk kan uitvoeren (Windows, macOS, Linux,
iOS, Android).
• Multi-user: meerdere gebruikers maken simultaan gebruik van de computerbronnen (Linux, Unix,
Windows Server) — vaak op servers, maar kan ook op desktops.
1.4 Concepten van besturingssystemen
• Lagen: shell/command interpreter (bovenste laag, communiceert met gebruiker) → utilities (voeren
complexe opdrachten uit) → kernel (het hart van het OS, meest gebruikte routines).
• Soorten programma's: interactief (snelle respons verwacht), batch (geen directe respons,
wachtrij/FIFO), real-time (respons binnen een strikt tijdsbestek, bv. luchtverkeersleiding).
• Proces: één of meer reeksen opdrachten die het OS als één werkeenheid beschouwt. Een
programma/taak bestaat uit één of meerdere processen; het OS focust op het uitvoeren van processen,
niet op gebruikers of programma's als geheel.
• Resources: processen spreken resources aan — geheugen, CPU-tijd, randapparatuur, bestanden. Het
OS moet: voldoende geheugen voorzien (én afschermen van andere processen), CPU-gebruik eerlijk
regelen, gegevensstroom naar randapparatuur regelen, bestanden/records snel kunnen lokaliseren.
• Scheduling: de manier waarop het OS prioriteiten toekent aan processen (vaak via een
prioriteitenwachtrij) — komt uitgebreid terug in H5.
• Concurrency: processen zijn niet onafhankelijk (bv. 2 processen willen dezelfde printer of file) →
conflicten. Het OS regelt de volgorde = synchronisatie (komt terug in H6).