Грешка мртве блокаде је ситуација у којој процес или програм не може да се покрене јер ресурс који му је потребан користи други процес или програм.
Другим речима, процеси или програми који већ користе одговарајуће ресурсе спречавају друге процесе да им приступе. Једино решење за решавање овог проблема је ослобађање ресурса.
Грешке застоја су специфичне за оперативне системе где више процеса захтевају приступ истим ресурсима. Два или више процеса понекад могу доћи у сукоб због истог ресурса.
Када процес не може да приступи ресурсима који су му потребни за правилно покретање, он аутоматски улази у стање чекања. Ако ресурси остану блокирани, процеси се неће покренути. Међутим, трајање стања чекања је често ограничено. Ако системски ресурси остану недоступни, чекање се завршава, а процес који није успео да покрене шаље поруку о грешци.
Једноставна аналогија
Замислите да два аутомобила долазе један према другом на путу са једном траком. Аутомобили се не могу кретати када су један испред другог. Нешто слично се дешава када процес чека на ресурс који је набавио други програм.
Грешке застоја у оперативном систему Виндовс 10
Ево неколико брзих примера грешака у застоју у оперативном систему Виндовс 10:
- Други програм користи ову датотеку.
- Документ користи друга апликација и не може му се приступити.
- Датотеку користи други програм/процес/корисник.
Неки од вас су можда већ упознати са овим грешкама. Такође смо покрили неке од њих овде на Тецхнипагес:
- Поправи овај уређај чека да се други уређај покрене
- Виндовс 10: Други програм тренутно користи ову датотеку
Као што видите, сви ови примери грешака указују на то да други програм користи датотеку (ресурс, ако желите). Као резултат тога, ако други програм затражи приступ тој датотеци, дозвола је одбијена.
⇒ Да ли сте то знали?
Виндовс 10 користи Дривер Верифиер за откривање застоја. Мицрософт такође нуди услужни програм под називом Апплицатион Верифиер који је укључен у комплет за развој Виндовс софтвера. Алат анализира програме док су покренути да би открио потенцијалне недостатке у дизајну или извршењу који би могли изазвати застоје.
Како спречити грешке у застоју
Два од најједноставнијих начина да се избегну грешке застоја састоје се у:
- Додавање више инстанци истог типа ресурса.
- Омогућавање процесима да деле ресурсе са другим процесима.
Међутим, ова решења нису увек изводљива на одређеним конфигурацијама рачунара.