1.4 - Operating System Structure (p.18)
Multiprogramming
- Multiprogramming = Het verhogen van het CPU gebruik door het organiseren van taken (zowel code en data) zodat de CPU altijd iets te doen heeft.
- 1 Progamma kan niet de CPU en IO altijd bezig houden.
- Hoe werkt multiprogamming:
- Alle taken worden in de job pool geplaatst in de hardeschijf 1.
- Bepaalde taken of delen ervan worden verplaatst naar de job pool in het geheugen.
- De CPU pakt een taak uit de job pool in het geheugen en voert deze uit.
- Wanneer die taak moet wachten op bijvoorbeeld een IO operatie, pakt de CPU de eerstvolgende taak uit de job pool en voert deze uit.
- Etc.
- Wanneer de taak klaar is met wachten op de IO operatie krijgt deze de CPU weer terug om de taak te kunnen afronden.
- Als er genoeg te doen valt wordt de CPU nooit idle.
Time Sharing/Multitasking = De gebruiker kan meerdere programmas tegelijk gebruiken omdat de CPU zo vaak switcht. De response time moet kort zijn, (< 1s).
Process = Een in het geheugen geladen en uitvoerend programma.
- Job Scheduling = Als het OS moet kiezen welke programmas in de het geheugen worden geplaast om te worden uitgevoerd.
- CPU Scheduling = Als de CPU moet kiezen welke taak hij als eerste gaat uitvoeren wanneer meerdere taken tegelijk klaar staan om te worden uitgevoerd.
- Swapping = Als processen van het geheugen worden omgewisseld met die uit de job pool op de hardeschijf.
- Physical Memory = "Echt" geheugen
- Virtual Memory = "Nep" geheugen, meestal een gedeelte op de hardschijf.
1. Dit is omdat er te weinig geheugen zou zijn, waarschijnlijk in 2010 zeker wel. Nu niet meer zo denk ik. Al worden er soms wel nog swap files worden aangemaakt (virtual memory) op de hardeschijven als er te weinig geheugen is. Dit is vaal wel erg intensief voor de HDD. ↩