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

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

Очевидно е, че този процес е блокиран (той току-що е получил ресурс и това не е блокиран) след време освобождава всички свои ресурси и след това завърши успешно. Освобождението на предварително заети ресурси може да се "събуди" някои блокирали процеси, които, от своя страна, разработване, ще бъде в състояние да освободи всички, заделените ресурси. Това може да продължи толкова дълго, колкото или не остават отключени процеси или на определен брой процеси все още остават блокирани. В последния случай (когато има процеси блокирани при завършване на споменатата последователност от действия) първоначалното състояние, състояща Syavlyaetsya-niem застой, а останалите процеси са безизходица състояние S. В обратния случай про-S не е състояние застой.

откриване Deadlock означава намаляване на графика за многократна употреба ресурси

Най-благоприятни условия за отключен Pi процес могат да бъдат predstavlenyreduktsiey (намаляване) на графиката на многократно ресурси (вж. В първата част на тази глава, описанието на модел на Холт). Граф MO-Jet Намаляване да се опише по следния начин:

 графиката многократно ресурси свиване процес Fp което не е нито заключени нито изолирани отгоре, чрез премахване на всички ръбове влизат върха Pi и Pi излизане. Този щам-ра е еквивалентно на Pi на процеса на придобиване на някои ресурси, които му беше по-рано, поставени въпроси, а след освобождаването на всички свои ресурси. TogdaPi става изолирани върхове.

 многократно ресурси несводима графиката (не намалява), ако това не могат да бъдат намалени чрез всеки процес.

 вид ресурс граф RSyavlyaetsya напълно се изключва, ако е налице поредица от съкращения, която премахва всички дъги на графиката.

Представяме лема, която ни позволява да предложим на алгоритми за откриване на безизходица.

Лема. За ресурси процент tipaSRporyadok е без значение; Скорост на потока последователност всички водят до същата несводима графиката.

Доказателство. Да приемем, че лемата е невярно. Тогава трябва да има не-състояние е S, който се редуцира до известна несводима съвместно заставане S1 чрез seq1 последователности и до несводима sostoyaniyaS2 - използва posledovatelnostiseq2 така chtoS1 S2 (т.е., всички процеси в sostoyaniyahS1 IS2 или блокиран или изолиран).

Ако направим това предположение, тогава стигаме до противоречие, което се елиминира само до степента, че S1 = S2. В действителност, да предположим, че seq1 последователност се състои от подредена списък на процесите (Р1, Р2. Pk). След това последователността трябва да съдържа процес seq1 P, който се съдържа в posledovatelnostiseq2. В противен случай sluchaeS1 = S2. защото намаляването на графиката премахва само дъгата, съществуващ в състояние на S, и ако seq1 iseq2 последователности съдържат същия набор от процеса сови (макар и в различен ред), трябва да бъдат отстранени в същия набор от дъги. И чрез индукция доказателство показва, че RRi (I = 1,2. K) ДИТ-неснижаем до посочения контакт противоречието.

 P P1. тъй като върха S може да бъде намалена protsessomP1. sostoyanieS2 и следователно трябва да съдържа protsessP1.

 Нека P  Pi. (I = 1, 2. й). Въпреки това, тъй като след намаляване protsessamiPi (I = 1, 2. й) могат Повече намаляване графика protsessomPj + 1. Това същото трябва да важи и за posledovatelnostiseq2 независимо от процесите на редовете-следващата. Същият набор от графика ръбове отстранява с помощта protsessaPi. Така RPj + 1

Следователно Pi P за I = 1, 2. к и R може да не съществува, и това анти-rechit ни предположение chtoS1 S2. Следователно, S1 = S2.

Теорема на безизходица. SostoyanieSest безизходица състояние единствено и само ако графиката се използва отново ресурси в щата S не сътрудничи напълно ясно намалена.

а) Да приемем, че състоянието S е състояние на застой и процес Pi е безизходица в С. След vsehSj. така че S

откриване на застой
процес Sj Pi е заключен в Sj (по дефиниция). Тъй като намаляването на графиката е идентичен с поредица от оператора ционните процеси, крайната несводима състояние в серийно STI съкращения трябва да оставя protsessPi блокиран. Ето защо, графиката не е напълно отменена.

б) Да предположим, че S не е напълно отменена. Тогава съществува процес Pi. който остава заключена на всички възможни последователности от операции за намаляване на лема. Тъй като всяка една последователност на операциите за намаляване разчита на многократно ресурси, слагайки край на несводима състояние да гарантира, че всички ресурси tipaSR, че някога може да се предостави, в действителност оси vobozhdeny тогава protsessPi постоянно заключени и следователно е в задънена улица.

Следствие 1. Процесът Пи не е задънена улица, ако и само ако серия от контракции води до състояние, в което Pi. Това не е блокиран.

Следствие 2. Ако S е безизходица състояние (според ресурси тип SR), тогава най-малко два процеса се безизходица S.

От теоремата на безизходица и директно следва откриване на алгоритъм безизходица. Ти просто трябва да се опита да намали броя на възможно най-ефективен начин; ако графиката не е напълно намален, първоначалното състояние е състоянието на застой за тези процеси, по върховете на които са били в nesokraschen г-н Box. На разглежданите лема ни позволява удобен начин за оптимизиране на намаляване на ДДС.

Брой многократна употреба ресурси могат да бъдат представлявани от матрица или списъци. И в двата случая, икономиите на паметта могат да бъдат постигнати с помощта на претеглените ориентирани мултиграф (сливане някои дъги получат или заявки дъги между конкретен ресурс и обработва данни в една дъга с съответния тегло, което определя броя на ресурси единици).

Да разгледаме случая на представяне матрица. От графиката е двустранен, тя е представена от две матрици размер nm. Една матрица разпределение матрица D = || || dij, където dij елемент отразява edinitsRj количество ресурси, разпределени за процеса на estdij Pi = | (RJ, R;) |, където (RJ, Pi) - това е дъга между върховете Rj IPI , водеща от Rj да Pi. Втората матрица е матрица-Lock защото N = || NIJ ||, gdenij = | (P I, Rj) |.

списъци две групи могат да бъдат конструирани в случай на използване свързани списъци за показване на една и съща структура. Ресурси, предоставени на някои процес Pi. CPI свързан указатели:

По същия начин, средствата, поискани от процеса Pi. свързани заедно.

Подобни списъци са създадени и ресурси (списък разпределение и заключване shennyh ресурси).

И за двете понятия също е удобно да има един едномерен масив на наличните единици ресурс (. R1, R2 RM), Gderi показва броя на наличните (неразпределени неправителствени единици resursaRi на estri = |. Ри | - | (Ri, Пк) |.

И всеки изисква проверка тестове м ресурси. По този начин, времето за изпълнение на алгоритъма в най-лошия случай е пропорционална mn 2.

По-ефективен алгоритъм може да бъде получена чрез съхраняване на допълнителна информация относно исканията. За всеки връх на Pi определя от така наречения процес schotchikozhidany Wi. показване на размера на ресурсите (не броя на ресурсните единици), които в даден момент-сгради предизвикват блокове процес. Освен това е възможно да се поддържа за всеки ресурс искания сортирани по размер (брой на ресурсни единици). Тогава следните съкращения алгоритъм, записани на псевдо-код има максимален срок за изпълнение пропорционална mn.

За всички P  L правя

Започнете за всички Rj  | (. Rj P) |> 0 направя

L- тук е текущия списък на процеси, които могат да изпълняват намаляване на графиката. Можем да кажем, chtoL: = аз wi = 0>. Програмата избира от списък на процес P L, Р намалява графиката процес, увеличаване на броя на наличните edinitsrj всички resursovRj. процес P дистрибуция, актуализира тезгяха ozhidaniyawi Всеки от Pi процес, който ще удовлетвори искането за специален ресурс R *. и води до увеличаване на Пи L, ако очакванията на тезгяха става нула.

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

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