Kaj je načrtovanje CPU?
CPU Scheduling je postopek določanja, kateri proces bo lastnik CPU za izvedbo, medtem ko je drug postopek na čakanju. Glavna naloga razporejanja CPU je zagotoviti, da kadarkoli CPU ostane v prostem teku, OS vsaj izbere enega od postopkov, ki so na voljo v čakalni vrsti za izvedbo. Postopek izbire bo izvedel načrtovalnik CPU. Izbere enega od procesov v pomnilniku, ki so pripravljeni za izvedbo.
V tej vadnici razporejanja CPU boste izvedeli:
- Kaj je načrtovanje CPU?
- Vrste razporejanja CPU
- Pomembne terminologije za razporejanje CPU
- Merila za razporejanje CPU
- Intervalni časovnik
- Kaj je Dispatcher?
- Vrste algoritma razporejanja CPU
- Prvi pride prvi serviraj
- Najkrajši preostali čas
- Prednostno razporejanje
- Načrtovanje krožnih robinov
- Najkrajša zaposlitev najprej
- Razporejanje čakalnih vrst na več ravneh
- Namen algoritma razporejanja
Vrste razporejanja CPU
Tu sta dve vrsti metod razporejanja:
Prednostno razporejanje
Pri preventivnem načrtovanju so naloge večinoma dodeljene s prednostnimi nalogami. Včasih je pomembno, da nalogo z višjo prioriteto zaženete pred drugo nalogo z nižjo prioriteto, tudi če se naloga z nižjo prioriteto še vedno izvaja. Naloga z nižjo prioriteto ostane nekaj časa in se nadaljuje, ko naloga z višjo prioriteto zaključi svoje izvajanje.
Nepreventivno razporejanje
Pri tej vrsti metode razporejanja je bil CPU dodeljen določenemu procesu. Postopek, ki CPU zaseda, sprosti CPU bodisi s preklopom konteksta bodisi z zaključkom. To je edina metoda, ki jo je mogoče uporabiti za različne platforme strojne opreme. To pa zato, ker ne potrebuje posebne strojne opreme (na primer časovnika), kot je predhodno načrtovanje.
Kdaj je načrtovanje preventivno ali nepreventivno?
Če želite ugotoviti, ali je načrtovanje prednostno ali nepreventivno, upoštevajte te štiri parametre:
- Proces preide iz tekočega v čakalno stanje.
- Določeni postopek preklopi iz stanja delovanja v stanje pripravljenosti.
- Določeni postopek preklopi iz stanja čakanja v stanje pripravljenosti.
- Proces se je zaključil in zaključil.
Veljata samo pogoja 1 in 4, razpored se imenuje nepredvidljiv.
Vsi drugi razpored so prednostni.
Pomembne terminologije za razporejanje CPU
- Čas porušitve / čas izvedbe: čas je potreben za dokončanje postopka. Imenuje se tudi čas delovanja.
- Čas prihoda: ko proces vstopi v pripravljeno stanje
- Končni čas: ko se postopek zaključi in izstopi iz sistema
- Multiprogramiranje: Številni programi, ki so lahko hkrati prisotni v pomnilniku.
- Jobs: To je vrsta programa brez kakršne koli interakcije z uporabnikom.
- Uporabnik: To je nekakšen program z interakcijo uporabnika.
- Proces: To je referenca, ki se uporablja za opravilo in uporabnika.
- Cikel porušitve CPU / IO: označuje izvajanje postopka, ki se izmenjuje med CPU in I / O dejavnostjo. Časi procesorja so običajno krajši od časa V / I.
Merila za razporejanje CPU
Algoritem razporejanja CPU poskuša maksimirati in minimizirati naslednje:
Povečaj:
Uporaba CPU: Uporaba CPU je glavna naloga, pri kateri mora operacijski sistem zagotoviti, da CPU ostane čim bolj zaseden. Lahko se giblje od 0 do 100 odstotkov. Vendar pa se lahko za sistem RTOS giblje med 40 odstotki za nizko raven in 90 odstotkov za sistem na visoki ravni.
Pretočnost: Število procesov, ki zaključijo svojo izvedbo na enoto časa, je znano. Torej, ko je CPU zaseden z izvajanjem procesa, je takrat delo opravljeno in delo, dokončano na enoto časa, se imenuje Pretočnost.
Zmanjšaj:
Čakalna doba: čakalna doba je količina, ki jo mora določen postopek počakati v čakalni vrsti.
Čas odziva: To je čas, v katerem je bila zahteva vložena, dokler ni podan prvi odgovor.
Čas obrata: Čas obrata je čas, potreben za izvedbo določenega postopka. To je izračun skupnega časa, porabljenega za čakanje na pomnilnik, čakanje v čakalni vrsti in izvajanje na CPU. Obdobje med časom oddaje postopka in časom zaključka je čas obrata.
Intervalni časovnik
Prekinitev časovnika je metoda, ki je tesno povezana s predkupno. Ko določen proces dobi dodelitev CPU, se lahko časovnik nastavi na določen interval. Tako prekinitev časovnika kot tudi prednastavitev prisilita proces, da vrne CPU, preden se CPU poruši.
Večina večprogramiranega operacijskega sistema uporablja neko obliko časovnika, s čimer prepreči, da bi postopek za vedno vezal sistem.
Kaj je Dispatcher?
Je modul, ki zagotavlja nadzor nad procesorjem procesa. Dispečer mora biti hiter, da lahko deluje na vsakem kontekstnem stikalu. Zakasnitev odpreme je čas, ki ga potrebuje načrtovalnik procesorja, da ustavi en postopek in zažene drugega.
Funkcije, ki jih izvaja Dispatcher:
- Preklop konteksta
- Preklop v uporabniški način
- Premik na pravilno mesto v novo naloženem programu.
Vrste algoritma razporejanja CPU
V glavnem obstaja šest vrst algoritmov za razporejanje procesov
- Prvi pride prvi (FCFS)
- Načrtovanje najkrajšega delovnega mesta (SJF)
- Najkrajši preostali čas
- Prednostno razporejanje
- Razpored okroglega robina
- Večrazredno načrtovanje čakalnih vrst
Prvi pride prvi serviraj
First Come First Serve je celotna oblika FCFS. To je najlažji in najbolj preprost algoritem za razporejanje CPU. Pri tej vrsti algoritma proces, ki zahteva CPU, najprej dobi dodelitev CPU. To metodo razporejanja lahko upravljate s čakalno vrsto FIFO.
Ko postopek vstopi v čakalno vrsto, je njegov PCB (Process Control Block) povezan z repom čakalne vrste. Ko CPU postane brezplačen, ga je treba dodeliti postopku na začetku čakalne vrste.
Značilnosti metode FCFS:
- Ponuja algoritem za predhodno in predhodno razporejanje.
- Dela se vedno izvajajo po načelu »prvi pride, prvi dobi«
- Je enostaven za uporabo in uporabo.
- Vendar je ta metoda slaba in splošna čakalna doba je precej visoka.
Najkrajši preostali čas
Celotna oblika SRT je najkrajši preostali čas. Znano je tudi kot preventivno načrtovanje SJF. Pri tej metodi bo postopek dodeljen nalogi, ki je najbližje njenemu zaključku. Ta metoda novejšemu pripravljenemu stanju preprečuje, da bi zadrževal zaključek starejšega postopka.
Značilnosti metode razporejanja SRT:
- Ta metoda se večinoma uporablja v paketnih okoljih, kjer je treba dati prednost kratkim opravilom.
- To ni idealna metoda za njegovo izvajanje v skupnem sistemu, kjer potreben čas procesorja ni znan.
- Z vsakim postopkom povežite dolžino naslednjega porušitve CPU. Operacijski sistem torej uporablja te dolžine, kar pomaga načrtovati postopek s čim krajšim časom.
Prednostno razporejanje
Prednostno razporejanje je metoda razporejanja procesov, ki temelji na prednostnih nalogah. Pri tej metodi načrtovalnik izbere naloge, ki bodo delovale glede na prioriteto.
Prednostno razporejanje tudi pomaga OS-u, da vključuje prednostne naloge. Najprej je treba izvesti procese z višjo prednostjo, medtem ko se delovna mesta z enakimi prednostnimi nalogami izvajajo po principu okrogle mize ali FCFS. Prednost lahko določite glede na zahteve glede pomnilnika, časa itd.
Načrtovanje krožnih robinov
Round robin je najstarejši, najpreprostejši algoritem razporejanja. Ime tega algoritma izvira iz načela krožnega gibanja, kjer vsak dobi po vrsti enak delež. Večinoma se uporablja za razporejanje algoritmov pri večopravilnosti. Ta algoritemska metoda pomaga pri izvajanju procesov brez stradanja.
Značilnosti časovnega načrtovanja
- Round robin je hibridni model, ki ga poganja ura
- Časovni rez mora biti minimalen, kar je določeno za določeno nalogo, ki jo je treba obdelati. Vendar se lahko razlikuje za različne procese.
- To je sistem v realnem času, ki se na dogodek odzove v določenem roku.
Najkrajša zaposlitev najprej
SJF je celotna oblika (Najprej najkrajše opravilo) je algoritem za razporejanje, pri katerem je treba za izvedbo izbrati postopek z najkrajšim časom izvedbe. Ta metoda razporejanja je lahko preventivna ali nepreventivna. Znatno skrajša povprečno čakalno dobo za druge procese, ki čakajo na izvedbo.
Značilnosti razporejanja SJF
- Z vsakim opravilom je povezan kot enota časa za dokončanje.
- Ko je CPU na voljo, se pri tej metodi najprej izvede naslednji postopek ali opravilo z najkrajšim časom zaključka.
- Izvaja se z nepredvidljivo politiko.
- Ta algoritemska metoda je uporabna za paketno obdelavo, kjer čakanje na dokončanje opravil ni kritično.
- Izboljša izhodne naloge tako, da ponuja krajše naloge, ki bi jih bilo treba najprej izvesti, ki imajo večinoma krajši čas obnove.
Razporejanje čakalnih vrst na več ravneh
Ta algoritem loči čakalno vrsto pripravljenosti v različne ločene vrste. Pri tej metodi so procesi dodeljeni čakalni vrsti na podlagi določene lastnosti procesa, kot so prednost procesa, velikost pomnilnika itd.
Vendar to ni neodvisen algoritem za načrtovanje OS, saj mora za razporejanje opravil uporabiti druge vrste algoritmov.
Značilnost razporejanja čakalnih vrst na več ravneh:
- Za procese z nekaterimi značilnostmi je treba vzdrževati več čakalnih vrst.
- Vsaka vrsta ima lahko svoje ločene algoritme za razporejanje.
- Prednostne naloge so podane za vsako vrsto.
Namen algoritma razporejanja
Tukaj so razlogi za uporabo algoritma razporejanja:
- CPU uporablja načrtovanje za izboljšanje svoje učinkovitosti.
- Pomaga vam razporediti vire med konkurenčnimi procesi.
- Največji izkoristek CPU je mogoče doseči z večprogramiranjem.
- Procesi, ki jih je treba izvesti, so v pripravljeni vrsti.
Povzetek:
- Načrtovanje procesorja je postopek določanja, kateri proces bo lastnik CPU za izvedbo, medtem ko je drug postopek na čakanju.
- Pri preventivnem načrtovanju so naloge večinoma dodeljene s prednostnimi nalogami.
- Pri metodi predhodnega načrtovanja je bil CPU dodeljen določenemu postopku.
- Čas porušitve je čas, potreben za dokončanje postopka. Imenuje se tudi čas delovanja.
- Uporaba procesorja je glavna naloga, pri kateri mora operacijski sistem zagotoviti, da CPU ostane čim bolj zaseden
- Število procesov, ki zaključijo svojo izvedbo na enoto časa, je znano.
- Čakalna doba je količina, ki jo mora določen postopek počakati v čakalni vrsti.
- To je čas, v katerem je bila zahteva vložena do prvega odgovora.
- Čas preusmeritve je čas, potreben za izvedbo določenega postopka.
- Prekinitev časovnika je metoda, ki je tesno povezana s prednostjo,
- Dispečer je modul, ki zagotavlja nadzor nad procesorjem procesa.
- Šest vrst algoritmov za razporejanje procesov je:
- First Come First Serve (FCFS), 2) Najkrajša razporeditev delovnih mest (SJF) 3) Najkrajši preostali čas 4) Prednostno razporejanje 5) Robin Robin 6) Razporejanje v več nivojih
- Pri metodi First Come First Serve postopek, ki zahteva CPU, najprej dobi dodelitev CPU.
- V najkrajšem preostalem času bo postopek dodeljen nalogi, ki je najbližje njenemu zaključku.
- V razporejevalniku prioritet razporeja naloge, ki bodo delovale glede na prioriteto.
- V tem časovnem načrtovanju Round Robin deluje načeloma, kjer vsak dobi po vrsti enak delež
- Pri najkrajšem opravilu je treba najprej izbrati najkrajši čas izvedbe za naslednje izvajanje
- Pri razporejanju na več nivojih metoda loči čakalno vrsto v različne ločene vrste. Pri tej metodi so procesi dodeljeni čakalni vrsti na podlagi določene lastnosti
- CPU uporablja načrtovanje za izboljšanje svoje učinkovitosti.