Онлайн помощ на ESET

Търсене English
Изберете темата

Взаимна блокировка

Взаимна блокировка възниква, когато всеки компютър изчаква ресурс, който друг процес съхранява. Важно е да предотвратите взаимна блокировка, преди да възникне. Разписанието на ресурси може да открие взаимна блокировка, което помага на операционната система да проследява ресурсите, разпределени към различни процеси. Взаимна блокировка може да възникне, ако следните четири условия са изпълнени едновременно:

Без преразпределение – даден ресурс може да бъде освободен само доброволно от процеса, който го задържа, след като този процес завърши задачата си.

Взаимно изключване – специален вид двоичен семафор, използван за контрол на достъпа до споделения ресурс. Той дава възможност текущите задачи с по-висок приоритет да бъдат държани блокирани за възможно най-кратко време.

Задържане и изчакване – в това състояние трябва да спрете задържането на един или няколко ресурса от процесите, докато едновременно чакат един или повече други.

Циклично изчакване – то налага обща подредба на всички видове ресурси. Цикличното изчакване също изисква всеки процес да заявява ресурси в нарастващ ред на изброяване.

Има три начина да се справите с взаимна блокировка:

Не допускайте системата да попадне в състояние на взаимна блокировка.

Оставете взаимната блокировка да се случи, след което се опитайте да я предотвратите, докато се случва.

Ако възникне взаимна блокировка, рестартирайте системата.