Een multi-threaded besturingssysteem (OS) is een besturingssysteem waarmee meerdere uitvoeringsthreads gelijktijdig binnen één proces kunnen worden uitgevoerd, en vaak ook meerdere processen tegelijkertijd. Dit verschilt van een besturingssysteem met één thread waarbij slechts één thread tegelijk wordt uitgevoerd. Het belangrijkste verschil ligt in het *concurrency*-aspect.
Hier is een overzicht:
* Processen: Een proces is een onafhankelijke, op zichzelf staande uitvoeringsomgeving. Het heeft zijn eigen geheugenruimte, bronnen en beveiligingscontext. Zie het als een aparte applicatie die op uw computer draait.
* Threads: Een thread is een lichtgewicht uitvoeringseenheid *binnen* een proces. Meerdere threads kunnen de geheugenruimte van hetzelfde proces delen, waardoor de communicatie daartussen sneller en eenvoudiger wordt dan communicatie tussen afzonderlijke processen. Beschouw threads als verschillende taken die plaatsvinden binnen dezelfde applicatie.
In een besturingssysteem met meerdere threads:
* Gelijktijdige uitvoering: Het lijkt alsof meerdere threads tegelijkertijd worden uitgevoerd, zelfs op een single-coreprocessor. Het besturingssysteem schakelt snel tussen threads, waardoor elke thread een klein stukje verwerkingstijd krijgt (contextwisseling). Dit creëert de illusie van parallellisme, zelfs zonder echte parallelle hardware.
* Verbeterde responsiviteit: Als één thread blokkeert (bijvoorbeeld door te wachten op gebruikersinvoer), kunnen andere threads in hetzelfde proces blijven draaien, waardoor wordt voorkomen dat de hele applicatie vastloopt. Dit is cruciaal voor interactieve toepassingen.
* Bronnen delen: Threads binnen hetzelfde proces kunnen bronnen zoals geheugen en bestanden efficiënt delen.
* Parallelisme (op multi-core systemen): Op systemen met meerdere processorkernen is echt parallellisme mogelijk. Verschillende threads kunnen tegelijkertijd op verschillende cores draaien, waardoor de prestaties aanzienlijk toenemen.
Voorbeelden: Bijna alle moderne besturingssystemen, waaronder Windows, macOS, Linux en Android, zijn multi-threaded. Ze ondersteunen zowel multi-threading binnen processen als de gelijktijdige uitvoering van meerdere processen.
Contrast met single-threaded besturingssysteem: Een besturingssysteem met één thread kan slechts één thread tegelijk uitvoeren. Als één taak blokkeert, wacht het hele systeem. Dergelijke systemen zijn tegenwoordig zeer zeldzaam en worden meestal aangetroffen in ingebedde systemen met zeer beperkte middelen. |