Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Raunarske tehnologije 2

Operativni sistemi

Industrijsko inenjerstvo i menadment

Upravljanje procesima
Proces je izvrni program, pripremljen za
izvoenje od strane centralnog procesora
Izvorni kod

Prevodilac

Izvrni kod

Operativna memorija
Izvrni kod

Punilac

Proces

IIM Raunarske tehnologije 2, 2012/13.

Uporedni procesi
Uporedni procesi:
procesi ije se izvravanje vremenski preklapa

P5
P1

P2

P7
P8

P4
P6
P3
VREME

IIM Raunarske tehnologije 2, 2012/13.

Interakcija procesa
Jednoprocesorski sistem
Vremensko uklapanje instrukcija

P1
P2

IIM Raunarske tehnologije 2, 2012/13.

Interakcija procesa
Vieprocesorski sistem
Vremensko preklapanje instrukcija

P1
P2

IIM Raunarske tehnologije 2, 2012/13.

Interakcija procesa
Reproducibilno ponaanje procesa
proces se ponaa uvek na isti nain
za iste ulazne podatke daje iste izlazne rezultate

bez obzira na:


hardversku platformu na kojoj se izvrava,
operativni sistem i
vremensko preklapanje sa drugim uporednim
procesima

IIM Raunarske tehnologije 2, 2012/13.

Interakcija pocesa
Disjunktni procesi:
procesi koji se izvravaju nad disjunktnim
skupovima podataka
na ispravnom hardveru i operativnom sistemu,
uvek imaju reproducibilno ponaanje

Interagujui procesi:
procesi koji se izvravaju nad zajednikim
podacima

IIM Raunarske tehnologije 2, 2012/13.

Interagujui procesi
Uporedni procesi nekada mogu da koriste,
trae, napadaju iste resurse
Takvi resursi nazivaju se deljeni resursi
Na primer, zapisu o stanju mog tekueg
rauna mogla bi, istovremeno, iz dve
filijale Banke, pristupiti dva procesa
ta moe biti problem?

IIM Raunarske tehnologije 2, 2012/13.

Interagujui procesi
Saradnja procesa
razmenom poruka tj. podataka

Nadmetanje procesa
za resurse (fizika sredstva, druge procese,
podatke ...)

Interagujui procesi zahtevaju vremensko


iskljuivanje operacija nad zajednikim
strukturama podataka
tzv. zakljuavanje resursa
IIM Raunarske tehnologije 2, 2012/13.

Zahtevi koje operativni sistem treba


da ispuni pri deljenju resursa
1. U svakom trenutku najvie jedan proces moe
pristupiti nekom deljenom resursu
2. Proces koji trai pristup deljenom resursu mora
ga u konanom vremenu dobiti
3. Proces koji je pristupio deljenom resursu mora
ga u konanom vremenu napustiti
4. Procesi ne moraju biti vremenski
sinhronizovani
5. Proces u stanju ekanja na resurs ne sme da
troi procesorsko vreme (neuposleno ekanje)
IIM Raunarske tehnologije 2, 2012/13.

Problemi koji mogu da nastanu


Izgladnjavanje
situacija u kojoj proces u
neprihvatljivo dugom vremenskom
periodu ne moe ui u kritinu oblast
iako, objektivno, ima za to uslove

IIM Raunarske tehnologije 2, 2012/13.

Problemi u radu

Reenje problema izgladnjavanja


Proces koji je prvi traio ulaz u zauzetu
kritinu oblast, prvi je u redu ekanja na
resurs i nakon oslobaanja resursa prvi e
ga i dobiti

IIM Raunarske tehnologije 2, 2012/13.

Problemi koji mogu da nastanu


Blokiranje procesa
Dva ili vie procesa ekaju na dogaaj
(oslobaanje resursa), koji se nikada nee
desiti

IIM Raunarske tehnologije 2, 2012/13.

Problemi u radu

Reenje problema blokiranja


1. Svi zahtevani resursi se trae odjednom
2. Sekvencijalno dodeljivanje resursa (u
zadatom redosledu)
3. Hijerarhijsko dodeljivanje resursa
(kombinacija 1. i 2)
4. Dinamiko otkrivanje blokada procesa i
privremeno prekidanje blokiranih procesa
(jednog ili vie)

IIM Raunarske tehnologije 2, 2012/13.

Semafor

Semafor je mehanizam koji:


obezbeuje meusobno iskljuivanje
uporednih procesa u vremenu,
zabranjuje istovremeni pristup istoj
kritinoj oblasti (deljeni resursi) od strane
dva ili vie procesa i
obezbeuje sinhronizaciju uporednih
procesa u vremenu

IIM Raunarske tehnologije 2, 2012/13.

Semafor

Semafor ine:
sinhronizaciona promenljiva s sa
procedurama

init(s),
wait(s) i
signal(s)

Stanje sinhronizacione promenljive


ukazuje na to da li postoje uslovi za
nastavak aktivnosti procesa

IIM Raunarske tehnologije 2, 2012/13.

Semafor

Procedura init(s)

postavlja vrednost promenljive s koja odgovara broju


raspoloivih jedinica resursa sa kojom semafor upravlja

Procedura wait(s)

proverava stanje promenljive s

ako je s <= 0 onda nema raspoloivog resursa i |s| ukazuje na broj


procesa u redu ekanja

proces se stavlja u red ekanja na resurs

ako je s > 0 onda s ukazuje na broj trenutno raspoloivih resursa


procesu se dodeljuje resurs

sinhronizaciona promenljiva s smanjuje se za jedan (s = s -1)

Procedura signal(s)

oslobaa resurs,
uveava vrednost sinhronizacione promenljive s za 1 (s = s+1) i

ako red ekanja nije prazan poziva sledei proces

IIM Raunarske tehnologije 2, 2012/13.

Zadatak 1
Neka je broj resursa koji se rasporeuju 7, a
trenutna vrednost sinhronizacione promenljive
s=4
1. Koliko procesa se nalazi u redu ekanja?
2. Koliko je trenutno slobodnih resursa?
3. Kolika e biti vrednost sinhronizacione
promenljive nakon poziva procedure wait(s)?
4. Kolika e biti vrednost sinhronizacione
promenljive nakon poziva procedure signal(s)?
IIM Raunarske tehnologije 2, 2012/13.

Zadatak 2

1.
2.
3.
4.

Neka je broj resursa koji se rasporeuju 7, a


trenutna vrednost sinhronizacione promenljive
s=2
Koliko procesa se nalazi u redu ekanja?
Koliko je trenutno slobodnih resursa?
Kolika e biti vrednost sinhronizacione promenljive
nakon poziva procedure wait(s)?
Kolika e biti vrednost sinhronizacione promenljive
nakon poziva procedure signal(s)?

IIM Raunarske tehnologije 2, 2012/13.

Zadatak 3

Neka je broj resursa koji se rasporeuju 7,


a trenutna vrednost sinhronizacione
promenljive s = 2
1. Kolika moe biti maksimalna vrednost
promenljive s?
2. Kolika moe biti minimalna vrednost
promenljive s?

IIM Raunarske tehnologije 2, 2012/13.

10

Reenje

Zadatak 1
1.
2.
3.
4.

Zadatak 2
1.
2.
3.
4.

0
4
3
5
2
0
3
1

Zadatak 3
1.
2.

7
nema ogranienja na minimalnu vrednost

IIM Raunarske tehnologije 2, 2012/13.

Proces
Program sam za sebe nije proces ve
samo sadraj neke datoteke na disku

Proces je izvrni program, pripremljen za


izvoenje od strane centralnog procesora

IIM Raunarske tehnologije 2, 2012/13.

11

Kreiranje procesa
1. Uitavanje (punjenje) procesa u
operativnu memoriju
formiranje slike procesa

Operativna memorija
Izvrni kod

Punilac

Proces

IIM Raunarske tehnologije 2, 2012/13.

Kreiranje procesa
Slika procesa
izvrni kod smeten u operativnu memoriju

Mainske naredbe
Slika procesa

Podruje za promenljive
Stek

IIM Raunarske tehnologije 2, 2012/13.

12

Kreiranje procesa
2. Formiranje kontrolnog bloka procesa (process
control block, PCB):

Naziv i identifikator procesa


Stanje procesa
Prioritet procesa
Pokazivai na lokacije u memoriji, koje su dodeljene procesu
Sadraj optih registara CPU-a u trenutku prekida izvravanja
procesa
Lista otvorenih datoteka koje proces koristi
Informacija o utroenim resursima (CPU vreme, broj U/I
operacija, veliina koriene memorije ...) itd.

IIM Raunarske tehnologije 2, 2012/13.

Stanja procesa
Proces, nakon kreiranja moe biti u jednom od
sledeih stanja:
stanje spremnosti za izvrenje
proces je kreiran i eka da mu bude dodeljen centralni procesor

stanje izvrenja
proces se izvrava od strane centralnog procesora

stanje ekanja na resurs


proces eka oslobaanje nekog resursa (koji nije centralni procesor)
e, kada se za to steknu uslovi, prei direktno u stanje spremnosti za
izvrenje

stanje zavrenosti
proces je zavren i eka da bude uniten ili ponovo pokrenut
26

13

Unitenje procesa

Stanja procesa

Stanje
zavrenosti

Kreiranje procesa
Rasporeivanje procesa

Zavretak procesa
U stanju
izvrenja

Spreman
za izvrenje

Istiskivanje procesa

Dodeljivanje resursa

Stanje ekanja
na resurs

Prebacivanje
procesa u red
ekanja za
resurs27

Upravljanje procesorom
Srednjorono upravljanje (rasporeivanje)
Izvrava administrator sistema
Svakom korisniku definie:
prava pristupa resursima
koliine raspoloivih resursa i
prioritet u odnosu na druge korisnike

Kontrolie nivo multiprogramiranja


odnosno mogui broj procesa u operativnoj
memoriji

IIM Raunarske tehnologije 2, 2012/13.

14

Upravljanje procesorom
Kratkorono upravljanje (rasporeivanje)
Izdvajanje procesa
iz reda procesa spremnih za izvravanje

i dodeljivanje centralnog procesora


Kratkorono rasporeivanje moe biti:
sa istiskivanjem
nakon isteka kvanta vremena (milisekunda)

bez istiskivanja
proces neometano koristi resurs sve dok ga ne
oslobodi
IIM Raunarske tehnologije 2, 2012/13.

Upravljanje procesorom
Algoritmi rasporeivanja:
po zadatom prioritetu sa
srednjoronog nivoa upravljanja
prvo najkrai proces
prvi uao-prvi izaao
favorizovanje procesa sa veim
brojem U/I operacija
IIM Raunarske tehnologije 2, 2012/13.

15

Upravljanje operativnom
memorijom
Upravljanje memorijom mora:
da bude efikasno
to vei broj procesa, koji se istovremeno nalaze u
operativnoj memoriji
to manja fragmentacija slobodnog prostora u OM

da garantuje zatitu dodeljenog prostora


programi vide samo deo OM koji im je dodeljen

IIM Raunarske tehnologije 2, 2012/13.

Neke tehnike dodele memorije


Dodela memorije u jedinstvenom
segmentu
Podela memorije na particije
Fiksna podela na particije
Dinamika podela na particije
Relokatibilne particije

Stranina organizacija memorije


Virtualna memorija
Dodela stranica na zahtev
IIM Raunarske tehnologije 2, 2012/13.

16

Dodela memorije u jedinstvenom


segmentu
Operativna memorija
Rezidentni deo
operativnog
sistema
Deo memorije
namenjen
korisnikom
programu

Samo jedan program


moe biti aktivan
Ne moe se uitati
program vei od dela
memorije namenjenog
korisnikom programu

IIM Raunarske tehnologije 2, 2012/13.

Podela memorije na particije


fiksne veliine
Operativna memorija
Rezidentni deo
operativnog
sistema

Particija 1
Particija 2
Particija 3

Veliina particija je unapred


definisana
Najvei program, koji moe biti
izvren, ogranien je veliinom
najvee particije
Program se moe smestiti u
operativnu memoriju samo ako
postoji slobodna particija
odgovarajue veliine
Problem fragmentacije
slobodnog prostora

IIM Raunarske tehnologije 2, 2012/13.

17

Dinamika podela memorije na


particije
Operativni
sistem
Proces 1

Proces 2

Proces 3

IIM Raunarske tehnologije 2, 2012/13.

Dinamika podela memorije na


particije
Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 2

Proces 2

Proces 3

Proces 3

1. Zavrava se proces 2

IIM Raunarske tehnologije 2, 2012/13.

18

Dinamika podela memorije na


particije
Operativni
sistem

Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 1

1. Zavrava se proces 2
2. Puni se proces 4

Proces 4
Proces 2

Proces 2

Proces 4

Proces 3

Proces 3

Proces 3

IIM Raunarske tehnologije 2, 2012/13.

Dinamika podela memorije na


particije
Operativni
sistem

Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 1
Proces 4

Proces 2

Proces 2

Proces
4 5
Proces

Proces 3

Proces 3

Proces 3

1. Zavrava se proces 2
2. Puni se proces 4
3. Pokuaj punjenja
procesa 5

IIM Raunarske tehnologije 2, 2012/13.

19

Dinamika podela memorije na


particije
Operativni
sistem

Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 1
Proces 4

Proces 2

Proces 2

Proces 4

Proces 3

Proces 3

Proces 3

1. Zavrava se proces 2
2. Puni se proces 4
3. Pokuaj punjenja
procesa 5

Proces 5
IIM Raunarske tehnologije 2, 2012/13.

Dinamika podela memorije na


particije
Operativni
sistem

Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 1
Proces 4

Proces 2

Proces 2

Proces 4

Proces 3

Proces 3

Proces 3

IIM Raunarske tehnologije 2, 2012/13.

1. Zavrava se proces 2
2. Puni se proces 4
3. Pokuaj punjenja
procesa 5

Proces 5

Proces 5 ne moe biti kreiran,


jer ne postoji slobodna particija
odgovarajue veliine

20

Podela memorije na relokatibilne


particije
Operativni
sistem

Operativni
sistem

Operativni
sistem

Proces 1

Proces 1

Proces 1
Proces 4

Proces 2

Proces 3

Proces 2

Proces 3

Proces 4

Nakon premetanja
procesa u memoriji
dolazi do spajanja
slobodnog prostora,
ime se dobija
dovoljno velika
slobodna particija
u koju moe biti
smeten proces 5.

Operativni
sistem
Proces 1
Proces 4
Proces 4
Proces 3

Proces 3

Proces 5
Proces 5
IIM Raunarske tehnologije 2, 2012/13.

Stranina organizacija memorije


Zasnovana je na principu deobe i memorije i
programa na vei broj manjih delova, fiksirane
veliine
Dobijeni delovi memorije nazivaju se okviri
Dobijeni delovi programa nazivaju se stranice
Veliine okvira i stranice su jednake
Stranice jednog programa mogu da budu u
razliitim delovima memorije
Program zauzima onu koliinu memorije, koja
mu je zaista potrebna
IIM Raunarske tehnologije 2, 2012/13.

21

Stranina organizacija memorije


Lista slobodnih
okvira
24
23
28
30
25

23
24
25
26
27

strana 0
strana 1
strana 2
strana 3

28
29
30
31

IIM Raunarske tehnologije 2, 2012/13.

Stranina organizacija memorije


Lista slobodnih
okvira
24
23
28
30
25

24

Lista slobodnih
23
okvira
25
24

25

25

23

26

strana 0
strana 1
strana 2
strana 3

28
29
30
31

26

strana 0
strana 1
strana 2
strana 3

27

strana 1
strana 0

27
28

strana 2

29
0

2
4

2
3

2
8

3
0

30

strana 3

31

IIM Raunarske tehnologije 2, 2012/13.

22

Virtualna memorija
Stranina organizacija memorije zahteva da
itav proces bude u memoriji da bi mogao da se
izvrava
Virtualna memorija (stranina organizacija sa
dodelom stranica na zahtev) je tehnika
koja omoguava izvravanje procesa
koji ne moraju u celosti da se nalaze u operativnoj memoriji

Na taj nain, omogueno je izvravanje procesa


koji su vei od raspoloive operativne memorije
IIM Raunarske tehnologije 2, 2012/13.

Virtualna memorija
Dodela stranica na zahtev slina je obinoj
straninoj organizaciji memorije
uz ukljuivanje mehanizma izbacivanja ili
ubacivanja pojedinanih stranica iz, odnosno
u memoriju

Pri formiranju procesa, u operativnu


memoriju se prenose samo one stranice
koje su trenutno potrebne
IIM Raunarske tehnologije 2, 2012/13.

23

Virtualna memorija
Ukoliko je, tokom izvrenja nekog procesa,
potrebna stranica, koja se ne nalazi u
memoriji,
pronalazi se slobodan okvir u memoriji i
u njega se prenosi potrebna stranica ili se

ako ne postoji slobodan okvir


pronalazi okvir, ija se stranica trenutno ne koristi,
okvir se oslobaa
prenoenjem stranice na disk i

u njega se prenosi potrebna stranica


IIM Raunarske tehnologije 2, 2012/13.

24

You might also like