Algoritam prioritetnog zakazivanja: preventivni, nepreventivni PRIMJER

Sadržaj:

Anonim

Što je planiranje prioriteta?

Prioritetno planiranje je metoda raspoređivanja procesa koja se temelji na prioritetu. U ovom algoritmu, planer odabire zadatke za rad prema prioritetu.

Prvo bi se trebali provesti procesi s većim prioritetom, dok se poslovi s jednakim prioritetima izvode na principu okruglog roba ili FCFS. Prioritet ovisi o zahtjevima memorije, vremenu, itd.

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

  • Što je planiranje prioriteta?
  • Vrste prioritetnog zakazivanja
  • Karakteristike planiranja prioriteta
  • Primjer zakazivanja prioriteta
  • Prednosti zakazivanja prioriteta
  • Nedostaci planiranja prioriteta

Vrste prioritetnog zakazivanja

Raspored prioriteta podijeljen u dvije glavne vrste:

Preventivno zakazivanje

U preventivnom rasporedu zadaci su uglavnom dodijeljeni 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. Zadatak nižeg prioriteta zadržava se neko vrijeme i nastavlja se kada zadatak s višim prioritetom završi svoje izvršavanje.

Nepreventivno zakazivanje

U ovoj vrsti metode raspoređivanja, CPU je dodijeljen određenom procesu. Proces koji CPU čini zauzetim, oslobodit će CPU mijenjanjem konteksta ili prekidom. To je jedina metoda koja se može koristiti za razne hardverske platforme. To je zato što mu nije potreban poseban hardver (na primjer, tajmer) poput preventivnog zakazivanja.

Karakteristike planiranja prioriteta

  • CPU algoritam koji planira procese na temelju prioriteta.
  • Koristi se u operacijskim sustavima za izvođenje skupnih procesa.
  • Ako su dva posla s istim prioritetom SPREMNA, to funkcionira PRVO DOĐI, PRVO OSLUŽENO.
  • U planiranju prioriteta, svakom procesu se dodjeljuje broj koji označava njegovu razinu prioriteta.
  • Što je broj manji, prioritet je veći.
  • U ovoj vrsti algoritma zakazivanja, ako stigne noviji postupak, koji ima veći prioritet od trenutno pokrenutog postupka, tada se preuzima trenutno pokrenut postupak.

Primjer zakazivanja prioriteta

Razmotrite sljedećih pet procesa P1 do P5. Svaki postupak ima svoj jedinstveni prioritet, vrijeme pucanja i vrijeme dolaska.

Postupak Prioritet Vrijeme praska Vrijeme dolaska
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Korak 0) U vrijeme = 0, stižu procesi P1 i P2. P1 ima veći prioritet od P2. Izvršenje započinje postupkom P1, koji je pukao vrijeme 4.

Korak 1) U vrijeme = 1, ne dolazi novi postupak. Izvršenje se nastavlja s P1.

Korak 2) U vrijeme 2 ne dolazi novi postupak, pa možete nastaviti s P1. P2 je u redu čekanja.

Korak 3) U trenutku 3 ne stiže novi postupak pa možete nastaviti s P1. Proces P2 još uvijek je u redu čekanja.

Korak 4) U vrijeme 4, P1 je završio svoje izvršavanje. P2 započinje izvršenje.

Korak 5) U vrijeme = 5, ne dolazi novi proces, pa nastavljamo s P2.

Korak 6) U vrijeme = 6, dolazi P3. P3 ima veći prioritet (1) u odnosu na P2 koji ima prioritet (2). P2 je preuzet, a P3 započinje njegovo izvršenje.

Postupak Prioritet Vrijeme praska Vrijeme dolaska
P1 1 4 0
P2 2 1 od 3 na čekanju 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Korak 7) U vrijeme 7 ne dolazi novi proces, pa nastavljamo s P3. P2 je u redu čekanja.

Korak 8) U vrijeme = 8, ne dolazi novi postupak, pa možemo nastaviti s P3.

Korak 9) U vrijeme = 9, ne dolazi novi proces kako bismo mogli nastaviti s P3.

Korak 10) U vremenskom intervalu 10 ne dolazi do novog postupka, pa nastavljamo s P3

Korak 11) U vrijeme = 11, P4 dolazi s prioritetom 4. P3 ima veći prioritet, pa nastavlja svoje izvršavanje.

Postupak Prioritet Vrijeme praska Vrijeme dolaska
P1 1 4 0
P2 2 1 od 3 na čekanju 0
P3 1 2 od 7 na čekanju 6
P4 3 4 11
P5 2 2 12

Korak 12) U vrijeme = 12, dolazi P5. P3 ima veći prioritet, pa nastavlja izvršenje.

Korak 13) U vrijeme = 13, P3 dovršava izvršenje. Imamo P2, P4, P5 u spremnom redu. P2 i P5 imaju jednak prioritet. Vrijeme dolaska P2 je prije P5. Dakle, P2 započinje izvršenje.

Postupak Prioritet Vrijeme praska Vrijeme dolaska
P1 1 4 0
P2 2 1 od 3 na čekanju 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Korak 14) U vrijeme = 14, P2 postupak je završio svoje izvršavanje. P4 i P5 su u stanju čekanja. P5 ima najveći prioritet i započinje izvršenje.

Korak 15) U vrijeme = 15, P5 nastavlja izvršenje.

Korak 16) U trenutku = 16, P5 je završen sa svojim izvršavanjem. P4 je jedini preostali postupak. Započinje izvršenje.

Korak 17) U vrijeme = 20, P5 je dovršio izvršenje i nije preostao nijedan postupak.

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

Vrijeme čekanja = vrijeme početka - vrijeme dolaska + vrijeme čekanja za sljedeći rafal

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Prednosti zakazivanja prioriteta

Evo prednosti / prednosti korištenja metode planiranja prioriteta:

  • Jednostavna metoda raspoređivanja
  • Procesi se izvršavaju na osnovi prioriteta, tako da visoki prioritet ne treba dugo čekati što štedi vrijeme
  • Ova metoda pruža dobar mehanizam gdje se relativni značaj svakog postupka može precizno definirati.
  • Pogodno za aplikacije s promjenjivim vremenom i potrebama za resursima.

Nedostaci planiranja prioriteta

Ovdje su nedostaci / nedostaci planiranja prioriteta

  • Ako se sustav na kraju sruši, svi procesi niskog prioriteta se gube.
  • Ako procesima visokog prioriteta treba puno procesorskog vremena, tada procesi nižeg prioriteta mogu izgladnjeti i odgodit će se na neodređeno vrijeme.
  • Ovaj algoritam zakazivanja može ostaviti neke procese niskog prioriteta da čekaju neograničeno dugo.
  • Proces će biti blokiran kada je spreman za pokretanje, ali mora pričekati CPU jer je neki drugi proces trenutno pokrenut.
  • Ako se novi postupak višeg prioriteta i dalje pojavljuje u redu spremnosti, tada će postupak koji je u stanju čekanja možda trebati čekati dulje vrijeme.

Sažetak:

  • Zakazivanje prioriteta metoda je raspoređivanja procesa koja se temelji na prioritetu. U ovom algoritmu, planer odabire zadatke za rad prema prioritetu.
  • U prioritetnom preventivnom rasporedu zadaci su uglavnom dodijeljeni sa svojim prioritetima.
  • U metodi prioritetnog ne-preventivnog zakazivanja, CPU je dodijeljen određenom procesu.
  • Procesi se izvršavaju na osnovi prioriteta, tako da visoki prioritet ne treba dugo čekati što štedi vrijeme
  • Ako procesima visokog prioriteta treba puno procesorskog vremena, tada procesi nižeg prioriteta mogu izgladnjeti i odgodit će se na neodređeno vrijeme.