260 likes | 498 Views
Trajtimi i Deadlocks. Sisteme shfrytezimi Leksion 7. Deadlock ( bllokimi reciprok ). Deadlock – dy ose me shume procese ku secili prej tyre pret qe te ndodhe nje ngjarje qe shkaktohet vetem nga nje nga keta procese prites. Trajtimi i Deadlock-s.
E N D
TrajtimiiDeadlocks Sistemeshfrytezimi Leksion7 Iralda Mitro
Deadlock (bllokimireciprok) • Deadlock – dyose me shumeprocesekuseciliprejtyrepretqetendodhenjengjarjeqeshkaktohetvetemnganjengaketaproceseprites Iralda Mitro
Trajtimii Deadlock-s • Paraqitja e njepershkrimitedetajuarrreth deadlocks, teciletndalojneprocesetkonkurrenteqetepermbushinpunet e tyre • Paraqitja e disamenyrave per parandalimindhemenjanimin e deadlock-s ne njesistemoperimi Iralda Mitro
Huazimiiburimeve • Ne sistemet e multiprogramuarprocesetkonkurrojne me njeritjetrin per tehuazuarburime • Njesistemperbehetnganjenumerifundemburimeshtecilathuazohenngaprocesetendryshme • Burimetjanetetipevetendryshmedhecdo tip burimi ka njenumertecaktuarinstancash • Ne rastin e njesistemi me 2 CPU, themi se ka 2 instancatetipit CPU Iralda Mitro
Huazimiiburimeve • Zakonisht, perpara se teperdoretnjeburim, behetkerkese per te • Njeprocesmundtekerkojeaqburimesainevojiten per teperfunduardetyrenqeieshtecaktuar • Kynumernukmundtejeteasnjehere me imadh se numrimaksimaliburimeveqe ka sistemi • Burimendahen ne: • Fizike (pajisje I/O, CPU, etj) • Logjike (skedaret, semaforet, etj) Iralda Mitro
Problemii Deadlock • Situate per nje Deadlock • Njeprocesbenkerkese per njeburim • Neseburiminukeshtei lire, procesikalon ne gjendjepritjeje • Neseburimipombahetnganjeprocestjeter, icilieshtegjithashtu ne pritje => procesijonemundtemosndryshoje me statusin e tij, portembetet ne pritje Iralda Mitro
Problemii Deadlock - Shembuj • Shembull 1 • Sistemi ka 2 CD • P1dheP2secilipombajnenjerennga CD, dhesecilitprejtyreiduhet CD e tjetrit • Shembull 2 • SemaforetAdheB, inicializuar me 1 P0P1 wait (A); wait(B) wait (B); wait(A) Iralda Mitro
Deadlock ne Kryqezim Iralda Mitro
Deadlock ne Ure • Trafikukalonvetem ne njedrejtim • Cdoseksioniuresmundteshikohetsinjeburim • Nesendodhnje deadlock, mundtezgjidhetvetemnesenjemakineecenmbrapsht • Disamakinamundteecinmbrapshtnesendodhnje deadlock. • Ekzistonmundesia e Starvation. Iralda Mitro
Karakterizimii Deadlock Deadlock mundteshkaktohetneseplotesohen 4 kushtet e meposhtme: • Perjashtimireciprok(Mutual exclusion):njeburimmundtehuazohetvetemnganjeproces ne nje moment tecaktuar • Mbajdheprit(Hold and wait):duhetteekzistojenjeproces I cili ka huazuartepaktennjeburimdhekerkonburimeshtesetecilatmbahenngaprocesetetjere • Mosnderprerja(No preemption):nqsnjeproces ka huazuarnjeburim, atehereasnjeprocestjeternukmundt’jamarreketeburim, derisaaitaleshojevullnetarisht • Cikli(Circular wait):mundteekzistojenjebashkesiproceseshqepresin {P0, P1, …, P0} , e tilleqeP0 popret per njeburimqembahetngaP1, P1popret per njeburimqembahetnga P2, …, dhePnpopret per njeburimqembahetngaP0. Iralda Mitro
Grafiihuazimitteburimeve • Grafiperbehetngakulme V dhebrinjeE. • V perbehetnga: • P = {P1, P2, …, Pn} eshtebashkesia e proceseveaktive ne sistem. • R = {R1, R2, …, Rm} bashkesia e burimeve. • Brinja e kerkeses – P1 Rj • Procesi P1 ka berekerkese per burimin e tipitRj • Brinja e huazimittetipitteburimit– Rj Pi • Procesi Pi ka huazuarburimin e tipitRj Iralda Mitro
Grafiihuazimitteburimeve • Proces • Tip burimesh me 4 instanca • Pikerkon instance tetipitRj • Pi ka huazuar instance tetipitRj Pi Rj Pi Rj Iralda Mitro
Shembull - Grafiihuazimitteburimeve Iralda Mitro
Shembull - Grafiihuazimitteburimeve me nje Deadlock • Jane formuar 2 cikle • R2, P1, R1, P2, R3, P3, R2 • R2, P2, R3, P3, R2 • Eshteshkaktuarbllokimreciprok Iralda Mitro
Shembull - Grafiihuazimitteburimeve me cikel, por pa Deadlock • Cikliiformuar P1,R1,P3,R2,P1 • P4 ne keterastmundteleshoje R2 • R2 e merr P3 • Pra, jogjithmonecikli con ne deadlock Iralda Mitro
Faktekyce • Mungesa e njecikli ne graf, dmthqenuk ka deadlock • Prania e njecikli: • Neseburimetkanevetem 1 instance, kjo do tesilltebllokimreciprok ne huazimin e burimeve (proceset e perfshire ne cikel, janeproceset e bllokuar) • Kurburimetkane me shume se 1 instance, kushtieshteinevojshemporjoimjaftueshem. Iralda Mitro
Metodat per trajtimin e Deadlock • Sigurohuqesisteminuk do tehyjekurre ne njegjendje deadlock. • Lejosisteminqetehyje ne gjendje deadlock dhepastajdilnga deadlock. • Injoroproblemindhesupozo se deadlock nuk do tendodhinkurre ne sistem (perdoretngashumesistemeoperimi, si UNIX) Iralda Mitro
Parandalimii Deadlock – kushti 1 Do teverejmekushtet e bllokimitreciprok • Perjashtimireciprok • Disaburimenukmundteperdorennjekohesishtngadisaprocese. (Pshprinterinukmundteperdoretnjekohesishtngadisaprocese). Per ketoburimeeshte e nevojshmeqeteshmangetbllokimi • Por ka edheburimeqelejojneaksestenjekohshem (pshskedarevetemtelexueshem). Ne ketorastenukeshteinevojshem. Iralda Mitro
Parandalimii Deadlock – kushti 2 • Mbajdheprit • Duhettesigurohemiqenjeproces do tebejekerkese per burime, vetemnqsnukeshte duke mbajturndonjeburimtjeter. Ka 2 menyra: • Procesiikerkontegjithaburimetqeinevojitenqe ne fillim. Procesinukileshonburimetderi ne fund (disavantazh) • Procesiileshonburimetqe ka huazuarperpara se tekerkojeburimetetjera • Disavantazheshtepritja e pafundme per njeburim Iralda Mitro
Parandalimii Deadlock – kushti 3 dhe 4 • Mosnderprerja • Nqsnjeprocesqembandisaburimekerkonnjeburimtjeter, I cilinukmundtejepetmenjehere, atehereburimetqekymbanmundtijepenprocesevetetjere, nderkoheqekypret • Cikliipritjes– cdoprocesi do ticaktohetnjenumerdheprocesi do tikerkojeburimetsipasrenditrrites. Iralda Mitro
Menjanimii Deadlock • Njemenyre per menjanimineshtetekerkohetinformacionshtese per menyrensesiproceset do tekerkojnedheleshojneburimet • Pranesenjesistem ka 2 burime A dhe B, duhettetregohet se sinjeproces P do tekerkoje A, me pas kerkon B dhe ne fund do tileshojetedyketoburime • Kursenjeprocestjeter Q do tekerkoje ne fillim B, pastaj A • Me anetekesajsekuencetekerkesavedheleshimeveteburimeve, do tepercaktohetnesekerkesa e njeprocesi do teplotesohetosejo. Iralda Mitro
Menjanimii Deadlock • Ekzistojnedisaalgoritme per menjanimin e Deadlock. Me ithjeshti: • secilingaprocesettetregojesaburime do tekerkoje (numrinmaksimal) • Sistemi ne keterasthiqetsikur e plotesonkerkesen, por ne faktaikontrollonnesegjendjaeshte e sigurt, pasiazhornonstrukturat e tedhenave • Nesegjendjanukeshte e sigurt, ai do tekthejembrapshttegjithakerkesat • Nesegjendjaeshte e sigurt, sistemiishfrytezimit do ti jape burimet e kerkuaraprocesit, ose do talereprocesin ne pritje Iralda Mitro
Gjendja e sigurise • Sistemieshte ne gjendjesigurienqsaiplotesontegjithakerkesat per burimedheprocesieviton Deadlock. • Sistemieshte ne gjendjesigurie, nqsekzistonnjesekuencesiguriesi me poshte: • <P1, P2, …, Pn> kucdo Pi e sekuences, kerkesa per burimeqeben Pi plotesohetngaburimeqejanehuazuarngaprocesiPj, ku j<i. • Nqsnevojat per burimete Pinukplotesohenmenjehere, ateherePimundtepresederisateketembaruarPj • KurmbaronPj, Pimundtemarreburimetqe I nevojiten, teekzekutohet, terikthejeburimet e huazuaradheteperfundoje • KurPiperfundon, Pi+1mundtemarreburimetqe I nevojiten, e keshtu me rradhe Iralda Mitro
Fakte • Nqsnjesistemeshte ne gjendjetesigurt nuk ka deadlock • Nqsnjesistemeshte ne gjendje JO tesigurt ka mundesi per deadlock. • Shmangia sigurohuqesistemimostehyjekurre ne gjendjetepasigurte Iralda Mitro
Gjendja e Sigurte, Pasigurte, dhe Deadlock Iralda Mitro