Detectarea capului mort - stadopedia

Principalele direcții ale luptei împotriva secetelor

În legătură cu problema blocajelor, au fost realizate multe studii interesante în domeniul informaticii și al sistemelor de operare.







Principalele direcții ale luptei împotriva celor nedepășite:

1) Ignorați această problemă

2) Detectarea blocajelor

3) Recuperarea după blocări

4) Prevenirea blocajelor datorită alocării atente a resurselor sau încălcarea uneia dintre condițiile de apariție a blocajelor.

Cea mai simplă abordare este ignorarea problemei de la sfârșituri. Abordarea Unix este de a ignora această problemă, presupunând că majoritatea utilizatorilor vor prefera un impas aleatoriu pentru regulile ridicole care le obligă să aibă un proces, un fișier deschis și așa mai departe. Aici găsim o alegere nedorită între rigoare și confort.

Detectarea impasului este stabilirea faptului că a existat un impas și o definiție a proceselor și a resurselor implicate în această situație. De regulă, algoritmii de detectare se aplică atunci când apar primele trei condiții necesare pentru un blocaj. Apoi, se verifică prezența unui mod circular de așteptare. În același timp, graficele de alocare a resurselor deja menționate sunt utilizate în mod activ.







Luați în considerare situația modelului:

· Procesul A deține resursa R și așteaptă pentru resursa S.

· Procesul B se aplică resurselor T.

· Procesul C revendică resursele S.

· Procesul D deține resursele U și așteaptă resursele S și T.

· Procesul E deține resursele T și așteaptă resursele V.

· Procesul F deține resursele W și așteaptă resursele S.

· Procesul G deține resursa V și așteaptă resursele U.

Pentru a determina dacă situația dată este blocată și dacă da, ce procese sunt implicate în ea, puteți construi un grafic de resurse (figura 8.2). Figura 8.2 arată că există o buclă care simulează starea așteptărilor circulare, iar procesele D, E, G într-o situație de blocare

Figura 8.2 (a) Un grafic al resurselor. (b) Un ciclu extras din grafic (a).

Este ușor de detectat din punct de vedere vizual existența unui blocaj, dar sunt necesare și algoritmi formali implementați pe computer. Unul dintre acești algoritmi este reducerea graficului. Dacă cererile de resurse pentru un anumit proces pot fi satisfăcute, adică nu există niciun blocaj, graficul poate fi redus la acest proces. Reducerea graficului la proces este reprezentată de excepția săgeților care vin în acest proces din resurse și săgeți către resursele din acest proces.







Articole similare

Trimiteți-le prietenilor: