Top Banner

of 31

Zbirka zadataka OS

Jan 07, 2016

Download

Documents

bozapub

Praktikum iz Operativnih Sistema
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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: