ПредишенСледващото

откриване безизходица

Използвайки този метод, системата не се опитва да предотврати мъртвите зони. Вместо това, той позволява да се случи до задънена улица. опитвайки се да се определи кога е станало това, и след това се извършва някакво действие, за да се върнете към B-стволови за възникнала преди системата да дойде в застой.

Deadlock Откриване в присъствието на един ресурс за всеки вид

Безизходица алгоритъм за откриване на системите, в които има само един ресурс от всеки вид. Ние образуват графика когато ресурсите - сайтове. Един цикъл в тази графика ще бъдат блокирани.

Този алгоритъм на свой ред взема всеки възел, както е в основата на това, което той се надява, ще бъде едно дърво, и изпълнява в дърво обхождане в дълбочина на. Ако по време на преминаването през алгоритъм се връща към сайта вече са изпълнени, той открил л на ЦИК. Ако алгоритъмът пресича всички краища на всеки един възел, тя се връща към предишния възел. Ако той се връща към корените и не може да отиде по-нататък, а след това на подграф на текущия възел не съдържа цикли. Ако този имот е запазена за всички възли, това означава, че цялото графиката не съдържа цикли, а системата не е заключена.

Deadlock Откриване на наличието на няколко вида ресурси на всеки

Подобен алгоритъм за откриване на застой, но когато има множество ресурси от всеки тип. Да предположим, че в първоначалното си положение, всички процеси, не са етикетирани. Тъй като ние се движат алгоритъм процеси ще постави знак, който служи като знак, че те могат да завършат работата си и по тази причина не са в безизходица. След приключване на алгоритъма, известно е, че всеки сам процес е в застой.

В първия етап, алгоритъмът търси един процес, който може да промени до края. Този процес се характеризира с факта, че всички необходими ресурси за това следва да бъдат сред наличните ресурси. Тогава избрания процес ще протича напълно и след това се връща средствата, които е заемал в общия фонд на наличните ресурси. След това процесът се маркира като свръх-свършено. Ако се окаже, че всички процеси могат да бъдат експлоатирани, докато нито един от тях не понастоящем е блокиран. Ако някои от тях никога няма да бъде в състояние да по-празна, а след това да те удари в задънена улица. Въпреки факта, че алгоритъмът не е детерминирана (тъй като може да видите процеси в който и да е осъществима цел), резултатът е винаги един и същ.

Out мъртвите зони


Да предположим, че нашият алгоритъм за откриване на задънена улица е била успешна и е установено в задънена улица. Каква е следващата стъпка? Необходими са методи за възстановяване и да се връща в края работеща система.

Възстановяване с помощта на принудително разтоварване ресурс

Понякога може временно да изберете ресурс от сегашния си собственик и да го дам на друг процес. В много случаи това изисква ръчна намеса, особено в операционната обработка на партида системи, работещи на компютърни системи.

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

Възстановяване чрез намаление на цените

Понякога е възможно да се организира работата така, че процесите са периодично създадени контролно-пропускателни пунктове. Създаване на контролно-пропускателен пункт процес означава, че състоянието на процеса се запазва във файл, като процесът може след това да бъде възобновено от този файл. Контролни точки съдържат не само образ на паметта, но също така и за състоянието на ресурсите, което е, информация за това какви ресурси в момента са предоставени на процеса. За ефективност, новата контролна точка не трябва да бъде написана по стария и новия файл, така че цялата последователност на референтни точки се генерира по време на процеса.


Когато се разпознае безизходица, просто достатъчно, за да се разбере какви ресурси са необходими процеси. За да прекъсне застоя, процес, който отнема необходимо ресурс, завъртя обратно към точката от време, преди той да получи ресурса. Защо тече един от нейните контролни точки. Цялата работа, извършена след контролата на копие се губи. В резултат на това процесът започва отново на по-ранен момент, когато той не се държи един ресурс, който сега е предоставена от един от процесите, които са паднали в застой. Ако възобновяването на процеса се опитва да си възвърне ресурс, тя ще трябва да чакам за момента, когато ресурсът отново е на разположение.

Възстановяване от процеса на унищожаване

Грубо, но също така е най-лесният начин за излизане от задънената улица е да убие един или повече процеси. Възможно е да се премахне този процес е в застой цикъл. С малко късмет, други процеси да продължат. Ако първата отстраняването провали, процедурата може да се повтори, докато цикълът най-накрая да бъде свален-ван.

Избягването на мъртвите зони

Като се има предвид откриването на безизходица, ние имплицитно приема, че когато някой процес изисква ресурс, той изисква всички тях наведнъж. Въпреки това, в по-голямата част от ресурсите се изисква една по една система, един по един. Системата трябва да бъде в състояние да реши дали предоставяне на ресурс е безопасен или не. и да осигури неговото процес само в първия случай. Така възниква нов въпрос: има ли алгоритъм, който винаги може да се избегне застой, през цялото време прави правилния избор? Отговорът е условно "да" - ние можем да се избягват мъртвите зони, но само ако определена информация в аванс ще бъде на разположение.

Ключови думи за FKN + antitotal форум (CS ВСУ):

Свързани статии

Подкрепете проекта - споделете линка, благодаря!