28
Upravljanje procesima Ferenc Kasa

Upravljanje procesima

  • Upload
    laksha

  • View
    171

  • Download
    5

Embed Size (px)

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 Presentation

Citation preview

Page 1: Upravljanje procesima

Upravljanje procesimaFerenc Kasa

Page 2: Upravljanje procesima

Cilj Šta je to proces? Lična karta procesa (kontrolni blok

procesa)? Stanja procesa Algoritmi za upravljanje (raspoređivanje)

procesa

Page 3: Upravljanje procesima

Operativni sistemi

VS

Page 4: Upravljanje procesima

Prva asocijacija na procese

? ProgramiCPUMemorijaEnd Process

Page 5: Upravljanje procesima

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

Page 6: Upravljanje procesima

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

Page 7: Upravljanje procesima

Kontrolni blok procesa – Lična karta

3Ime procesa

ID Procesa

Kontekst procesa

Prioritet

Stanje procesa (Ready, Wait, Run)

Page 8: Upravljanje procesima

Dijagram stanja – kratkoročno planiranje procesa

Proces ima tri osnovna stanja RUN, READY i WAIT.

4

Page 9: Upravljanje procesima

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

Page 10: Upravljanje procesima

Dijagram stanja – Srednjeročno planiranje

Imamo dva nova stanja: Suspendovano čekanje i suspendovano spreman stanje.

4

Page 11: Upravljanje procesima

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

Page 12: Upravljanje procesima

Kriterijumi raspoređivanja Protočnost – Propusna moć sistema Vreme čekanja Tw Ukupno vreme u sistemu Vreme odziva

Page 13: Upravljanje procesima

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

Page 14: Upravljanje procesima

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.

Page 15: Upravljanje procesima

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)

Page 16: Upravljanje procesima

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

Page 17: Upravljanje procesima

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.

Page 18: Upravljanje procesima

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

Page 19: Upravljanje procesima

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

Page 20: Upravljanje procesima

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....

Page 21: Upravljanje procesima

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

Page 22: Upravljanje procesima

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.

Page 23: Upravljanje procesima

Š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.

Page 24: Upravljanje procesima

PREZENTACIJU MOŽETE PREUZETI SA BLOGA

WW

W.LIMUNADA.WORDPRESS.COM

Page 25: Upravljanje procesima

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

Page 26: Upravljanje procesima

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.

Page 27: Upravljanje procesima

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)

Page 28: Upravljanje procesima

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.