Upload
bozapub
View
444
Download
2
Embed Size (px)
DESCRIPTION
Praktikum iz Operativnih Sistema
Fakultet za kompjuterske nauke, Megatrend Univerzitet
Prof. dr Branimir M. Trenki
Predmet:
PRAKTIKUM IZ OPERATIVNIH SISTEMA
- Zbirka zadataka sa reenjima -
Beograd, 2012
Rasporeivanje skupa aperiodinih poslova
1. Posmatramo skup od pet poslova koji se istovremeno aktiviraju u trenutku t = 0, sa vremenskim parametrima (vreme izvravanja u najgorem sluaju i deadline-ovi) datim u tabeli:
Nacrtati vremenski dijagram rasporeda izvravanja saglasno EDD algoritmu. Da li je raspored izvodljiv? Identifikovati posao koji e ostvariti maksimalno prekoraenje i izraunati koliko je to vreme u vremenskim jedinicama. Izvriti test garancije (rasporedljivosti).
Reenje:
Maksimalno prekoraenje:
Li = fi di
L1 = f1 d1 = 1 3 = -2;
L2 = f2 d2 = 8 10 = -2;
L3 = f3 d3 = 4 7 = -3;
L4 = f4 d4 = 7 8 = -1;
L5 = f5 d5 = 3 5 = -2;
Lmax = max(Li) = L4 = -1
Verifikacija rasporedljivosti:
Poslove preraspodeliti u rastui niz po duini trajanja izvravanja poslova
1
i
k ik
i C D=
C2 = C5 i C5 = C2
i = 1
C1 = 1 3 OK!
i = 2
C1 + C2 = 3 5 OK!
i = 3
C1 + C2 + C3 = 4 7 OK!
i = 4
C1 + C2 + C3 + C4 = 7 8 OK!
i = 5
C1 + C2 + C3 + C4 + C5 = 8 10 OK!
2. Posmatramo skup od pet poslova koji se istovremeno aktiviraju u trenutku t = 0, sa vremenskim parametrima (vreme izvravanja u najgorem sluaju i deadline-ovi) datim u tabeli:
Nacrtati vremenski dijagram rasporeda izvravanja saglasno EDD algoritmu. Da li je raspored izvodljiv? Identifikovati posao koji e ostvariti maksimalno prekoraenje.
Reenje
:
Maksimalno prekoraenje:
Li = fi di
L1 = f1 d1 = 1 2 = -1;
L2 = f2 d2 = 4 5 = -1;
L3 = f3 d3 = 2 4 = -2;
L4 = f4 d4 = 10 8 = 2;
Lmax = max(Li) = L4 = 2
3. Proveriti da li EDD algoritam daje izvodljiv raspored za sledei skup poslova:
Izraunati srednje vreme odziva i maksimalno prekoraenje za dati skup poslova pri dobijenom rasporedu.
Reenje
Vremenski dijagram rasporeda dobijenog primenom EDD algoritma za dati skup aperiodunih poslova:
:
Na osnovu dijagrama moemo zakljuiti da je dati skup rasporedljiv primenom EDD algoritma. Srednje vreme odziva:
Maksimalno prekoraenje:
Li = fi di L1 = f1 d1 = 5 8 = -3;
L2 = f2 d2 = 15 15 = 0;
L3 = f3 d3 = 2 3 = -1;
L4 = f4 d4 = 9 11 = -2;
Lmax = max(Li) = L2 = 0
( )
( )
1
1
1 315 0 15 0 2 0 9 0 7.754 4
n
i ii
R f an
R
=
=
= + + + =
4. Procesor treba da izvri skup poslova { }A,B,C,D,E,F,G,H . Vreme aktiviranja, trajanje izvravanja i deadline-ovi su dati u sledeoj tabeli:
A B C D E F G H
a 1 3 0 9 4 7 18 16
C 3 3 4 2 1 6 2 4
d 11 10 21 16 9 26 23 24
Nacrtati raspored izvravanja poslova rasporeenih EDF algoritmom. Da li algoritam daje izvodljiv raspored? Izraunati srednje vreme odziva i maksimalno prekoraenje za dati skup poslova pri dobijenom rasporedu.
Reenje
Vremenski dijagram rasporeda dobijenog primenom EDF algoritma za dati skup aperiodunih poslova:
:
Srednje vreme odziva:
Maksimalno prekoraenje:
Li = fi di LA = fA dA = 8 11 = -3;
LB = fB dB = 7 10 = -3;
LC = fC dC = 13 21 = -8;
LD = fD dD = 11 16 = -5;
LE = fE dE = 5 9 = -4;
LF = fF dF = 25 26 = -1;
LG = fG dG = 20 23 = -3;
LH = fH dH = 22 24 = -2;
Lmax = max(Li) = LF = -1
( )
( )
1
1
1 537 4 13 2 1 18 2 6 6.6258 8
n
i ii
R f an
R
=
=
= + + + + + + + =
5. Posmatramo skup od pet sa vremenskim parametrima (vreme aktiviranja, vreme izvravanja u najgorem sluaju i deadline-ovi) datim u tabeli:
Nacrtati vremenski dijagram rasporeda izvravanja saglasno EDF algoritmu. Da li je raspored izvodljiv?
Reenje:
Sa nacrtanog vremenskog dijagrama izvravanja moemo zakljuiti da je raspored izvodljiv. Jer ni jedan posao u rasporedu nije prekoraio svoj deadline.
6. Dato je sedam poslova, A, B, C, D, E, F i G, nacrtati graf prvenstva na osnovu sledeih relacija prvenstva:
Zatim, predpostavljajui da su svi poslovi aktivirani u trenutku t = 0 i da svi imaju relativni deadline D jednak 25 i vremena izvravanja 2, 3, 3, 5, 1, 2, 5, respektivno, nacrtati vremenski dijagram rasporeda izvravanja saglasno EDF* algoritmu.
Reenje
Rezultujui graf prvenstva:
:
Skup poslova sa modifikovanim parametrima saglasno Chetto and Chetto algoritmu:
Rasporeivanje skupa periodinih poslova
1. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno RM algoritmu za sledei skup periodinih poslova:
Reenje
Faktor iskorienosti (optereenja) procesora za dati skup poslova:
:
Takoe, najnia donja granica iskorienosti za dati skup poslova je:
Prema tome, budui da je lubU U , moemo zakljuiti da je dati skup poslova rasporedljiv algoritmom RM, to moemo pokazati i vremenskim dijagramom rasporeda izvravanja:
2. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno RM algoritmu za sledei skup periodinih poslova:
Reenje
Faktor iskorienosti (optereenja) procesora za dati skup poslova:
:
to je vee od najnie donje granice iskorienosti za skup od 3 periodina posla, Ulub(3) (vidi predhodni primer!). Znai, ne moemo verifikovati rasporedljivost pomou ovog postupka (Liu & Layland test). Pokuavamo sa postupkom hiperbolike granice:
to je manje od 2, pa prema tome, moemo zakljuiti da je dati skup poslova rasporedljiv
algoritmom RM, to moemo pokazati i vremenskim dijagramom rasporeda izvravanja:
3. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno RM algoritmu za sledei skup periodinih poslova:
Reenje
Primenom postupka (Liu & Layland test) imamo:
:
Znai, ne moemo verifikovati rasporedljivost pomou ovog postupka. Pokuavamo sa
postupkom hiperbolike granice:
Prema tome, ne moemo nita zakljuiti ni primenom ovog postupka.
4. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno RM algoritmu za sledei skup periodinih poslova:
Reenje
:
Vremenski dijagram rasporeda izvravanja generisan saglasno RM algoritmom:
nije rasporedljiv!
5. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno EDF algoritmu za sledei skup periodinih poslova:
Reenje
Budui da imamo:
:
dati skup poslova je rasporedljiv sa EDF-om.
Vremenski dijagram rasporeda izvravanja generisan saglasno EDF algoritmom:
Procedure za verifikaciju rasporedljivosti skupa periodinih
poslova
1. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno RM algoritmu za sledei skup periodinih poslova:
Reenje
Primenom postupka (Liu & Layland test) imamo:
:
Znai, ne moemo verifikovati rasporedljivost pomou ovog postupka. Pokuavamo sa
postupkom hiperbolike granice:
Prema tome, ne moemo nita zakljuiti ni primenom ovog postupka.
Primenjujemo trei postupak koji se bazira na vremenu odziva (Response Time) Response Time Analiza.
Proraunavamo vreme odziva za svaki posao i testiramo da li je dobijeno vreme manje ili
jednako relativnom deadline-u (koji je u ovom sluaju jednak periodi).
Za prvi posao imamo: R1 = C1 = 1 4
Prema tome, posao 1 nee prekoraiti svoj deadline.
Za posao 2 imamo:
Dakle, R2 = 3, a kako je R2 D2 = 6, posao 2 nee prekoraiti svoj deadline.
Za posao 3 imamo:
Dakle, R3 = 10, a kako je R3 D3 = 10, posao 3 nee prekoraiti svoj deadline.
Pa prema tome zakljuujemo da je dati skup poslova rasporedljiv algoritmom RM, kao to se
moe videti sa vremenskog dijagrama:
2. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno EDF algoritmu za sledei skup periodinih poslova:
Reenje
Primenom postupka zasnovanom na potrebnom procesorskom vremenu test verifikacije rasporedljivosti se bazira na relaciji:
:
gde je
Za dati skup poslova imamo da je
Provera u kontrolnim takama:
L g(0,L) rezultat 4 2 OK 5 4 OK 8 8 OK
11 10 OK 12 12 OK 17 14 OK 20 20 OK 23 22 OK
Pa prema tome zakljuujemo da je dati skup poslova rasporedljiv algoritmom EDF, kao to se
moe videti sa vremenskog dijagrama:
3. Verifikovati rasporedljivost i nacrtati vremenski dijagram rasporeda izvravanja saglasno DM algoritmu za sledei skup periodinih poslova:
Reenje
Primenjujemo postupak verifikacije koji se bazira na vremenu odziva (Response Time) Response Time Analiza.
:
Proraunavamo vreme odziva za svaki posao i testiramo da li je dobijeno vreme manje ili
jednako relativnom deadline-u. Redosled poslova mora biti ureen po rastuim relativnim deadline-ovima (1 = 2 i 2 = 1)
Za prvi posao imamo: R1 = C1 = 2 4
Prema tome, posao 1 nee prekoraiti svoj deadline.
Za posao 2 imamo:
( )
( )( )
20
2 1 21
01 2
2 2 11
2 2 4
42 2 48
jj
R C C C
RR C CT
=
= = + = + =
= + = + =
Dakle, R2 = 4, a kako je R2 D2 = 5, posao 2 nee prekoraiti svoj deadline.
Za posao 3 imamo:
( )
( )( ) ( )
( )
( )
30
3 1 2 31
0 01 3 3
3 3 1 21 2
23
33
2 2 4 8
8 84 2 3 4 2 6 1 28 6
12 124 2 3 4 4 6 1 48 6
14 144 2 3 4 4 6 14.8 6
jj
R C C C C
R RR C C CT T
R
R
=
= = + + = + + =
= + + = + + = + + = = + + = + + = = + + = + + =
Dakle, ne vai da je R3 D3 jer je R3 = 14 dok je D3 = 8. Zakljuujemo da raspored nije izvodljiv.
Rasporeivanje hibridnog skupa poslova
1. Dat je skup periodinih poslova:
Zajedno sa ovim skupom periodinih poslova, rasporediti sledei skup aperiodinih poslova
koristei Server sa prozivkom (Polling Server) sa fiksnom (statikom) dodelom prioriteta kome je omoguena maksimalna mogua iskorienost procesora i srednji prioritet.
Reenje
Koristei izraz za precizno izraunavanje Ulub vrednosti
:
a kako je uslov rasporedljivosti Up + Us U lubPS+RM imamo da je
dalje
Za n = 2 i Up = 0.45 dobijamo maksimalnu mogucu iskorienost procesora koja se moe dodeliti severu
Dalje, s obzirom da server ima srednji prioritet, po pravilu RM algoritma, setujemo periodu TS = 6 i CS = 2 (saglasno USmax) .
Rezultujui vremenski raspored je dat na sledeoj slici:
2. Izraunati maksimalni mogui faktor optereenja procesora koji moe biti dodeljen Dinamikom Sporadinom Serveru (DSS) a da se garantuje izvodljivost rasporeda u sluaju
korienja EDF algoritma za rasporeivanje sledeih periodinih poslova:
Reenje
Za bilo koji dinamiki server (pod EDF-om) mora biti zadovoljeno
:
1p sU U+
Kako je Up = 2/3, maksimalni faktor optereenja koji moe biti dodeljen Dinamikom Sporadinom Serveru je
11 .3s p
U U= =
3. Zajedno sa periodinim poslovima datim u Primeru 1., rasporeuju se i sledei skup aperiodinih poslova sa Dunamikim Sporadinim Serverom (DSS) sa CS = 2 i TS = 6.
Nacrtati rezultujui vremenski dijagram izvravanja.
Reenje
Proraun tekuih deadline-ova servera (t.j. vremena obnavljanje budeta, RA) za date aperiodine poslove daje:
:
( ): 0 postoji aperiodicni zahtev na cekanjuS A S
A S
RT d t Tt C
= = +
>
1 1
2 1
3 3
1 6 77 6 1 315 6 21
S
S
S
d a Td d Td a T
= + = + =
= + = + =
= + = + =
Rezultujui vremenski dijagram rasporeda proizvedenog sa EDF+DSS je:
tA tI tA tI tA tI
RA=2 RA=2 RA=1
4. Reiti isti problem rasporeivanja opisan u zadatku 3, koristei Server sa Totalnim Opsegom (TBS) sa faktorom iskorienosti 1/3.
Reenje
Proraun deadline-ova za aperiodine poslove na osnovu TBS servera:
:
( )1
0
max ,
0
kk k k
S
Cd a dU
d
= + =
11 1
22 1
33 3
10
13
18.
S
S
S
Cd aUCd dUCd aU
= + =
= + =
= + =
Rezultujui vremenski dijagram rasporeda proizvedenog sa EDF+TBS je:
5. Reiti isti problem rasporeivanja opisan u Primeru 2. koristei Server sa Konstantnim Opsegom (CBS) sa CS = 2 i TS = 6.
Reenje
Dogaaji kojima se upravlja sa CBS-om:
:
vreme dogaaj akcija
t = 1 aktiviranje instance cs = Qs, ds = a1 + Ts = 7
t = 4 cs = 0 cs = Qs, ds = ds + Ts = 13
t = 5 aktiviranje instance ostaje tekui deadline
t = 11 cs = 0 cs = Qs, ds = ds + Ts = 19
t = 15 aktiviranje instance cs = Qs, ds = a3 + Ts = 21
Rezultujui vremenski dijagram rasporeda proizvedenog sa EDF+CBS je:
6. Dva periodina posla su data tabelarno:
Nacrtati vremenske dijagrame rasporeda primenom Polling Server-a sa fiksnom dodelom prioritera ako se javljaju sledei aperiodini zahtevi za izvravanjem:
Za Polling Server-e sa parametrima Cs = 1, Ts = 4 ; Cs = 2 , Ts = 7 Cs = 2 Ts = 4 proveriti dovoljan uslov izvodljivosti hibridnog skupa poslova. Nacrtati vremenske dijagrame u jednom
hiperperiodu. Za trei server proveriti izvodljivost analizom interferencije periodinih poslova.
Reenje
Analiza rasporedivosti obuhvata
:
- rasporedivost periodinih taskova
- rasporedivost aperiodinih taskova
Dovoljan uslov ukupne rasporedivosti se procenjuje uvoenjem dodatnog periodinog posla ekvivalentnog serveru. Prema tome, test rasporedivosti pri RM (dovoljan uslov) je:
Up + U
s
Dakle dovoljan uslov rasporedivosti datog hibridnog skupa poslova u pogledu optereenja
procesora izazvano serverom je:
0.32976315.SS
CT
Polling server 1
Cs = 1, Ts = 4. Ovi koeficijenti ispunjavaju dovoljan uslov jer je / = 0.25 0.32976315. :
Polling server 2
Cs = 2, Ts = 7. Ovi koeficijenti ispunjavaju dovoljan uslov jer je / = 0.2857 0.32976315. :
Polling server 3
Dovoljan uslov: Cs = 2, Ts = 4. Ovi koeficijenti ne ispunjavaju dovoljan uslov jer je / = 0.5 to je vee od 0.32976315. :
Interferencija periodinih taskova na rasporedivost skupa poslova je svojstvo koje je inkorporirano u postupak za dobijanje potrebnog i dovoljnog uslova rasporedivosti a koji se bazira na vremenu odziva (Response Time) Response Time Analiza.
Proraunavamo vreme odziva za svaki posao i testiramo da li je dobijeno vreme manje ili jednako relativnom deadline-u (koji je u ovom sluaju jednak periodi). Poslove prethodno treba poredati u opadajui redosled to se tie prioriteta. Najvei prioritet ima server jer ima najkrau
periodu (Ts = 4).
Za prvi posao imamo: RS = CS = 2 4.
Prema tome, Server kao periodini posao nee prekoraiti svoj deadline (u ovom sluaju definisan periodom).
Za posao 1 imamo:
( )
( )( )
10
1 11
01 1
1 1
2 1 3
31 2 34
S j Sj
SS
R C C C C
RR C CT
=
= + = + = + =
= + = + =
Dakle, R1 = 3, a kako je R1 D1 = 5, posao 1 nee prekoraiti svoj deadline.
Za posao 2 imamo:
( )
( )( ) ( )
( )
( )
20
2 1 21
0 01 2 2
2 2 11
22
32
2 1 2 5
5 52 2 1 2 4 1 74 5
7 72 2 1 2 4 2 84 58 82 2 1 2 4 2 8 .4 5
S j Sj
SS
R C C C C C
R RR C C CT T
R
R
=
= + = + + = + + =
= + + = + + = + + = = + + = + + = = + + = + + =
Dakle, R2 = 8, a kako je R2 D2 = 8, posao 2 nee prekoraiti svoj deadline.
Pa prema tome zakljuujemo da je dati hibridni skup poslova rasporedljiv algoritmom RM i primenom Polling Server-a, kao to se moe videti sa vremenskog dijagrama: