Викигимназијалац:Оперативни системи/Увод у заглављивање
Скуп процеса је у застоју, ако сваки процес држи ресурс, а тражи накоришћење нови ресурс кога држи неки други процес из скупа. У тој ситацији нико не ослобађа своје ресурсе, а тражи нове - скуп тих процеса постаје заглављен. Процеси који су у застоју, никада не завршавају своје активности и никада не ослобађају ресурсе.
Начини коришћења процеса
[уреди]У нормалном режиму рада, процес може да користи ресурс само на један од следећа три начина:
- Захтев (request). У овој фази, процес захтева ресурс. Ако захтев за доделом ресурса не може да се испуни тренутно, процес мора да чека док се ресурс не ослободи.
- Коришћење (use). У овој фази, процес је добио ресурс и може га слободно користити.
- Ослобађање (release). Након коришћења ресурса, процес мора да ослободи ресурс.
Услови под којима наступа застој
[уреди]- Међусобно искључење. Само један процес у једном тренутку може користити ресурс или једну његову инстанцу. Други процес који захтева тај исти ресурс, односно инстанцу, мора да чека док се ресурс не ослободи.
- Нема претпражњења. Ресурс се не може насилно одузети и предати другом процесу, све док процес који га користи не заврши посао и не ослободи ресурс.
- Услов задржавања ресурса и чекања на други (hold and wait). Процес мора да држи један ресурс у коришћењу, а да истовремено чека на добијање ресурса кога користи неки други процес.
- Кружночекање (Circular wait). Мора постојати скуп процеса који чекају на ресурсе у следећем кружном поретку: П0 чека на ресурс кога држи процес P1, P1 чека на ресурс кога држи процес P2...
Превенција застоја
[уреди]Можемо спречити застој елиминисањем било ког одгорња четири услова.
Граф додељених ресурса
[уреди]Ситуације застоја се могу приказати прецизније помоћу графова додељених ресурса (resource allocation graph). Граф се састоји из скупа објеката и скупа стрелица Е. Скуп објеката се састоји из два скупа:
- скуп свих активних процеса у систему, P={P1, P2.....Pn}
- скуп свих расположивих ресурса R={R1, R2.....Rm}.
Поделастрелица
[уреди]- стрелица захтева
процес Pi захтева једну инстанцу ресурса Rj и чека на њу стрелица се додаје у графу век када процес тражи ресурс.
- стрелица алокације, тј. Доделе
ресурс Rj је додељен процесу Pi стрелица седодаје у графу век када се ресурс додели процесу.