Förebyggande vs icke förebyggande schemaläggning: Viktiga skillnader

Innehållsförteckning:

Anonim

Vad är förebyggande schemaläggning?

Förebyggande schemaläggning är en schemaläggningsmetod där uppgifterna oftast tilldelas sina prioriteringar. Ibland är det viktigt att köra en uppgift med högre prioritet före en annan uppgift med lägre prioritet, även om uppgiften med lägre prioritet fortfarande körs.

Vid den tiden hålls uppgiften med lägre prioritet under en tid och återupptas när uppgiften med högre prioritet är klar.

I den här handboken för operativsystem lär du dig:

  • Vad är förebyggande schemaläggning?
  • Vad är icke-förebyggande schemaläggning?
  • Skillnaden mellan förebyggande och icke förebyggande schemaläggning i operativsystem
  • Fördelar med förebyggande schemaläggning
  • Fördelar med icke-förebyggande schemaläggning
  • Nackdelar med förebyggande schemaläggning
  • Nackdelar med icke-förebyggande schemaläggning
  • Exempel på icke-förebyggande schemaläggning
  • Exempel på förebyggande schemaläggning

Vad är icke-förebyggande schemaläggning?

I denna typ av schemaläggningsmetod har CPU tilldelats en specifik process. Processen som håller CPU upptagen kommer att frigöra CPU antingen genom att byta sammanhang eller avsluta.

Det är den enda metoden som kan användas för olika hårdvaruplattformar. Det beror på att det inte behöver specialiserad hårdvara (till exempel en timer) som förebyggande schemaläggning.

Icke-förebyggande schemaläggning inträffar när en process frivilligt går in i vänteläget eller avslutas.

Skillnaden mellan förebyggande och icke förebyggande schemaläggning i operativsystem

Här är förebyggande och icke förebyggande schemaläggning i operativsystemet

Förebyggande schemaläggning Icke-förebyggande schemaläggning
En processor kan förhindras för att utföra de olika processerna mitt i alla aktuella processkörningar. När processorn börjar köras måste den avsluta den innan den andra körs. Det kan inte pausas i mitten.
CPU-utnyttjande är effektivare jämfört med icke-förebyggande schemaläggning. CPU-användning är mindre effektivt jämfört med förebyggande schemaläggning.
Väntetiden och svarstiden för förebyggande schemaläggning är mindre. Väntetiden och svarstiden för den icke förebyggande schemaläggningsmetoden är högre.
Förebyggande schemaläggning prioriteras. Processen med högsta prioritet är en process som för närvarande används. När någon process går in i körningsläget raderas aldrig processen för schemaläggaren förrän den har avslutat sitt jobb.
Förebyggande schemaläggning är flexibel. Icke-förebyggande schemaläggning är stel.
Exempel: - Kortast kvarvarande tid först, Round Robin, etc. Exempel: First Come First Serve, Shortest Job First, Priority Scheduling, etc.
Förebyggande schemaläggningsalgoritm kan föregripas, det vill säga processen kan planeras I icke-förebyggande schemaläggningsprocessen kan inte schemaläggas
I den här processen tilldelas processorn processerna under en viss tidsperiod. I denna process allokeras CPU till processen tills den avslutas eller växlar till vänteläge.
Förebyggande algoritm har kostnaden för att växla processen från det färdiga tillståndet till det körande tillståndet och vice versa. Icke-förebyggande schemaläggning har ingen sådan kostnad att byta processen från att köra till klart tillstånd.

Fördelar med förebyggande schemaläggning

Här är fördelar / fördelar med förebyggande schemaläggningsmetod:

  • Förebyggande schemaläggningsmetod är mer robust, tillvägagångssätt så att en process inte kan monopolisera CPU: n
  • Val av löpande uppgift omprövas efter varje avbrott.
  • Varje händelse orsakar avbrott i löpande uppgifter
  • Operativsystemet ser till att CPU-användningen är densamma för alla processer som körs.
  • I detta är användningen av CPU densamma, dvs alla processer som körs kommer att använda CPU lika.
  • Denna schemaläggningsmetod improviserar också den genomsnittliga svarstiden.
  • Förebyggande schemaläggning är fördelaktigt när vi använder den för multiprogrammeringsmiljön.

Fördelar med icke-förebyggande schemaläggning

Här är fördelar / fördelar med icke-förebyggande schemaläggningsmetod:

  • Erbjuder lågt schemalagda omkostnader
  • Tenderar att erbjuda hög kapacitet
  • Det är begreppsmässigt mycket enkel metod
  • Mindre beräkningsresurser behöver för schemaläggning

Nackdelar med förebyggande schemaläggning

Här är nackdelar / nackdelar med förebyggande schemaläggningsmetod:

  • Behöver begränsade beräkningsresurser för schemaläggning
  • Det tar högre tid av schemaläggaren att avbryta den pågående uppgiften, byta sammanhang och skicka den nya inkommande uppgiften.
  • Processen som har låg prioritet måste vänta längre om vissa högprioriterade processer anländer kontinuerligt.

Nackdelar med icke-förebyggande schemaläggning

Här är nackdelar / nackdelar med icke-förebyggande schemaläggningsmetod:

  • Det kan leda till svält särskilt för dessa realtidsuppgifter
  • Fel kan orsaka att maskinen fryser
  • Det kan göra schemaläggning i realtid och prioritering svår
  • Dålig svarstid för processer

Exempel på icke-förebyggande schemaläggning

I icke-förebyggande SJF-schemaläggning, när CPU-cykeln är allokerad att bearbeta, håller processen den tills den når ett vänteläge eller avslutas.

Tänk på följande fem processer som alla har sin egen unika bursttid och ankomsttid.

Processkö Bursttid Ankomst tid
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Steg 0) Vid tid = 0 anländer P4 och startar körningen.

Steg 1) Vid tid = 1 anländer process P3. Men P4 behöver fortfarande två exekveringsenheter för att slutföra. Det kommer att fortsätta körningen.

Steg 2) Vid tid = 2 anländer process P1 och läggs till i väntekön. P4 fortsätter körningen.

Steg 3) Vid tid = 3 kommer processen P4 att slutföra körningen. Bursttiden för P3 och P1 jämförs. Process P1 körs eftersom dess burst-tid är mindre jämfört med P3.

Steg 4) Vid tid = 4 anländer process P5 och läggs till i väntekön. P1 fortsätter körningen.

Steg 5) Vid tid = 5 anländer process P2 och läggs till i väntekön. P1 fortsätter körningen.

Steg 6) Vid tid = 9 kommer processen P1 att slutföra körningen. Bursttiden för P3, P5 och P2 jämförs. Process P2 körs eftersom dess burst-tid är den lägsta.

Steg 7) Vid tid = 10 kör P2 och P3 och P5 står i väntekön.

Steg 8) Vid tid = 11 kommer processen P2 att slutföra körningen. Bursttiden för P3 och P5 jämförs. Process P5 körs eftersom dess burst-tid är lägre.

Steg 9) Vid tid = 15 kommer processen P5 att slutföra körningen.

Steg 10) Vid tid = 23 kommer processen P3 att slutföra körningen.

Steg 11) Låt oss beräkna den genomsnittliga väntetiden för ovanstående exempel.

Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

Exempel på förebyggande schemaläggning

Tänk på följande tre processer i Round-robin

Processkö Bursttid
P1 4
P2 3
P3 5

Steg 1) Körningen börjar med process P1, som har burst-tid 4. Här körs varje process i 2 sekunder. P2 och P3 står fortfarande i väntekön.

Steg 2 ) Vid tid = 2 läggs P1 till i slutet av kön och P2 börjar köras

Steg 3) Vid tid = 4 förhindras P2 och lägg till i slutet av kön. P3 börjar köra.

Steg 4) Vid tid = 6 förhindras P3 och lägg till i slutet av kön. P1 börjar köra.

Steg 5) Vid tid = 8 har P1 en bursttid på 4. Den har slutfört körningen. P2 startar körningen

Steg 6) P2 har en bursttid på 3. Den har redan körts i två intervall. Vid tid = 9 slutför P2 körningen. Sedan startar P3 körningen tills den är klar.

Steg 7) Låt oss beräkna den genomsnittliga väntetiden för ovanstående exempel.

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

VÄSENTLIGA SKILLNADER

  • I förebyggande schemaläggning allokeras CPU: n till processerna under en viss tidsperiod, och icke-förebyggande schemaläggningsprocessor allokeras till processen tills den avslutas.
  • I förebyggande schemaläggning byts uppgifter baserat på prioritet medan icke-förebyggande schemaläggning ingen omkoppling sker.
  • Förebyggande algoritm har kostnaden för att växla processen från det färdiga tillståndet till det körande tillståndet medan icke-förebyggande schemaläggning inte har någon sådan överhead för att byta.
  • Förebyggande schemaläggning är flexibel medan icke förebyggande schemaläggning är stel.