Zbirka zadataka OS

  • Upload
    bozapub

  • View
    452

  • Download
    2

Embed Size (px)

DESCRIPTION

Praktikum iz Operativnih Sistema

Citation preview

  • 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: