Een proces is een programma in uitvoering. Een computer moet veel taken tegelijkertijd uitvoeren. Daarom zou de CPU processen moeten krijgen en uitvoeren. Soms is het nodig om sommige processen uit te voeren dan de andere processen. Op dat moment wordt het lopende proces onderbroken en wordt CPU toegewezen aan het nieuwe proces. Nadat de taak is voltooid, wordt de CPU terug toegewezen aan het vorige proces. De planning volgens dit mechanisme staat bekend als preëmptieve planning. Als het lopende proces niet onderbroken kan worden en het is verplicht om het lopende proces uit te voeren, dan staat het bekend als niet-preventieve planning. Dit artikel bespreekt het verschil tussen de preëmptieve en niet-preventieve planning in een besturingssysteem. De preëmptieve planning is het procesplanningsmechanisme waardoor een proces kan worden onderbroken door een ander proces in het midden van de uitvoering. De niet-preventieve planning is het procesplanningsmechanisme waardoor één proces pas wordt uitgevoerd nadat het vorige proces is beëindigd. Dat is de belangrijk verschil tussen Preemptive en Nonpreemptive Scheduling in OS.
1. Overzicht en belangrijkste verschil
2. Wat is Preemptive Scheduling in OS
3. Wat is Nonpreemptive Scheduling in OS
4. Overeenkomsten tussen preventieve en niet-preventieve planning in OS
5. Side-by-side vergelijking - Preemptieve vs niet-preventieve planning in OS in tabelvorm
6. Samenvatting
Round Robin Scheduling is een voorbeeld van preëmptieve planning. Elk proces krijgt een kleine hoeveelheid CPU-tijd. Het is meestal 10 tot 100 milliseconden. Deze kleine gegevenseenheid wordt ook wel tijdkwantum genoemd. Nadat deze tijd is verstreken, wordt het proces onderdrukt en toegevoegd aan het einde van de wachtrij. Neem aan dat er 4 processen zijn als P1, P2, P3 en P4. De burst-tijden van de CPU in milliseconden zijn als volgt. Het tijdskwantum is 20.
Figuur 01: Voorbeeld van Round Robin-planning
Het P1-proces wordt uitgevoerd tot 20. Er is nog 33ms over. Vervolgens voert de P2 uit. Aangezien de tijdkwantum 20 is en de vereiste tijd P2 17 ms is, zal P2 gedurende 17 ms worden uitgevoerd. Het P2-proces is dus voltooid. Dan wordt de kans gegeven aan P3. Het wordt gedurende 20 ms uitgevoerd. De rest is 48ms. Vervolgens wordt de P4 gedurende 20 ms uitgevoerd. Het heeft 4ms om het totale proces te voltooien. Nogmaals, de P1 zal gedurende 20ms worden uitgevoerd. Het heeft nog eens 13ms om het proces te voltooien. De wijziging wordt gegeven aan P3. Het wordt gedurende 20 ms uitgevoerd en het heeft nog eens 28 ms om volledig te eindigen. De P4 wordt uitgevoerd. Het heeft slechts 4ms. Daarom voltooit P4 de uitvoering. P2 en P4 zijn al klaar. De resterende processen zijn P1 en P3. De kans wordt gegeven aan P3. Het had 13ms om te voltooien, dus het is voltooid. Nu is het enige resterende proces P3. Het heeft 28ms om te voltooien. Dus P3 loopt gedurende 20 ms. De rest is 8ms. Alle andere processen zijn al uitgevoerd. Daarom zal de rest van 8ms van P3 opnieuw worden uitgevoerd. Op dezelfde manier krijgt elk proces de kans om uit te voeren.
First Come First Served (FCFS) -planning kan worden beschouwd als een voorbeeld van niet-preventieve planning. Het proces dat eerst wordt aangevraagd, wordt eerst toegewezen aan de CPU. Deze planning wordt eenvoudig beheerd door de wachtrij First In First Out (FIFO). Als er processen zijn die in orde zijn als P1, P2 en P3, dan wordt de kans eerst aan P1 gegeven. Nadat het is voltooid, wordt P2 uitgevoerd. Wanneer P2 voltooit, zal de P3 worden uitgevoerd. Stel dat er 3 processen zijn als P1, P2 en P3 met CPU-burst-tijden in milliseconden als volgt.
Figuur 02: Voorbeeld van FCFS-planning
Volgens het bovenstaande zal P1 worden uitgevoerd. Nadat het is voltooid, wordt het proces P2 gedurende 3 ms uitgevoerd. Nu is het resterende proces P3. Dan zal het uitvoeren. De wachttijd voor P1 is nul. Het proces P2 moest 24 ms wachten en het proces P3 moest 27 ms wachten. Als de processen zijn aangekomen in volgorde P2, P3 en P1, zal P2 eerst worden voltooid. Volgende P3 wordt voltooid en uiteindelijk wordt P1 voltooid.
Pre-preventieve versus niet-pre-indicatieve planning in OS | |
De preëmptieve planning is het procesplanningsmechanisme waardoor een proces kan worden onderbroken door een ander proces in het midden van de uitvoering. | De niet-preventieve planning is het procesplanningsmechanisme waardoor één proces pas wordt uitgevoerd nadat het vorige proces is beëindigd. |
Procesonderbreking | |
Bij preventieve planning kunnen de processen worden onderbroken. | In niet-preventieve planning kunnen de processen worden onderbroken. |
CPU-gebruik | |
In preventieve planning is het CPU-gebruik hoger dan niet-preventieve planning. | Bij niet-preëmptieve planning is het CPU-gebruik minimaal vergeleken met preventieve planning. |
Flexibiliteit | |
Pre-preventieve planning is flexibel. | Niet-preventieve planning is niet flexibel. |
Er zijn meerdere processen op een computer. Wanneer elk proces wordt uitgevoerd, wordt de CPU toegewezen aan dat specifieke proces. Soms is het nodig om de uitvoering van het huidige proces te stoppen en prioriteit te geven aan een ander proces. Processen-planningsmechanismen kunnen preventief of niet-preventief zijn. De preëmptieve planning is het procesplanningsmechanisme waardoor het proces kan worden onderbroken door een ander proces in het midden van de uitvoering. De niet-preventieve planning is het procesplanningsmechanisme waarbij het ene proces pas wordt uitgevoerd nadat het vorige proces is beëindigd. Dit is het verschil tussen Preemptive en Nonpreemptive Scheduling in OS.
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens citaatnotitie. Download de PDF-versie hier: Verschil tussen preventieve en niet-voorlopige planning in OS
1. Wat is pre-emptive en niet-preventieve planning?. Beschikbaar Hier
2.Point, zelfstudies. "Algoritmen voor het plannen van het besturingssysteem.", Tutorials Point. 8 januari 2018. Beschikbaar Hier
3. "Wat zijn pre-emptieve en niet-preventieve termen in de context van OS?" GeeksforGeeks Q & A. Beschikbaar Hier