Što je CPU planiranje?
CPU zakazivanje je postupak određivanja kojem će procesu pripadati CPU za izvršenje dok je drugi postupak na čekanju. Glavni zadatak raspoređivanja CPU-a je osigurati da OS, kad god CPU ostane neaktivan, barem odabere jedan od procesa dostupnih u redu spremnosti za izvršenje. Postupak odabira provest će CPU planer. Odabire jedan od procesa u memoriji koji su spremni za izvršenje.
U ovom vodiču za planiranje CPU-a naučit ćete:
- Što je CPU planiranje?
- Vrste zakazivanja CPU-a
- Važne terminologije za planiranje CPU-a
- Kriteriji za raspored CPU-a
- Intervalni mjerač vremena
- Što je Dispatcher?
- Vrste algoritma za planiranje CPU-a
- Prvo dođi prva posluži
- Najkraće preostalo vrijeme
- Zakazivanje na osnovi prioriteta
- Zakazivanje zaokruživanja
- Najkraći posao prvo
- Zakazivanje redova više nivoa
- Svrha algoritma raspoređivanja
Vrste zakazivanja CPU-a
Evo dvije vrste metoda zakazivanja:
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 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 poseban hardver (na primjer, tajmer) poput preventivnog zakazivanja.
Kada je zakazivanje preventivno ili nepreventivno?
Da biste utvrdili je li zakazivanje preventivno ili nepromijenjeno, uzmite u obzir ova četiri parametra:
- Proces se prebacuje iz tekućeg u stanje čekanja.
- Određeni proces prebacuje se iz aktivnog stanja u stanje pripravnosti.
- Određeni proces prebacuje se iz stanja čekanja u stanje pripravnosti.
- Proces je završio svoje izvršenje i završen.
Primjenjuju se samo uvjeti 1 i 4, raspored se naziva nepreventivnim.
Sva ostala zakazivanja su preventivna.
Važne terminologije za planiranje CPU-a
- Vreme praska / Vrijeme izvršenja: Vrijeme je koje postupak zahtijeva za dovršenje izvršenja. Naziva se i vrijeme rada.
- Vrijeme dolaska: kada proces uđe u stanje pripravnosti
- Vrijeme završetka: kada je proces završen i izlazak iz sustava
- Multiprogramiranje: Brojni programi koji istovremeno mogu biti prisutni u memoriji.
- Poslovi: To je vrsta programa bez ikakve interakcije s korisnikom.
- Korisnik: To je vrsta programa s korisničkom interakcijom.
- Postupak: To je referenca koja se koristi i za posao i za korisnika.
- CPU / IO prazni ciklus: Karakterizira izvršavanje procesa, koji se izmjenjuje između CPU i I / O aktivnosti. Procesorska vremena obično su kraća od vremena I / O.
Kriteriji za raspored CPU-a
Algoritam zakazivanja CPU-a pokušava maksimizirati i minimizirati sljedeće:
Uvećaj:
Korištenje CPU-a: Korištenje CPU-a glavni je zadatak u kojem operativni sustav mora osigurati da CPU ostane što je moguće zauzetiji. Može se kretati od 0 do 100 posto. Međutim, za RTOS to može biti u rasponu od 40 posto za nisku razinu i 90 posto za visoku razinu.
Propusnost: Broj procesa koji završavaju svoje izvršavanje u jedinici vremena poznat je kroz protok. Dakle, kada je CPU zauzet izvršavanjem procesa, u to vrijeme se radi, a posao dovršen po jedinici vremena naziva se Propusnost.
Smanji:
Vrijeme čekanja: Vrijeme čekanja iznos je koji određeni postupak treba čekati u spremnom redu.
Vrijeme odgovora: To je vremensko razdoblje u kojem je zahtjev podnesen do prvog odgovora.
Vrijeme obrade: Vrijeme obrade je vrijeme za izvršenje određenog postupka. To je izračun ukupnog vremena provedenog čekajući da uđe u memoriju, čekajući u redu i izvršavajući se na CPU-u. Razdoblje između vremena predaje postupka i vremena završetka vrijeme je obrade.
Intervalni mjerač vremena
Prekid odbrojavanja metoda je koja je usko povezana s preduvjetom. Kada određeni proces dobije dodjelu CPU-a, odbrojavanje se može postaviti na određeni interval. Prekid odbrojavanja i sprečavanje spremanja prisiljavaju proces na vraćanje CPU-a prije nego što završi njegov CPU.
Većina multiprogramiranog operativnog sustava koristi neki oblik tajmera kako bi spriječio da postupak zauvijek veže sustav.
Što je Dispatcher?
To je modul koji pruža kontrolu nad procesorom procesa. Dispečer bi trebao biti brz tako da može raditi na svim preklopnicima konteksta. Kašnjenje otpreme je vrijeme potrebno za planiranje CPU-a da zaustavi jedan proces i pokrene drugi.
Funkcije koje obavlja dispečer:
- Prebacivanje konteksta
- Prebacivanje u korisnički način
- Premještanje na ispravno mjesto u novo učitanom programu.
Vrste algoritma za planiranje CPU-a
Postoji uglavnom šest vrsta algoritama za planiranje procesa
- Prvi dođi prvi posluži (FCFS)
- Zakazivanje najkraćeg radnog mjesta (SJF)
- Najkraće preostalo vrijeme
- Zakazivanje prioriteta
- Round Robin zakazivanje
- Zakazivanje redoslijeda u više nivoa
Prvo dođi prva posluži
First Come First Serve puni je oblik FCFS-a. To je najlakši i najjednostavniji algoritam raspoređivanja CPU-a. U ovoj vrsti algoritma, proces koji zahtijeva CPU prvo dobiva dodjelu CPU-a. Ovom se metodom raspoređivanja može upravljati pomoću FIFO reda.
Kako proces ulazi u red spremnosti, njegov PCB (Process Control Block) povezan je s repom reda. Dakle, kada CPU postane slobodan, on bi trebao biti dodijeljen procesu na početku reda.
Karakteristike FCFS metode:
- Nudi algoritam prevencije i prevencije raspoređivanja.
- Poslovi se uvijek izvode po principu tko prvi dođe, tko prvi posluži
- Jednostavno ga je implementirati i koristiti.
- Međutim, ova metoda ima slabe performanse, a opće vrijeme čekanja je prilično veliko.
Najkraće preostalo vrijeme
Puni oblik SRT-a je najkraće preostalo vrijeme. Poznato je i kao preventivno zakazivanje SJF-a. Ovom metodom postupak će se dodijeliti zadatku, koji je najbliži njegovom dovršenju. Ova metoda sprječava novije stanje spremnog stanja da zadrži završetak starijeg postupka.
Karakteristike metode raspoređivanja SRT:
- Ova se metoda uglavnom primjenjuje u batch okruženjima u kojima se traži prednost kratkim poslovima.
- Ovo nije idealna metoda za njezinu primjenu u zajedničkom sustavu u kojem je potrebno CPU vrijeme nepoznato.
- Povežite se sa svakim postupkom kao duljinom njegovog sljedećeg CPU-a. Dakle, taj operativni sustav koristi ove duljine, što pomaže u planiranju procesa s najkraćim mogućim vremenom.
Zakazivanje na osnovi prioriteta
Zakazivanje prioriteta metoda je raspoređivanja procesa koja se temelji na prioritetu. U ovoj metodi, planer odabire zadatke za rad prema prioritetu.
Zakazivanje prioriteta također pomaže OS-u da uključi prioritetne dodjele. Prvo bi se trebali provesti procesi s većim prioritetom, dok se poslovi s jednakim prioritetima izvode na principu okruglog roba ili FCFS. O prioritetu se može odlučiti na temelju zahtjeva za memorijom, vremena, itd.
Zakazivanje zaokruživanja
Round robin je najstariji, najjednostavniji algoritam raspoređivanja. Naziv ovog algoritma potječe od principa obilaženja, gdje svaka osoba zauzvrat dobiva jednak udio nečega. Uglavnom se koristi za raspoređivanje algoritama u multitaskingu. Ova metoda algoritma pomaže u izvršavanju procesa bez gladovanja.
Karakteristike Round-Robin rasporeda
- Round robin je hibridni model koji se pokreće satom
- Vremenski odsječak trebao bi biti minimalan, koji se dodjeljuje za određeni zadatak koji treba obraditi. Međutim, može se razlikovati za različite procese.
- To je sustav u stvarnom vremenu koji reagira na događaj u određenom vremenskom roku.
Najkraći posao prvo
SJF je cjeloviti oblik (Prvo najkraći posao) algoritma za raspoređivanje u kojem bi postupak s najkraćim vremenom izvođenja trebao biti sljedeći za izvršenje. Ova metoda raspoređivanja može biti preventivna ili nepreventivna. Značajno smanjuje prosječno vrijeme čekanja za ostale procese koji čekaju izvršenje.
Karakteristike SJF zakazivanja
- Uz svaki je posao povezan kao jedinica vremena koju treba dovršiti.
- U ovoj metodi, kada je CPU dostupan, prvo će se izvršiti sljedeći postupak ili posao s najkraćim vremenom završetka.
- Provodi se s preventivnom politikom.
- Ova metoda algoritma korisna je za serijsku obradu, gdje čekanje dovršetka poslova nije kritično.
- Poboljšava izlaznu ponudu nudeći kraće poslove, koje bi prvo trebalo izvršiti, a koji uglavnom imaju kraće vrijeme obrade.
Zakazivanje redova više nivoa
Ovaj algoritam razdvaja spremni red u različite zasebne redove. Ovom metodom procesi se dodjeljuju redu na temelju određenog svojstva procesa, poput prioriteta procesa, veličine memorije itd.
Međutim, ovo nije neovisni algoritam OS-a za raspoređivanje, jer treba koristiti druge vrste algoritama kako bi rasporedio poslove.
Karakteristično za planiranje redova s više nivoa:
- Za procese s nekim karakteristikama treba održavati više redova.
- Svaki red može imati svoje zasebne algoritme za raspoređivanje.
- Daju se prioriteti za svaki red.
Svrha algoritma raspoređivanja
Evo razloga za upotrebu algoritma za raspoređivanje:
- CPU koristi planiranje kako bi poboljšao svoju učinkovitost.
- Pomaže vam u raspodjeli resursa među konkurentnim procesima.
- Maksimalna iskorištenost CPU-a može se dobiti multi-programiranjem.
- Procesi koji se trebaju izvršiti su u spremnom redu.
Sažetak:
- CPU raspoređivanje je postupak određivanja kojem će procesu pripadati CPU za izvršenje dok je drugi postupak na čekanju.
- U preventivnom rasporedu zadaci su uglavnom dodijeljeni sa svojim prioritetima.
- U metodi ne-preventivnog raspoređivanja, CPU je dodijeljen određenom procesu.
- Pucanje vremena je vrijeme potrebno za završetak postupka. Naziva se i vrijeme rada.
- Korištenje CPU-a glavni je zadatak u kojem operativni sustav mora osigurati da CPU ostane što je više moguće zauzet
- Broj procesa koji završavaju svoje izvršavanje po jedinici vremena poznat je Propusnost.
- Vrijeme čekanja je količina koju određeni postupak treba pričekati u redu spremanja.
- To je vremensko razdoblje u kojem je zahtjev podnesen do prvog odgovora.
- Vrijeme obrade je vrijeme za izvršenje određenog postupka.
- Prekid odbrojavanja metoda je koja je usko povezana s preduvjetom,
- Dispečer je modul koji pruža kontrolu nad procesorom procesa.
- Šest vrsta algoritama za planiranje procesa su:
- Prvo dođi prvi posluži (FCFS), 2) Zakazivanje najkraćeg posla (SJF) 3) Najkraće preostalo vrijeme 4) Zakazivanje prioriteta 5) Zakazivanje Round Robin 6) Zakazivanje redova u više nivoa
- U metodi First Come First Serve, postupak koji zahtijeva CPU prvo dobiva dodjelu CPU-a.
- U najkraćem preostalom vremenu postupak će se dodijeliti zadatku, koji je najbliži njegovom završetku.
- U, planiranje prioriteta, planer odabire zadatke za rad prema prioritetu.
- U ovom rasporedu krugova radi se u principu, gdje svaka osoba zauzvrat dobiva jednak udio nečega
- U Najkraćem poslu prvo bi trebalo odabrati najkraće vrijeme izvršenja za sljedeće izvršavanje
- U višerazinskom rasporedu, metoda razdvaja spremni red u različite zasebne redove. U ovoj se metodi procesi dodjeljuju redu na temelju određenog svojstva
- CPU koristi planiranje kako bi poboljšao svoju učinkovitost.