Викигимназијалац:Оперативни системи/Увод у заглављивање

Скуп процеса је у застоју, ако сваки процес држи ресурс, а тражи накоришћење нови ресурс кога држи неки други процес из скупа. У тој ситацији нико не ослобађа своје ресурсе, а тражи нове - скуп тих процеса постаје заглављен. Процеси који су у застоју, никада не завршавају своје активности и никада не ослобађају ресурсе.

Начини коришћења процеса

уреди

У нормалном режиму рада, процес може да користи ресурс само на један од следећа три начина:

  1. Захтев (request). У овој фази, процес захтева ресурс. Ако захтев за доделом ресурса не може да се испуни тренутно, процес мора да чека док се ресурс не ослободи.
  2. Коришћење (use). У овој фази, процес је добио ресурс и може га слободно користити.
  3. Ослобађање (release). Након коришћења ресурса, процес мора да ослободи ресурс.

Услови под којима наступа застој

уреди
  1. Међусобно искључење. Само један процес у једном тренутку може користити ресурс или једну његову инстанцу. Други процес који захтева тај исти ресурс, односно инстанцу, мора да чека док се ресурс не ослободи.
  2. Нема претпражњења. Ресурс се не може насилно одузети и предати другом процесу, све док процес који га користи не заврши посао и не ослободи ресурс.
  3. Услов задржавања ресурса и чекања на други (hold and wait). Процес мора да држи један ресурс у коришћењу, а да истовремено чека на добијање ресурса кога користи неки други процес.
  4. Кружночекање (Circular wait). Мора постојати скуп процеса који чекају на ресурсе у следећем кружном поретку: П0 чека на ресурс кога држи процес P1, P1 чека на ресурс кога држи процес P2...

Превенција застоја

уреди

Можемо спречити застој елиминисањем било ког одгорња четири услова.

Граф додељених ресурса

уреди

Ситуације застоја се могу приказати прецизније помоћу графова додељених ресурса (resource allocation graph). Граф се састоји из скупа објеката и скупа стрелица Е. Скуп објеката се састоји из два скупа:

  1. скуп свих активних процеса у систему, P={P1, P2.....Pn}
  2. скуп свих расположивих ресурса R={R1, R2.....Rm}.

Поделастрелица

уреди
  1. стрелица захтева

процес Pi захтева једну инстанцу ресурса Rj и чека на њу стрелица се додаје у графу век када процес тражи ресурс.

  1. стрелица алокације, тј. Доделе

ресурс Rj је додељен процесу Pi стрелица седодаје у графу век када се ресурс додели процесу.