Besturingssysteem
Een besturingssysteem is software die ervoor zorgt dat de computer z'n werk kan doen. Een besturingssysteem regelt het geluid, de muis en het scherm. Voorbeelden van besturingssystemen zijn Windows, macOS en Linux. Verder heb je besturingssystemen als: Android, FreeBSD, Google Chrome OS, iOS, MS-DOS, Sailfish OS, Ubuntu en Windows Phone.
Microsoft Windows is met een marktaandeel van ongeveer 74,99% koploper in 2017. MacOS van Apple Inc. staat op de tweede plaats (14,84%) en de varianten van Linux staan gezamenlijk op de derde plaats (2,81%). In de mobiele sector (inclusief smartphones en tablets) is het aandeel van Android 70,82% koploper in het jaar 2020.
Hoe het ongeveer werkt
Omdat een CPU (de centrale processor) maar één ding tegelijk kan berekenen, moet iedere handeling die de computer doet op z'n beurt wachten. Dit heet time-sharing (tijd verdeling). Maar omdat dit heel snel achter elkaar gaat, merk je daar nauwelijk iets van. Met de handelingen moet je denken aan verwerken van input (bijvoorbeeld dat wat je typt), output (dat wat verschijnt op het scherm of naar de printer moet) en opslag (dat wat je wilt bewaren op de harde schijf). Ook het werkgeheugen (RAM) speelt hierbij een belangrijke rol. Hier worden de in- en uitgaande taken voor de CPU als het ware even geparkeerd. Voor hardwarefuncties zoals invoer en uitvoer en geheugentoewijzing fungeert het besturingssysteem als 'tussenpersoon' tussen programma's en de computerhardware. Vergelijk het met een verkeersregelaar op een druk kruispunt.
Besturingssystemen zijn te vinden op veel apparaten die een computer bevatten - van mobiele telefoons en videogameconsoles tot webservers en supercomputers.
Meestal vereisen besturingssystemen een installatie of kunnen vooraf al zijn geïnstalleerd als je de computer aanschaft (OEM -installatie). Het installeren kan direct vanaf data-dragers zoals een CD of DVD of vanaf een flashgeheugen (bijvoorbeeld USB- stick) worden uitgevoerd. Op scholen en bedrijven kunnen besturingssystemen van de werkstations die via het ethernet zijn aangesloten vanaf de centrale server worden bijgewerkt.
Op een enkele (thuis)computer kun je meerdere taken tegelijk laten plaatsvinden. Ook dat gebeurd met time-sharing. Het besturingsprogramme beheert dan de beschikbare CPU tijd. Een centrale server waaraan meerdere werkstations zijn gekoppeld moet ook die taken nog eens verdelen verdelen. Dat vraagt dus om meer rekencapaciteit en werkgeheugen.
Kernel
Een belangrijk onderdeel van het besturingssysteem is de kernel.
Het beheert de geheugentoegang voor programma's in het RAM-geheugen, het bepaalt welke programma's (applicaties) toegang krijgen tot welke hardwarebronnen zoals beeldscherm en printer en regelt het data-verkeer naar bestanden op data-dragers (media) zoals schijven, tapes, flash-geheugen, enz.
Soms blijft een proces als het ware 'hangen'. Een manier om dat als gebruiker te onderbreken is een CTRL-C. Omdat een CPU sneller werkt dan bijvoorbeeld een printer, moet er als het ware een vertrager worden ingebouwd. Dit noemen ze interupts. Dan kan de CPU als het ware ondertussen even met iets anders verder. Een interupt wordt ook door de printer of data-drager gestuurd als een taak volbracht is.
Er moet dus op een of andere manier worden bijgehouden welke taken er zijn, welke taak er aan de beurt is en welke taken zijn afgerond. Dit gebeurt in het register. Je kunt dit vergelijken met iemand die de taken bijhoudt en registreert (opschrijft).
Soms maakt de kernel gebruik van de harde schijf om tijdelijk iets te parkeren als de RAM het even niet aan kan. Dit wordt swapping genoemd.
Een vergelijking
Het hele gebeuren doet denken aan een toiletgroep in een warenhuis of een festival. Iedere bezoeker wil naar de w.c. maar er zijn minder toiletten dan bezoekers, dus die moeten op hun beurt wachten. De toiletjuffrouw regelt wie er mag en ontvangt het geld. Af en toe moet ze ook wat schoonmaken, de wc-rol vervangen enzovoorts. De toiletjuffrouw is hierbij het besturingssysteem.