Interlock - studopediya

În sistemele informatice, există un număr mare de resurse, fiecare dintre ele, la un moment dat poate fi utilizat de către un singur proces. Ca exemple de astfel de imprimante, unități de bandă, și elementele tabelelor interne ale sistemului. Apariția a două procese de transmitere simultană a datelor către imprimantă va imprima un set de caractere lipsite de sens. Prezența a două procese utilizând același element din tabelul de sistem de fișiere este sigur pentru a deveni cauza distrugerii sistemului de fișiere. Prin urmare, toate sistemele de operare au capacitatea de a oferi un acces exclusiv la proces (cel puțin temporar) la anumite resurse.

De multe ori pentru a rula aplicații de proces are nevoie de acces exclusiv la nu una, ci mai multe resurse.

Exemplul 3.5. Centralizare Să presupunem că fiecare dintre cele două procese doresc să înregistreze un document scanat pe un CD. Procesul A cere permisiunea de a utiliza scanerul și devine ea. Procedeul B este programat în mod diferit, astfel încât primele solicitări Aranjați-TION pentru a înregistra CD-uri și, de asemenea înțeles. Apoi, procesul A este desenată la un aparat pentru înregistrarea unui CD, dar solicitarea este respinsă, atâta timp cât acest aparat folosește proces B. Din păcate, în loc să elibereze dispozitiv pentru CD-uri de înregistrare, B solicita un scaner. În acest moment, procesele sunt blocate și vor rămâne pentru totdeauna în această stare. Această situație se numește un impas, impas sau impas.

În sistem organizat de dificil cu o mulțime de resurse și procese simultan executabile de blocare este foarte probabil. În acest caz, în conformitate cu resursele (conceptul de resurse a fost introdusă în primul paragraf) poate fi înțeleasă, în special, și procesele propriu-zise. Pe scurt, resursa poate fi numită orice obiect, care poate fi accesat de proces.

Resursele pot fi împărțite în două clase:

  1. Evacueazã noi numim o resursă care poate lua în condiții de siguranță departe de proces-l deține. Astfel de resurse pot include, de exemplu, memorie. În timp ce procesul este suspendat, poate fi în condiții de siguranță descărca conținutul memoriei pe disc, oferind astfel cantitatea eliberată de memorie într-un alt proces. Când vine momentul pentru a restabili procesul, a cărui memorie a fost descărcată, datele descărcate de pe disc sunt citite și stocate în memorie, iar apoi procesul începe din nou.
  2. Nepaginate noi numim o resursă care nu poate lua departe de proces, fără a pierde rezultatele acestui proces. De exemplu, în cazul în care durata de înregistrare a procesului de a lua departe de aparatul de înregistrare și de a transmite-l să utilizeze un alt proces, datele primul proces vor fi pierdute pentru totdeauna.

În corectitudine, observăm că impasul poate apărea numai pe a doua resurse grad ca în cazul în care impasul care implică resursele din prima clasă, situația poate fi rezolvată prin resurse descărcate vigoare în același timp având grijă de recuperarea lui ulterioară.

Interlock - studopediya
Impas - un impas, caracterizat prin aceea că procesele grupului de așteptare pentru un eveniment care poate provoca doar un alt proces de același grup.

Deoarece toate procesele sunt în stare de repaus, nici unul dintre ei nu va provoca orice evenimente care ar putea activa orice alt proces în grup, și toate procesele să continue să aștepte la nesfârșit. În acest mo-Delhi, presupunem că procesele au doar un singur fir, și că nu există nici o întrerupere-TION care poate activa procesul blocat. Aclimatizează nici o întrerupere este necesară pentru a preveni o situație în care este activată una sau alta a procesului-a blocat, de exemplu, pe alarmă și apoi la-conduce la un eveniment care va elibera celelalte procese din grup.

În cele mai multe cazuri, evenimentul, care este în așteptare pentru fiecare proces este eliberarea unei resurse, în prezent ocupat de un alt membru al grupului. Cu alte cuvinte, fiecare participant în grupul de procese, stagnat de așteptare pentru accesul la resursă deținută de procesul este blocat. Nici unul dintre procesele care nu pot lucra, nici unul dintre ei nu poate elibera nici o resursă și oricare dintre ele nu poate fi reluată. Numărul de procese și cantitative-TION și tipul resurselor disponibile și necesare, nu este important. Rezultatul decongelate-pivot aceeași pentru toate tipurile de resurse, hardware și software.

Cerințe preliminare impas - condițiile de Coffman (Coffman):

  1. Starea de excludere reciprocă. Fiecare resursă este în prezent sau a fost aruncat la exact un proces, sau este disponibil.
  2. Starea de retenție și așteptări. Procesele în prezent reține-ing resurse obținute anterior pot solicita noi resurse.
  3. Condiția de absență forțată a resurselor de descărcare. În procesul pe care nu se poate lua în mod forțat resursele primite anterior. Procesul, VLA-deyuschy ei trebuie să se elibereze resurse.
  4. Aclimatizează așteptările ciclice. Ar trebui să existe o secvență circulară a două sau mai multe procese, fiecare dintre care este în așteptare pentru accesul la resursele deținute de următorul membru al secvenței.

Aceste condiții sunt necesare. Asta este, dacă nu este îndeplinită cel puțin una dintre ele, atunci impas nu va avea loc. Suficiență nu are loc să fie: în cazul în care toate cele patru condiții, impas nu se poate întâmpla, de exemplu, în cazul în care sistemul nu procesează, care solicită utilizarea simultană a acelorași resurse.

Trebuie remarcat faptul că fiecare condiție se referă la normele stabilite în acest sistem de operare special. Din păcate, este practic imposibil de a proiecta sistemul de operare pentru a elimina complet cel puțin una dintre condițiile de Coffman în avans. Cu toate acestea, există opțiuni pentru depășirea blocajului, bazată pe excluderea obligatorie a oricare dintre aceste condiții.

Pentru a monitoriza aparitia impasurilor confortabil pe topurile Holt (Holt). Diagrama Holt este un grafic direcționat [10] având două tipuri de noduri: procesele (indicate prin cercuri) și a resurselor (afișate pătrate). Faptul că se obține resursa, iar procesul este în prezent implicat în acest proces este indicat printr-o margine (săgeata) resursei în proces. O margine direcționată dintr-un proces la o resursă înseamnă că procesul este blocat în prezent, și așteaptă să acceseze resursele corespunzătoare.

Criteriul impas. Un impas apare, dacă și numai dacă diagrama Holt arată starea proceselor și resurselor cuprinde o buclă [11].

Sistemele de operare următoarele prelucrări mecanice strategii impasuri (posibile sau au avut loc) sunt puse în aplicare:

1. Nerespectarea. Nu ar trebui să facă nimic pentru a preveni un blocaj sau distrugerea acestuia, în cazul în care apare.

2. Detectarea și recuperare. În cazul în care se produce un blocaj, detecta și să ia orice acțiune.

3. Evitarea dinamică. Alocarea resurselor de sistem, astfel încât să se evite interblocările. Ori de câte ori o decizie privind distribuirea este luată pe baza stării actuale a sistemului.

4. Prevenirea. Aceasta implică respingerea structurală a unuia dintre cele patru reguli Coffman.