1
PROJEKTOVANJE OPERATIVNIH SISTEMA ZA REALNO VREME
Klasifikacija OS
Koncept procesa
Asinhroni procesi
2
Definicije Operativnog Sistema
I def. OS: skup programskih proširenja nad primitivnim elementima fizičke arhitekture koja dovode do virtuelnih mašina.
II def. OS: operativni sistema je upravljačkiprograma za dodelu resursa procesima prisutnim u računarskom sistemu.
3
Funkcije OS (1/2)
formiranje (stvaranje) i odstranjivanje procesa
upravljanje tokom realizacije procesa
delovanje u uslovima izuzetnih događaja
dodela resursa fizičke arhitekture procesima
4
Funkcije OS (2/2)
obezbeđenje pristupa programskim resursima (npr. datotekama, editoru, kompajlerima, asemblerima, bibliotekama i programskim sistemima)
obezbeđenje zaštitnog mehanizma, upravljanje pristupom i bezbednošću informacije
obezbeđenje komunikacije između procesa i sinhronizacije
5
Glavni resursi operativnog sistema
procesor
memorija
ulazno/izlazni podsistem
informacije (podaci i programi).
6
KLASIFIKACIJA OPERATIVNIH SISTEMA
Klasifikacija prema vrsti primene:
1. opštenamenski
2. sa radom u realnom vremenu
3. orijentisani na transakcionu obradu
7
Operativni sistemi opšte namene
Dva osnovna režima rada:
operativni sistemi za serijsku obradu grupa programskih paketa (batch processing),
multiprogramski operativni sistemi.
8
MULTIPROGRAMSKI OS
Računarski sistem radi u multiprogramskom režimu, ukoliko je u sistemu prisutno više korisničkih programa istovremeno.
Prisutni programi čine multiprogramski skup.
Različiti oblici multiprogramskog rada pojavili su se uglavnom u odnosu na pravila prenosa upravljanja sa jednog programa na drugi program iz tog skupa.
9
Tri osnovna tipa multiprogramskog režima:
multiprogramiranje bez vremenskih prekida,
multiprogramiranje sa vremenskim prekidom,
multiprogramiranje sa vremenskim prekidom i programskim prioritetima na bazi podele vremena (TIME SHARING).
10
Multiprogramiranje bez vremenskih prekida
Klasično multiprogramiranje.
Karakteriše se pravilima prelaza sa programa na program sa stanovišta dostizanja maksimalnog iskorištenja računarskog sistema.
11
Ilustracija jednoprogramskog režima
I 1
O 1
M 1
O 1
I 1
Osnovni
nivo
T
P
12
Ilustracija multiprogramskog režima:
O1
I1
O2
I2
O3
I3
M2
M3
0
P3
P2
P1 O1
O2
O3
O1
O2
O3
I1
I2
I3 I3
I2
I1
T
U
I1
U
I2
U
I3
13
Multiprogramiranje sa vremenskim prekidom
Predstavlja multiprogramski režim kod koga se prelaz između programa vrši u vrlo kratkom intervalu vremena.
U ovom slučaju, postiže se visok stepen istovremenog rada resursa računarskog sistema.
14
Dva tipa prekida koji izazivaju prelaze među programima
prekidi koji označavaju završetak ulazno-izlazne operacije (multiprogramiranje) i
iznuđeni vremenski prekid, na kraju intervala vremena koji je dodeljen svakom programu
15
Multiprogramski sistemi sa podelom vremena i dodelom prioriteta programima
Predstavljaju multiprogramiranje sa sposobnošću multipleksiranja ili podele ukupnog vremenskog intervala T, na odsečke vremena Δti.
Svakom programu se dodeljuje određen brojvremenskih intervala (kvanta), Δti.
16
Vremenski interval
Dužina vremenskih intervala nije konstantna, nego se menja zavisno od posmatranog programa, a i od konkretnih uslova eksploatacije.
17
OS za rad u realnom vremenu (1/2)
Ulazni događaji se moraju uneti i opslužiti unutar unapred definisanog intervala vremena.
Vremenski kritični procesi imaju najviši prioritet.
OS mora posedovati časovnik realnog vremena velike preciznosti.
Sistemi moraju omogućiti komunikaciju preko deljivih segmenata operativne memorije.
18
OS za rad u realnom vremenu (2/2)
Da bi se minimiziralo vreme pristupa datotekama, one moraju biti smeštene na susednim zonama na spoljnoj memoriji.
Planeri OS u realnom vremenu mogu reagovati na prekide ili na vremenske cikluse.
19
Operativni sistemi orijentisani na transakcije
Pod transakcljom se podrazumeva niz aktivnosti koje se generišu u mašini na osnovu niza podataka koji se unosi preko komunikacionih linija u sistem.
Osnovni naglasak kod ovih operativnih sistema je na interakciju sa bazom podataka, ulančavanju zahteva za transakcijama, sinhronizaciji zahteva i na obezbeđenju ispravnog održavanja baza podataka.
20
Klasifikacija OS prema strukturi računarskog sistema
MULTIPROCESORSKI OPERATIVNI SISTEMI
OPERATIVNI SISTEMI U RAČUNARSKIM MREŽAMA
21
KONCEPT PROCESA
Polazna tačka teorije operativnih sistema je proces.
Pojam procesa je prvi put korišćen od strane projektanata OS Multics.
22
Def. 1
Sekvencijalni proces je niz aktivnost kojeizvršava procesor pri izvršavanju programa sa njemu pridruženim podacima.
Sa logičkog stanovišta svaki proces ima svoj sopstveni procesor i program.
Dva različita procesa mogu međusobno deliti isti program ili isti procesor.
23
Def. 2
Proces je aktiviranje izvršive jedinice programa.
U multiprogramskim uslovima, gde više procesa dele jedan procesor, proces je i rasporediva jedinica.
24
Def. 3
Proces je program u fazi izvršenja, odnosno proces je asinhorna aktivnost.
25
Graf stanja procesa
PRIPRAVNOST
TOP
IZVRŠENJE
BLOKIRAN
RASPODELA
VREME
PREKIDA
26
Graf stanja prelaza procesa sa stanjima za početak i kraj UI
PRIPRAVNOST
TOP
KRAJ
PROCESA
BLOK ČEKA
U/I AKT.
BLOK ČEKA
UREĐ.
1
2
3
4
5
ČEKANJE NA
ZAVRŠETAK
U/I
ČEKANJE NA
POČETAK U/I
AKTIVNOSTI
27
Ilustracija prelaza stanja procesa
2 9 7 5 9
4
7
3 5
7
7
9
3
5
7 8
7
6 4
1 2 3
7 5 1
3 5
LP
ID C
a)
2 4
LPUI
ID C
LZUI
ID C
8
5 6 7
TOP
9
3
5
7 8
2
6 4
1 2 3
1 3 5
LP
ID C
b)
4
LPUI
ID C ID C
8
5 6 7
TOP
1
3
5
7 8
2
6 4
1 2 3
LP
ID C
c)
LPUI
ID C ID C
8
5 6 7
TOP
LZUI
LZUI
28
Ilustracija prelaza između stanja procesasa dodeljenim prioritetima
(6)
(7)
(3)
0 1 9
(9) (2) (0)
7 5 3
3 9
(3) (4)
(1)
(6)
(7)
(3) (9) 7 10 (2) (0) 1
(4) (3) (1) 8
3 5
(1)
(7)
(3)
9
P=0 (4) (3) (0)
(9) (6) (2)
7 10
5
8 3
5
3
5
7 8
7
6 4
1 2 3
7 5 1
3 5
LČO
ID C
a)
2 4
LČUI
ID C
LZUI
ID C
5 6 7
TOP
3
5
7 4
7
6 4
1 2 3
LČO
ID C
b)
2
LČUI
ID C ID C
8
5 6 7
3
5
7 4
7
6 4
1 2 3
LČO
ID C
c)
LČUI
ID C ID C
8
5 6 7
P P P
P P P
P
10
P
9
P=0
TOP
1
P=0
TOP
8
P
29
Operacije nad procesima
formiranja (stvaranje) procesa,
rasformiranja (uništavanje) procesa,
suspenzija procesa,
ponovno uključenje (aktiviranje) procesa,
promena prioriteta procesa,
blokiranje procesa i
dodela procesora (raspoređivanje) procesu.
30
Hijerarhija stvaranja procesa
A
C
D
F E
B
G
H
I
31
Dijagram stanja prelaza sa suspenzijom i obnavljanjem
PRIPR. BLOK
ZAVRŠETAK U/I
TOP
SUSP.
BLOK
SUSP
EN
ZIJ
A
OB
NA
VL
JAN
JE
ČE
KA
NJE
U/I
SUSP.
IZ
PRIPR.
SUSP
EN
ZIJ
A
OB
NA
VL
JAN
JE
ZAVRŠETAK U/I
VR
EM
E P
RE
KID
A
DISP
EČ
ER
32
Kontrolni blok procesa sadrži:
jednoznačnu indentifikaciju procesa
tekuće stanje procesa
prioritet procesa
ukazivač na memoriju dodeljenu procesu
ukazivače dodeljenih resursa
zonu za sklanjanje stanja procesa u momentu prekida.
33
ASINHRONI PROCESI
Procesi su konkurentni ili paralelni ukoliko se izvršavaju u isto vreme i ako su realizovani potpuno nezavisno jedan u odnosu na drugog.
34
Kritična sekcija
Primer:
LOAD UNOSL
ADD 1
STORE UNOSL
35
Rešenja kritične sekcije
Dekerov algoritam
TEST & SET instrukcija
Semafori
36
Semaforske primitive
Semafor S je nenegativan ceo broj.
Operacija V(S): promenljiva S se uvećava za 1, jednom nedeljivom radnjom: izbor, uvećanje i pamćenje ne mogu da se prekinu, a ka promenljivoj S nema pristupa ni jedan drugiproces u vreme operacije V(S);
Opercija P(S): umanjenje vrednosti S za jedan ukoliko je to moguće. Ako je S=0, umanjenje nije moguće.
37
Programsko rešenje sinhronizacije n procesa
. . .
. . .
START
S = 1
P2 P1 Pi Pn
. . .
P(S)
CSi
V(S)
Pi
38
Ilustracija problema proizvođač-potrošač
PROIZVODNJA
SLEDEĆEG SLOGA
P (e)
P (b)
SMEŠTANJE
SLOGA U BAFER
V (b)
V(f)
PRENOS
SLOGA IZ BAFERA
P (f)
OBRADA SLOGA
P (b)
V (b)
V (e)
PROIZVOĐAČ POTROŠAČ