240 likes | 667 Views
Sisteme shfrytezimi. Leksion 8 Trajtimi i Deadlocks ( vazhdim ). Algoritmi i grafit te huazimit te burimeve. Brinja e kerkeses P j R j , nqs paraqitet me vije te nderprere do te percaktoje se procesi P j pretendon te kerkoje burimin R j ne te ardhmen
E N D
Sistemeshfrytezimi Leksion 8 Trajtimii Deadlocks (vazhdim) Iralda Mitro
Algoritmiigrafittehuazimitteburimeve • Brinja e kerkesesPj Rj , nqsparaqitet me vijetenderprere do tepercaktoje se procesiPjpretendontekerkojeburiminRjne teardhmen • Kjobrinje do tekonvertohet ne brinjekerkesekurprocesitekerkojerealishtburimin • Kurnjeburimleshohetnganjeproces, brinja e huazimitkonvertohetserish ne brinjekerkese Iralda Mitro
Algoritmiigrafittehuazimitteburimeve – per menjanimin e Deadlock • Kurnjeproceskerkonnjeburim, kerkesanukplotesohetmenjehere • Nqsbrinja e kerkeses (---) nuk con ne formimin e njecikli ne graf, ajokonvertohet ne brinjekerkese (->) Iralda Mitro
Gjendje e pasigurte ne grafine Huazimitteburimeve • Ne keterast, P2 duhetteprese, sepsenqs do tijepejburimi R2 do teformohejcikel Iralda Mitro
Algoritmi me shumeinstanca • Cdoprocesiriduhettedeklarojenumrinmaksimalteinstancavetecdo tip burimiqe do tinevojiten • Kurnjeprocesbenkerkese ne njebashkesiburimesh, algoritmi do tekontrollojeneseplotesimiikerkeses do taleresistemin ne gjendjetesigurte • Kyalgoritemperbehetnga 2 pjese: • Algoritmiqekontrollonnesesistemieshte ne gjendjetesigurteosejo • Algoritmi I kerkesave per burime Iralda Mitro
Algoritmi me shumeinstanca – strukturat e tedhenave • n = numriiprocesevem= numriitipeveteburimeve • Available:Vektor me gjatesim per numrin e instancavete lira • available [j] = k, kemikinstancate lira tetipitRj • Max: n x meshtematriceqetregon per cdoproces, numrin e instancave per secilinprejburimeve • Max [i,j] = k, procesiPikerkonk instancateburimittetipitRj. • Allocation: n x meshtematriceqembannumrin e instancavetecdo tipi qe ka huazuarseciliproces • Allocation[i,j] = k, Pi ka huazuaraktualishtkinstancatetipitRj • Need: n x meshtematriceqetregonedhesaburimepritettehuazojeseciliprejproceseve • Need[i,j] = k, Pi ka nevoje per k instancatetjeraRj Need [i,j] = Max[i,j] – Allocation [i,j]. Iralda Mitro
Algoritmiisigurise 1. Marrim 2 vektoreWork dheFinish me gjatesimdhen. Inicializojme: Work = Available Finish [i] = false per i - 1,3, …, n. 2. Gjejmenjeitetilleqe: (a) Finish [i] = false (b) Needi Work Nqsnukekzistonnje e tille, shko ne hapin 4. • Per iqe u gjet:Work = Work + AllocationiFinish[i] = trueshko ne hapin 2. 4. NqsFinish [i] == true per cdoi, ateheresistemieshte ne gjendjetesigurte Iralda Mitro
Algoritmiikerkeses per burim per procesinPi • Request = vektoriikerkesave per procesinPi. • Requesti[j] = k , Pi do k instancatetipitRj. 1. NqsRequesti Needishkotekhapi 2. Perndryshegjenerogabim (sepse ka kerkuar me shumeinstancasesamaksimumikerkesave) 2. NqsRequesti Available, shkotekhapi 3. perndryshePiduhetteprese per burimete lira, meqeburimetnukjanetedisponueshme. 3. Sistemihiqetsikurplotesonkerkesen: Available = Available - Requesti; Allocationi= Allocationi + Requesti; Needi=Needi – Requesti; • Gjendje e sigurte burimethuazohennga Pi. • Gjendje e pasigurte Pi duhetteprese, dhegjendja e vjeter e huazimitteburimeverikthehet Iralda Mitro
Shembull - Algoritmi me shumeinstanca • 5 proceseP0 deriP4 • 3 tipeburimesh: A (10 instanca), B (5 instanca), C (7 instanca) • Gjendja ne kohenT0: AllocationMaxAvailable A B C A B C A B C P0 0 1 0 7 5 3 3 3 2 P1 2 0 0 3 2 2 P2 3 0 2 9 0 2 P3 2 1 1 2 2 2 P4 0 0 2 4 3 3 Iralda Mitro
Shembull - Algoritmi me shumeinstanca • Gjendja e matrices NeedpercaktohetsiMax – Allocation. Need A B C P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1 • Ekzistonsekuenca e sigurise < P1, P3, P4, P2, P0> ndajsistemieshte ne gjendjetesigurte. Iralda Mitro
Shembull - Algoritmi me shumeinstanca • Gjetja e sekuences se sigurise • Work = (3,3,2);finish[i] = false; i=1..4 • <P1 i=1 • Work = (5,3,2); <P1, P3, • Work = (7,4,3); <P1,P3,P0, • Work = (7,5,3); <P1,P3,P0,P2, • Work = (10,5,5); <P1,P3,P0,P2,P4> • Work = (10,5,7);
Algoritmiqezbulon Deadlock Skema e daljesnga deadlock Zbulimii Deadlock Iralda Mitro
Nje instance per cdo tip burimi • Nesesistemi ka burimevetem me nje instance, per zbulimin e Deadlock do teperdoretgrafiWAIT FOR. • Kygraf do teperftohetngagrafiihuazimitteburimeve, duke hequrnyjetqeperfaqesojneburimetdhebrinjetperkatese • Nyjetjaneproceset • BrinjetPi Pj, Pipopret per procesinPj • Kjobrinje do teekzistoje ne grafin Wait-for, nqsekzistojne ne grafin e huazimitteburimevebrinjetPi R dheR Pj • Nqs ne grafin Wait-for kemicikel, ateherekemi deadlock!!! • Duhetteekzekutohetvazhdimishtnjealgoritemqekontrollonformimin e cikleve • Njealgoritem per tegjeturnjecikel ne grafkerkonveprimeterenditn2, kuneshtenumriibrinjeve ne graf. Iralda Mitro
Ndertimiigrafit Wait-for • Ndertonisipasrregullavetepermenduragrafinkorrespondues Wait-for, per grafin e dhene
GrafiihuazimitteburimevedheGrafi Wait-for Grafiihuazimitteburimeve Grafi Wait-for korrespondues Iralda Mitro
Burimet me meshume se 1 instance • Available:vektor me gjatesimqepercaktonnumrin e burimevetedisponueshme per secilin tip burimi • Allocation:matricen x mqepercaktonnumrin e burimevetehuazuara per cdo tip procesi • Request:matricen x mpercaktonkerkesataktuale per cdoproces • Request [ij] = k, procesiPikerkonkinstancatetjerateRj Iralda Mitro
Algoritmiizbulimit 1. VektoretWorkdheFinish me gjatesimdhen, respektivishtinicializohen: (a) Work = Available (b) For i = 1,2, …, n, if Allocationi 0, then Finish[i] = false; otherwise, Finish[i] = true 2. Gjejnjeindeksitetilleqe: (a) Finish[i] == false • Requesti Work Nqsnukekzistoni, athshkotekhapi 4 • Work = Work + AllocationiFinish[i] = trueshkotekhapi 2. • If Finish[i] == true, per i, 1 i n, nuk ka deadlock if Finish[i] == false, ateherePieshte ne deadlock Kujtese! Available – vektori me burimet e lira Allocation – vektor me instancatqe ka huazuarnjeproces per cdo tip burimi Request – kerkesatqe ka berecdoproces Iralda Mitro
Shembull - Algoritmiizbulimit • 5 proceseP0deriP4 • 3 tipeburimesh: A (7 instanca), B (2 instanca), C (6 instanca). • Ne momentinT0: Allocation Request Available A B C A B C A B C P0 0 1 0 0 0 0 0 0 0 P1 2 0 0 2 0 2 P2 3 0 3 0 0 0 P3 2 1 1 1 0 0 P4 0 0 2 0 0 2 • Sekuenca <P0, P2, P3, P1, P4> do terezultoje me Finish[i] = true per cdoi. Iralda Mitro
Shembull - Algoritmiizbulimit • P2kerkonnje instance shtesetetipitC. Request A B C P0 0 0 0 P1 2 0 1 P2 0 0 1 P3 1 0 0 P4 0 0 2 • Gjendja e sistemit? • Nuk ka burime per tepermbushurkerkesen • Ekziston Deadlock, I perberengaprocesetP1, P2, P3, P4. Iralda Mitro
PerdorimiiAlgoritmittezbulimit • Kurdhesashpeshduhettetherritetvaretnga: • Sa e shpeshteeshtemundesiaqetendodhenje deadlock? • Sa procese do teduhetterikthehen ne gjendjen e meparshme • Nqsalgoritmiizbulimittherritet ne menyrearbitrare, ateheremundtegjendenshumecikle ne grafin e burimeve, keshtuqenuk do tekishimmundesitezbulonim se cilingaprocesetshkaktoi deadlock Iralda Mitro
Rikuperiminga Deadlock: Perfundimiiproceseve • Nqsalgoritmizbulon deadlock: • Njoftohetperdoruesidheainderhynmanualisht • Rikuperimi do tebehetautomatikisht • Nderpritentegjitheproceset e bllokuar • Kjometodeeshte e kushtueshmesepseprocesiqenderpritetmundteketeqene ne ekzekutim per nje fare kohedherezultatethumbasin • Nderpritetnjeproces ne njekohederisatethyhetcikli • Kjometodekerkonqesa here tenderpritetnjeprocestethirretalgoritmi per zbulimin e deadlock. • Nderprejanukeshte e thjeshte, sepseaimundtejete duke modifikuarndonjeskedar ne ate moment
Rikuperiminga Deadlock: Perfundimiiproceseve • Nqsperdoretmetoda e dyte, zgjidhetprocesi me koston me teuletteperfundimit • Faktoret e kostos: • Prioritetiiprocesit • Koha e ekzekutimitteprocesit • Burimetqeinevojiten • Burimetqe ka huazuar • Sa proceseduhettenderpriten • Eshtenjeprocesinteraktivapo batch Iralda Mitro
Rikuperiminga Deadlock: marrja e burimeve • Sipaskesajmetode, disaburime I merrendisaprejprocesevedhe I jepenprocesevetetjere. Duhenmarreparasysh 3 faktore: • Zgjedhja e viktimes • Ciletburime do temerrendhengaciletprocese do temerren • Duhetpercaktuaredherendi I marrjes se burimeve me qellimminimizimin e kostos • Faktoret e kostos: numriiburimevetemarradhe per sakoheprocesieshte ne ekzekutim • Rollback • Nqsprocesitimerretndonjeprejburimet, ainukmundtevazhdojeekzekutimin e tij normal • Procesikthehet ne nje pike siguriedhevazhdonekzekutiminngakjo pike • Metoda me e thjeshteeshte Rollback total – procesifillonedhenjehereekzekutimin e tij • Starvation • Duhetqenjeprocestezgjidhetnjenumertefundemheresh per tunderprere, sepsendodhqekyprocesmosteperfundojekurreekzekutimin Iralda Mitro