Preventivno i nepromjenjivo zakazivanje: ključne razlike

Sadržaj:

Anonim

Što je preventivno zakazivanje?

Preventivno raspoređivanje metoda je raspoređivanja gdje se zadaci uglavnom dodjeljuju sa svojim prioritetima. Ponekad je važno pokrenuti zadatak s većim prioritetom prije drugog zadatka nižeg prioriteta, čak i ako se zadatak nižeg prioriteta još uvijek izvodi.

U to vrijeme zadatak nižeg prioriteta zadržava se neko vrijeme i nastavlja se kada zadatak s višim prioritetom završi svoje izvršavanje.

U ovom vodiču za operativni sustav naučit ćete:

  • Što je preventivno zakazivanje?
  • Što je nezabranjeno zakazivanje?
  • Razlika između preventivnog i nepreventivnog zakazivanja u OS-u
  • Prednosti preventivnog zakazivanja
  • Prednosti ne-preventivnog zakazivanja
  • Mane preventivnog zakazivanja
  • Nedostaci nepreventivnog zakazivanja
  • Primjer zakazivanja bez prevencije
  • Primjer preventivnog zakazivanja

Što je nezabranjeno zakazivanje?

U ovoj vrsti metode raspoređivanja, CPU je dodijeljen određenom procesu. Proces koji CPU čini zauzetim oslobodit će CPU bilo prebacivanjem konteksta ili prekidom.

To je jedina metoda koja se može koristiti za razne hardverske platforme. To je zato što mu nije potreban specijalizirani hardver (na primjer, tajmer) poput preventivnog zakazivanja.

Nepreventivno zakazivanje događa se kada postupak dobrovoljno uđe u stanje čekanja ili se završi.

Razlika između preventivnog i nepreventivnog zakazivanja u OS-u

Ovdje su preventivno i nepreventivno raspoređivanje u OS-u

Preventivno zakazivanje Nepreventivno zakazivanje
Procesor se može spriječiti da izvršava različite procese usred bilo kojeg trenutnog izvršavanja procesa. Jednom kada procesor započne svoje izvršavanje, mora ga završiti prije izvršavanja drugog. Ne može se zaustaviti u sredini.
Korištenje CPU-a učinkovitije je u usporedbi s ne-preventivnim raspoređivanjem. Korištenje CPU-a manje je učinkovito u odnosu na preventivno raspoređivanje.
Vrijeme čekanja i odziva preventivnog zakazivanja je manje. Vrijeme čekanja i odziva metode bez preventivnog raspoređivanja je veće.
Preventivno zakazivanje ima prioritet. Proces najvišeg prioriteta je postupak koji se trenutno koristi. Kad bilo koji proces uđe u stanje pokretanja, stanje tog procesa nikada se ne briše iz planera dok ne završi svoj posao.
Preventivno zakazivanje fleksibilno je. Nepreventivno zakazivanje je kruto.
Primjeri: - Prvo najkraće preostalo vrijeme, Round Robin itd. Primjeri: Prvo posluži, najkraći posao prvo, prioritetno zakazivanje itd.
Preventivni algoritam zakazivanja može se preduhitriti, odnosno postupak se može zakazati U postupku bez preventivnog planiranja ne može se zakazati
U ovom se procesu CPU dodjeljuje procesima za određeno vremensko razdoblje. U ovom se procesu CPU dodjeljuje procesu dok se ne završi ili prebaci u stanje čekanja.
Preventivni algoritam ima općenitu potrebu za prebacivanjem procesa iz stanja pripravnosti u stanje pripravnosti i obrnuto. Nepreventivno planiranje nema takvu opću potrebu za prebacivanjem postupka iz pokretanja u stanje pripravnosti.

Prednosti preventivnog zakazivanja

Evo prednosti / prednosti metode preventivnog zakazivanja:

  • Metoda preventivnog raspoređivanja je robusnija, pristup tako da jedan postupak ne može monopolizirati CPU
  • Izbor tekućeg zadatka preispituje se nakon svakog prekida.
  • Svaki događaj uzrokuje prekid izvršavanja zadataka
  • OS osigurava da je upotreba procesora jednaka u svim pokrenutim procesima.
  • U tome je uporaba CPU-a ista, tj. Svi pokrenuti procesi jednako će koristiti CPU.
  • Ova metoda raspoređivanja također improvizira prosječno vrijeme odziva.
  • Preventivno zakazivanje korisno je kada ga koristimo za višeprogramsko okruženje.

Prednosti ne-preventivnog zakazivanja

Evo prednosti / prednosti metode bez preventivnog zakazivanja:

  • Nudi režijske troškove niskog rasporeda
  • Teži ponuditi veliku propusnost
  • To je konceptualno vrlo jednostavna metoda
  • Za planiranje je potrebno manje računarskih resursa

Mane preventivnog zakazivanja

Evo nedostataka / nedostataka metode preventivnog raspoređivanja:

  • Trebaju vam ograničeni računski resursi za raspoređivanje
  • Planeru je potrebno više vremena da obustavi izvršeni zadatak, prebaci kontekst i pošalje novi dolazni zadatak.
  • Proces s niskim prioritetom treba pričekati duže vrijeme ako neki procesi s visokim prioritetom neprestano pristižu.

Nedostaci nepreventivnog zakazivanja

Ovdje su nedostaci / nedostaci metode bez preventivnog raspoređivanja:

  • To može dovesti do gladi, posebno za one zadatke u stvarnom vremenu
  • Bug može uzrokovati smrzavanje stroja
  • To može otežati zakazivanje u stvarnom vremenu i prioritetima
  • Loše vrijeme odziva za procese

Primjer zakazivanja bez prevencije

U ne-preventivnom SJF raspoređivanju, nakon što se CPU ciklus dodijeli procesu, proces ga zadržava dok ne dosegne stanje čekanja ili se ne prekine.

Razmotrite sljedećih pet procesa od kojih svaki ima svoje jedinstveno vrijeme izbijanja i vrijeme dolaska.

Red čekanja Vrijeme praska Vrijeme dolaska
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Korak 0) U vrijeme = 0, P4 stiže i započinje izvršenje.

Korak 1) U vrijeme = 1, dolazi proces P3. Ali, P4 i dalje trebaju dvije izvršne jedinice za dovršetak. Nastavit će se izvršenje.

Korak 2) U vrijeme = 2, dolazi proces P1 koji se dodaje u red čekanja. P4 će nastaviti izvršenje.

Korak 3) U trenutku = 3, postupak P4 će završiti svoje izvršavanje. Uspoređuje se vrijeme pucanja P3 i P1. Proces P1 se izvršava jer je njegovo vrijeme pucanja manje u odnosu na P3.

Korak 4) U vrijeme = 4, dolazi proces P5 koji se dodaje u red čekanja. P1 će nastaviti izvršenje.

Korak 5) U vrijeme = 5, dolazi proces P2 koji se dodaje u red čekanja. P1 će nastaviti izvršenje.

Korak 6) U vrijeme = 9, postupak P1 će završiti svoje izvršavanje. Uspoređuje se vrijeme pucanja P3, P5 i P2. Proces P2 se izvršava jer je njegovo vrijeme pucanja najniže.

Korak 7) U vrijeme = 10, P2 se izvršava, a P3 i P5 su u redu čekanja.

Korak 8) U vrijeme = 11, postupak P2 će završiti svoje izvršavanje. Uspoređuje se vrijeme pucanja P3 i P5. Proces P5 se izvodi jer je njegovo vrijeme pucanja kraće.

Korak 9) U vrijeme = 15, postupak P5 će završiti svoje izvršavanje.

Korak 10) U vrijeme = 23, postupak P3 će završiti svoje izvršavanje.

Korak 11) Izračunajmo prosječno vrijeme čekanja za gornji primjer.

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

Primjer preventivnog zakazivanja

Razmotrite ovo u sljedeća tri postupka u Round-robin-u

Red čekanja Vrijeme praska
P1 4
P2 3
P3 5

Korak 1) Izvršenje započinje s postupkom P1, koji je pukao vrijeme 4. Ovdje se svaki postupak izvršava 2 sekunde. P2 i P3 još su u redu čekanja.

Korak 2 ) U trenutku = 2, P1 se dodaje na kraj reda i P2 počinje izvršavati

Korak 3) U vrijeme = 4, P2 se preuzima i dodaje na kraju reda. P3 počinje izvršavati.

Korak 4) U vrijeme = 6, P3 se preuzima i dodaje na kraju reda. P1 počinje izvršavati.

Korak 5) U vrijeme = 8, P1 ima vrijeme pucanja 4. Dovršio je izvršenje. P2 započinje izvršenje

Korak 6) P2 ima vrijeme pucanja od 3. Već je izvršeno za 2 intervala. U vrijeme = 9, P2 dovršava izvršenje. Zatim, P3 započinje izvršenje dok ne završi.

Korak 7) Izračunajmo prosječno vrijeme čekanja za gornji primjer.

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

KLJUČNE RAZLIKE

  • U preventivnom zakazivanju, CPU se dodjeljuje procesima za određeno vremensko razdoblje, a CPU koji ne preliminarno raspoređuje dodjeljuje se procesu dok se ne završi.
  • U preventivnom planiranju, zadaci se mijenjaju na temelju prioriteta, dok se ne vrši preventivno planiranje, ne dolazi do prebacivanja.
  • Preemptive algoritam ima općenite troškove prebacivanja procesa iz stanja pripravnosti u stanje u kojem je pokrenut, dok Non-preventivno planiranje nema takvu opću potrebu za prebacivanjem.
  • Preventivno raspoređivanje je fleksibilno, dok je nezanemarivo raspoređivanje kruto.