Lecture 9

  • Upload
    bozapub

  • View
    217

  • Download
    0

Embed Size (px)

DESCRIPTION

Predavanje9 OS

Citation preview

  • Praktikum iz operativnih sistema

    Lekcija 9: Rukovanje deljenim resursima

    Prof. dr Branimir Trenki

  • Resursi - Uvod

    Kakve sve zahteve moemo postaviti pred poslove? Vremenski zahtevi

    Aktiviranje, kompletiranje, odstupanje (jitter)

    Zahtevi po pitanju prvenstva izvravanja Obezbeuju ureenost (redosled) izvravanja

    Zahtevi po pitanju deljenih resursa Uslovljavaju sinhronizaciju u pristupu resursima koja

    zahtevaju meusobnu iskljuivost u pristupu

  • Resursi - Uvod

    Resurs je bilo koja softverska struktura koju neki task moe iskoristiti u cilju omoguavanja ili unapreenja sopstvenog izvrenja struktura podataka skup promenljivih polje glavne memorije datoteka skup registara nekog periferala .

  • Resursi - Uvod

    Privatni resurs: Resurs dodeljen tano odreenom procesuDeljeni resurs: Resurs koji moe koristiti vie procesa Zatita od istovremenog pristupa meusobna

    iskljuivost (mutually exclusive) u korienju resursa

    Deo programskog koda koji se izvrava pod uslovima meusobne iskljuivosti kritina sekcija (critical section, CS)

  • Semafor - Uvod

    Operativni sistem obezbeuje: Opti mehanizam sinhronizacije semafor Taskovi koriste semafor u formiranju kritine

    sekcije Za svaki deljeni resurs Ri dodeljuje se poseban

    semafor Si Semafor je kernel-ova struktura podataka i

    moe mu se pristupiti samo: kroz inicijalizaciju kroz dve primitive operativnog sistema wait i signal

  • Semafor - Uvod Svaka kritina sekcija koja deluje na deljeni

    resurs Ri poinje sa primitivom wait(Si) [zakljuava semafor Si] zavrava se sa primitivom signal(Si) [otkljuava Si]

    Svi blokirani taskovi na istom resursu se dre u redu(queue) pridruenom semaforu

  • Primer deljenja iskljuivog resursa

    Dva taska i dele mutual exclusive resoursetj. konkretno globalni memorijski bafer

  • Blokiranje na semaforu

    Definisati pojam blokiranja Moe se uoiti da je maksimalno vreme

    blokiranja posla prioriteta p1 u oznaci jednakoduini kritine sekcije posla prioriteta p2

  • Blokiranje na semaforu

    Vano je istai: Na alost, u optem sluaju, vreme blokiranja

    posla izazvano zauzetou resursa ne moe biti ogranieno na duinu trajanja izvravanja kritine sekcije od strane posla nieg prioriteta!

    Pojam blokiranja se odnosi samo na situaciju kada je posao vieg prioriteta u stanju ekanja izazvanog zauzetou resursa od strane posla nieg prioriteta

  • Rukovanje deljenim resursima

    Problemi izazvani uzajamnom iskljuivou

    (mutual exclusion)

  • Misija Mars - Pathfinder

    04. Juli 97 sputanje na Mars (posle 6 meseci)

    15. Juli 97 sistem je stalno u resetu zbog istekavremenske kontrole robot prestaje saradom

    16. Juli 97 vest je obila svet: inenjeri poinju rad

    17. Juli 97 greka je naena (verovatnoa 10-6)

  • Misija Mars - Pathfinder

  • Misija Mars - Pathfinder

    Taskovi BCT i MT dele resurs buffer1Taskovi MT i SCT dele resurs results

  • Raspored bez konflikta

    Kritine sekcije su oznaene razliitim bojama!

  • Konflikt na kritinoj sekciji

  • Konflikt na kritinoj sekcijiproboj dedlajna

  • Inverzija prioriteta

    Posledica: Posao vieg prioriteta je blokiran od strane

    posla nieg prioriteta u proizvoljno dugom vremenskom intervalu.

    Reenje: Uvoenje protokola za kontrolu pristupa

    deljenim resursima.

  • Protokoli pristupa resursimaZa sisteme sa fiksnim prioritetom Ne-prekidajui protokol pristupa

    Non Preemptive Protocol (NPP) Najvii prioritet meu onima koji zakljuavaju

    Highest Locker Priority (HLP) Protokol sa nasleivanjem prioriteta

    Priority Inheritance Protocol (PIP) Protokol vrnog prioriteta

    Priority Ceiling Protocol (PCP)Za sisteme i sa fiksnim i sa dinamiki dodeljenimprioritetima Stack Resource Policy (SRP)

  • Ne-prekidajui protokol (NPP)

    Prekidanje poslova u kritinoj sekciji nije dozvoljeno

    Realizacija: kada posao ue u kritinu sekciju, njegov prioritet poraste na maksimalnu vrednost Izlaskom is CS poslu se vraa njegov prioritet

    Prednosti: jednostavnost realizacije

    Negativan efekat: poslovi visokog prioriteta koji ne koriste kritinu sekciju, mogu biti blokirani

  • Konflikt na kritinoj sekcijiPathfinder

  • Raspored sa NPP

    Prioritet kritine sekcije(CS) je jednak maksimalnom prioritetu u skupu prioriteta taskova

  • Problem sa NPP

    Posao po protokolu nee prekinuti posao , mada bi mogao

  • Highest Locker Priority (HLP)

    Posao u kritinoj sekciji dobija najvii prioritetmeu onim poslovima koji koriste tu kritinu sekciju

    odnosno, onih poslova koji mogu da zakljuaju dati semafor

    Osobine: Jednostavna realizacija Posao se blokira pri pokuaju prekida, a ne

    ulaskom u kritinu sekciju

  • Raspored sa HLP

    Posao je blokiran, ali moe prekinuti posaou okviru kritine sekcije

  • Problem sa HLP Posao se blokira samo pri prolasku kroz jednu

    granu

  • Protokol sa nasleivanjem prioriteta(PIP)

    Priority Inheritance Protocol (PIP) Posao u kritinoj sekciji poveava svoj prioritet

    jedino u sluaju ako blokira druge poslove Posao u kritinoj sekciji (CS), nasleuje najvii

    prioritet od onih poslova koji su blokirani

  • Tipovi blokiranja

    Blokiranje je kanjenje prouzrokovano poslomnieg prioriteta

    Direktno blokiranjePosao nailazi na zakljuan semafor

    Push-through blokiranjePosao je blokiran zato to je posao sa niim prioritetom nasledio vii prioritet

  • Raspored sa PIP

  • Identifikacija blokirajuih resursa

    Posao moe biti blokiran sa onim semaforimakoje koriste poslovi sa niim prioritetom i

    (A) direktno su deljeni sa (direktno blokiranje)ili

    (B) deljeni su sa poslovima iji je prioritet viiod prioriteta posla

  • Identifikacija blokirajuih resursa

    Posao moe biti blokiran sa onim semaforimakoje koriste poslovi sa niim prioritetom i

    Teorema: moe biti blokiran najvie jedanputsa svakim od tih semafora

    Teorema: moe biti blokiran najvie jedanputsa svakim od poslova nieg prioriteta

  • Primer

    Posao moe biti blokiran jednom sa (A2 ili C2) jednom sa (B3 ili D3)

    Posao moe biti blokiran jednom sa (B3 ili D3)

    Posao ne moe biti blokiran

  • Raspored sa PIP

  • Ograniavanje vremena blokiranja

    Ako je n broj poslova sa prioritetima niim odprioriteta posla

    i m je broj semafora na kojima posao moebiti blokiran, tada

    Teorema: moe biti blokiran najvie u duinitrajanja min(n, m) kritinih sekcija

  • Napomene za PIPPrednosti: transparentan za programere ograniava inverziju prioriteta

    Nedostaci: ne moe da izbegne mrtve petlje (deadlocks) i

    ulanavanje blokiranja

  • Ulanavanje blokiranja sa PIP

    Teorema: moe biti blokiran najvie jedanputsa svakim od poslova nieg prioriteta

  • Protokol vrnog prioriteta (PCP)

    Moe se posmatrati kao PIP + test pristupa Posao ulazi u kritinu sekciju ako i samo

    ako je: ona slobodna i ne postoji rizik od ulananog blokiranja

    Da bi se obezbedila zatita od ulananog blokiranja, posao se mora stopirati na ulazu u slobodnu kritinu sekciju (vrno (ceiling) blokiranje)

  • Protokol vrnog prioriteta (PCP) Svakom semaforu sk dodeljuje se vrna

    vrednost:

    Posao i moe ui u CS samo ako:

    Da bi task uao u CS svi zakljuani semafori od strane drugih taskova - moraju imati niu vrnu vrednostod prioriteta datog taska

  • Raspored sa PCP

    t1: 2 je blokiran sa PCP, s obzirom da je P2 < C(s1)=P1

  • Napomene za PCP

    Prednosti: Blokiranje je redukovano na trajanje jedne CS Ima zatitu od mrtve petlje (deadlocks)

    Problemi: Protokol nije transparentan za programere:

    dodela vrnih vrednosti za svaki semafor

  • Tipina mrtva petlja

  • Izbegavanje mrtve petlje sa PCP

  • Garancije uslovljene resursima Selektujemo (I) algoritam rasporeivanja i

    (II) protokol pristupa resursima

    Izraunavamo maksimalna vremena blokiranja (Bi) za svaki posao

    Izvravamo test garancija koji obuhvata i lanove koji se odnose na blokiranje

  • Garancije sa RMLui & Layland

    D = T

    =

    =n

    i i

    ip T

    CU1

  • Garancije sa RMD T

    RTA = Response Time Algorithm

  • Garancije sa EDF

    Praktikum iz operativnih sistemaResursi - UvodResursi - UvodResursi - UvodSemafor - UvodSemafor - UvodPrimer deljenja iskljuivog resursaBlokiranje na semaforuBlokiranje na semaforuRukovanje deljenim resursimaMisija Mars - PathfinderMisija Mars - PathfinderMisija Mars - PathfinderRaspored bez konfliktaKonflikt na kritinoj sekcijiKonflikt na kritinoj sekcijiproboj dedlajnaInverzija prioritetaProtokoli pristupa resursimaNe-prekidajui protokol (NPP)Konflikt na kritinoj sekcijiPathfinderRaspored sa NPP Problem sa NPPHighest Locker Priority (HLP)Raspored sa HLPProblem sa HLPProtokol sa nasleivanjem prioriteta(PIP)Tipovi blokiranjaRaspored sa PIPIdentifikacija blokirajuih resursaIdentifikacija blokirajuih resursaPrimerRaspored sa PIPOgraniavanje vremena blokiranjaNapomene za PIPUlanavanje blokiranja sa PIPProtokol vrnog prioriteta (PCP)Protokol vrnog prioriteta (PCP)Raspored sa PCPNapomene za PCPTipina mrtva petljaIzbegavanje mrtve petlje sa PCPGarancije uslovljene resursimaGarancije sa RM Lui & Layland Garancije sa RMGarancije sa EDF