Je bent gelijk om nieuwsgierig te zijn! Een enkel processorsysteem kan niet echt meerdere processen * tegelijkertijd * in de ware betekenis van het woord uitvoeren. Hier is hoe het werkt:
Tijduitwisseling:
* CPU -cycli: De processor heeft ongelooflijk snelle klokcycli. Het kan heel snel tussen verschillende taken (processen) schakelen, waardoor elk een klein stukje van zijn tijd wordt gegeven.
* Snel schakelen: Het besturingssysteem fungeert als een "verkeerskoppel", die snel schakelt tussen processen, waardoor elk een korte uitbarsting van de CPU -tijd heeft voordat ze overstappen naar een ander. Dit schakelen gebeurt zo snel dat het voor de gebruiker lijkt alsof de programma's tegelijkertijd worden uitgevoerd.
* Contextschakelen: Wanneer een proces wordt uitgeschakeld, bespaart het besturingssysteem zijn huidige status (registers, geheugenadressen, enz.) En laadt de status van het volgende proces. Dit zorgt ervoor dat het proces verder kan gaan waar het is gebleven wanneer het de volgende beurt krijgt.
Voorbeeld:
Stel je voor dat je een enkele chef hebt die meerdere gerechten bereidt. Ze kunnen niet alles tegelijk koken, maar ze kunnen snel schakelen tussen taken:
1. Roer de soep enkele seconden.
2. Draai de hamburger even om.
3. Hak groenten voor een korte periode.
4. Herhaal en geeft elke schotel aandacht in een korte cyclus.
De chef is analoog aan de processor en de gerechten vertegenwoordigen de verschillende processen.
Voordelen van het delen van tijd:
* Efficiëntie: Hiermee kunnen meerdere programma's op een enkele processor worden uitgevoerd zonder meerdere fysieke processors nodig te hebben.
* Responsiviteit: Geeft de illusie van interactieve programma's, zelfs als het systeem bezet is.
* Resource Sharing: Hiermee kunnen meerdere processen bronnen delen zoals geheugen en randapparatuur.
Belangrijke overwegingen:
* Impact van prestaties: Schakelen tussen processen kost tijd. Dit wordt context schakelen overhead en kan het algehele systeem vertragen als de processen zeer veeleisend zijn.
* Multi-core CPU's: Moderne computers hebben vaak meerdere cores, waardoor meer gelijktijdige uitvoering van meerdere processen mogelijk is.
Conclusie:
Hoewel een enkele processor niet echt meer meerdere processen tegelijkertijd kan uitvoeren, kan het tijdverdeling gebruiken om de illusie van gelijktijdige uitvoering te geven. Dit is een krachtige techniek die een efficiënt gebruik van bronnen mogelijk maakt en een responsieve gebruikerservaring biedt. |