upravljanje procesima
DESCRIPTION
Upravljanje procesima. Ferenc Kasa. Cilj. Šta je to proces? Lična karta procesa (kontrolni blok procesa)? Stanja procesa Algoritmi za upravljanje (raspoređivanje) procesa. Operativni sistemi. VS. Prva asocijacija na procese. ?. Programi CPU Memorija End Process. Proces - Definisanje. - PowerPoint PPT PresentationTRANSCRIPT
Upravljanje procesimaFerenc Kasa
Cilj Šta je to proces? Lična karta procesa (kontrolni blok
procesa)? Stanja procesa Algoritmi za upravljanje (raspoređivanje)
procesa
Operativni sistemi
VS
Prva asocijacija na procese
? ProgramiCPUMemorijaEnd Process
Proces - Definisanje Program koji nije aktivan
predstavlja datoteku (skup datoteka) na disku – pasivan odnos.
Aktivan program predstavlja proces – dimačka priroda.
Procesu se dodeljuju resursi, a OS kreira kontrolni blok procesa (Process Control Blok)
Resursi: Memorija, Procesor... Upravljanje: End process
1
Proces - Kreiranje Kreiranjem procesa pravi se
njegova slika u memoriji. Reprezentacija procesa ima tri memorijska aspekta. Oblast koda - tu je smešten
mašinski kod procesa Oblast podataka – tu se čuvaju
globalne promenjive Polje steka – Čuvanje parametara
funkcija, međurezultata, lokalnih promenjivih
2
Kontrolni blok procesa – Lična karta
3Ime procesa
ID Procesa
Kontekst procesa
Prioritet
Stanje procesa (Ready, Wait, Run)
Dijagram stanja – kratkoročno planiranje procesa
Proces ima tri osnovna stanja RUN, READY i WAIT.
4
Dijagram stanja – kratkoročno planiranje procesa
Stanje READY – proces je spreman za izvršavanje (čeka da dobije glavni resurs - procesor)
Sanje WAIT – proces je u stanju čekanja (blokiran).
Stanje Run – proces je aktivan dobio je resurs – procesor.
Iz stanja RUN u READY proces prelazi ukoliko mu je isteklo vreme dodeljeno za korišćenje procesora.
Iz stanja RUN u stanje WAIT proces prelazi ukoliko je za njegovo izvršavanje potreban neki resurs (na primer U/I) koji u tom trenutku nije dostupan.
U stanju RUN se nalazi samo jedan proces Dok se u stanju READY i WAIT nalazi više procesa
organizovanih u redove.
4
Dijagram stanja – Srednjeročno planiranje
Imamo dva nova stanja: Suspendovano čekanje i suspendovano spreman stanje.
4
Dijagram stanja - srednjeročno planiranje procesa
Proces prelazi u suspendovano stanje – proces se iz operativne memorije prebacuje na spoljašnju memoriju.
Operativni sistem prebacije procese za koje se procenjuje da neće biti potrebe da se izvrše u skorije vreme.
U operativnoj memoriji ostaje samo kontrolni blok procesa.
Slanje procesa iz operativne memorije u spoljašnju, predstavlja princip rada virtuelne memorije, odnosno time se „proširuje“ operativna memorija.
4
Kriterijumi raspoređivanja Protočnost – Propusna moć sistema Vreme čekanja Tw Ukupno vreme u sistemu Vreme odziva
Algoritmi raspoređivanja procesa
Prvi došao prvi poslužen (First-Come, First-Served – FCFS)
Reši prvo najkraći proces (Shortest-Job-First )
Kružni algoritam (Round Robin)
5
Prvi došao prvi poslužen Najjednostavniji algoritam. Proces koji je prvi u redu čekanja dobiće pristup
procesoru. Pošto istekne vremenski kvant tekućem procesu,
sledeći proces iz reda čekanja prelazi u izvršno stanje (RUN).
Novi proces (kontrolni blok procesa) se pozicionira na kraj reda.
Problem kod ovog algoritma je veliko srednje vreme čekanja – nije pogodan za interaktivne sisteme.
Vremenski dijagram – Prvi došao prvi poslužen
Proces Vreme CPU
P1 24
P2 3
P3 3
P1 - 24
P2 - 3
P3 -3
𝑇𝑤=(0+24+27)
3=17Prosečno vreme čekanja
+ Jednostavan za realizaciju- Veliko vreme čekanja- Dugi procesi mogu da zaguše kratke procese (mala protočnost)
Vremenski dijagram – Prvi došao prvi poslužen
P3 - 24
P1 - 3
P2 -3
Proces Vreme CPU
P1 3
P2 3
P3 24
𝑇𝑤=(0+3+6)
3=3Prosečno vreme čekanja
Ukoliko se situacija malo promeni... Prvi u listi su kratki procesi, srednje vreme čekanja i protočnost se značajno poboljšava
Najkraći proces sledeći Svakom procesu se dodeljuje vremenski kvant
(vreme) za koje se smatra da je dovoljno za izvršenje. Vremenski kvant se za procese predviđa na osnovu
prethodnog iskustva (koliko mu je trebalo vremena za izvršenje).
Postoje dve varijante ovog algoritma Bez prekidanja procesa – kad se CPU dodeli procesu ne
oduzimam mu se dok proces ne završi sa radom. Sa prekidanjem procesa – Ukoliko se pojavi novi proces
čije je vreme izvršavanja kraće od vremena koje je potrebno da se završi tekući proces, novi proces prekida tekući.
Vremenski dijagram – Najkraći posao prvo – bez prekidanja
P1 - 7
P3 - 1
P2 -4
Proces Vreme Dolaska Vreme CPU
P1 0 7
P2 2 4
P3 4 1
P4 5 4
P4 -4
Prosečno vreme čekanja𝑇𝑤=(0+6+3+7)
4=4
U slučaju da se desi situacija da dva ili više procesa imaju isti vremenski kvant za izvršenje, sporna situacija se rešava primenom algoritma „prvi došao prvi poslužen“+ Smanjeno srednje vreme čekanja+ Dobra protočnost
Vremenski dijagram – Najkraći posao prvo – Sa prekidom
P1 - 2
P3 - 1
Proces Vreme Dolaska Vreme CPU
P1 0 7
P2 2 4
P3 4 1
P4 5 4
P4 -4
P2 - 2
P1 - 5
P2 - 2
Prosečno vreme čekanja𝑇𝑤=(0+9+1+0+2)
4=3
Algoritam kružnog izvršavanja – Round Robin Svakom procesu se dodeli isti vremenski
kvant (Q) za korišćenje procesora. Po isteku vremenskog kvanta, tekući
proces ide na kraj reda za čekanje, a procesor se dodeljuje sledećem procesu u redu.
I tako u krug....
Vremenski dijagram – Kružno izvršavanje
Proces Vreme Dolaska
Vreme CPU
P1 0 3
P2 2 6
P3 4 4
P4 6 5
P5 8 2
Svim procesima se dodeljuje isti vremenski kvant Q i ako imamo N procesa ni jedan proces na izvršno stanje ne čeka duže od (N-1)*Q.
Vremenski kvant je Q=1
Vremenski dijagram – Kružno izvršavanje
Proces Vreme Dolaska
Vreme CPU
P1 0 3
P2 2 6
P3 4 4
P4 6 5
P5 8 2Vremenski kvant je Q=1
+ Pogodan za interaktivne sisteme.- Moguća pojava „premašenje“ (OverHead) u slučaju da je Q< od vremna servisiranja prekida i nastavka procesa.
Šta smo naučili? Šta je to proces? Ko upravlja procesima? Koja su osnovna stanja procesa? Kada proces prelazi iz stanja RUN u stanje
READY? Obajsni algoritam kružnog dodeljivanja! Koje su slabe tačke algoritma kružnog
dodeljivanja? Objasni algoritam koji favorizuje proces sa
najkraćim vremenom izvršavanja sa prekidanjem!
Kako će izgledati vremenski dijagram iz prethodnog primera (kružna dodela), ako postavimo vremenski kvant na Q=7.
PREZENTACIJU MOŽETE PREUZETI SA BLOGA
WW
W.LIMUNADA.WORDPRESS.COM
Zadatak 1
Proces Vreme Dolaska
Vreme CPU
P1 0 3
P2 1 6
P3 4 4
P4 6 2
Procesi su zadati donjom tablicom, skiciraj dijagrame sledećih algoritama:a) Prvi došao prvi poslužen (First Come First Served)b) Najkraći posao prvo – bez prekidanja (Shortest Job
Firs)c) Najkraći put prvo – sa prekidanjem (Shortest
Remaining Time Firs)d) Kružni algoritam sa vremenskim kvantom Q=2
Zadatak 2
Proces Vreme Dolaska
Vreme CPU
P1 0 5
P2 1 3
P3 2 5
P4 3 3
Koristeći algoritam najkraći posao prvo – varijanta sa prekidom,nacrtaj vremenski dijagram za sledeći red procesa.
Kriterijumi raspoređivanja Protočnost – Propusna moć sistema
To je broj procesa koji se realizuju za jedinicu vremena Vreme čekanja Tw
To je vrem koje proces provede od trenutka dolaska u red čekanja ( stanje READY) do trenutka prelaska u izvršno stanje (RUN).
Vreme prebivanja u sistemu – Ukupno vreme u sistemu Vreme od trenutka ulaska procesa u sistem (READY) do
trenutka kad se proces u celosti završi. Vreme odziva
Vreme koje je potrebno da se dobiju prvi rezultati izvršavanja procesa (od predaje zahteva do dobijanja rezultata)
Prioritetni algoritmi Savkom procesu se dodenjuje ceo broj koji nam govori kog je
prioriteta proces. Po pravilu manji broj predstavlja veći prioritet. Ako imamo u redu za čekanje dva i više procesa sa istim prioritetom
izbor ide po sistemu „Prvi došao prvi poslužen“. Postoje dve varijante ovog algoritma
Sa prekidanjem – Ukoliko se pojavi proces sa većim prioritetom, izvršavanje tekućeg se prekida
Bez prekidanja Najveći problem ovog algoritma je to što procesi sa niskim prioritetom
praktično neće doći nikad na red za izvršenje. Ova pojava se naziva gladovanje – Starvation. Rešenje je da se postepeno povećava prioritet procesa,
srazmerno vremenu čekanja. Procesu koji je već bio u stanju RUN spuštamo prioritet.