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