Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление процессами. Тупики. Алгоритм банкира.

Поиск

· Заранее объявлять все необходимые заданию ресурсы.

· Перед назначением ресурса осуществлять проверку на возможность возникновения клинчей. Если эта возможность исключена, то ресурс можно назначить.

Каждому процессу поставлено в соответствие целое число i(1<=i<=N).

Процессу i соответствует его максимальная потребность в устройствах МАКС[i], количество устройств, выделенных ему в данный момент (ВЫДЕЛУСТР[i]), полагающийся ему остаток (ОСТАТОК[i]) и признак (МОЖЕТ_НЕ_ОКОНЧИТЬСЯ[i]).

Система заводит глобальную переменную ОБЩ, обозначающую общее число имеющихся в системе устройств.

В начале работы неизвестно, может ли какой-либо процесс окончиться (МОЖЕТ_НЕ_ОКОНЧИТЬСЯ[i]=true для всех i).

Каждый раз, когда какой-то ОСТАТОК может быть выделен из числа остающихся незанятыми устройств, предполагается, что соответствующий процесс работает, пока не окончится, а затем его устройства освобождаются.

Если в конце концов все устройства освободятся, значит, все процессы могут окончиться и система находится в безопасном состоянии. Если состояние системы не безопасное, то она не удовлетворяет рассматриваемый запрос.

Begin

СВОБУСТР:=ОБЩУСТР;

For i:= 1 to N do Begin

    СВОБУСТР:= СВОБУСТР – ВЫДЕЛУСТР[i];

    МОЖЕТ_НЕ_ОКОНЧИТЬСЯ[i]:=true;

       ОСТАТОК[i]:= МАКС[i]-ВЫДЕЛУСТР[i];

 End;

ПРИЗНАК:=true;

WHILE (ПРИЗНАК) DO

ПРИЗНАК:=false;

For i:=1 to N do

Begin

      If МОЖЕТ_НЕ_ОКОНЧИТЬСЯ[i] and (ОСТАТОК[i] <= СВОБУСТР)

        Then begin

              МОЖЕТ_НЕ_ОКОНЧИТЬСЯ[i]:=false;

              СВОБУСТР:= СВОБУСТР+ ВЫДЕЛУСТР[i];

              ПРИЗНАК:=true

         End;

End;

End;

End;

If СВОБУСТР= ОБЩУСТР then состояние системы БЕЗОПАСНОЕ

                                       Else состояние системы НЕБЕЗОПАСНОЕ

Управление процессами. Тупики. Алгоритм Медника. Выход из тупика.

Метод обнаружения позволяет обнаружить ситуацию тупика, когда она уже произошла.

Не препятствуя возникновению тупика, метод предполагает его обнаружение и восстановление прерванной им нормальной работы.

Для функционирования алгоритма необходимо использование таблиц, в которых собиралась бы информация:

· о назначении ресурсов процессам (РАСПРЕД)

· о процессах, блокированных при попытке обращения к ресурсу (БЛК).

НАЧАЛО «МЕДНИК»  

(*Процесс Рj запрашивает занятый ресурс Уi*)

 

К = РАСПРЕД (i) (*К – номер процесса владеющего ресурсом Уi*)

ЦИКЛ-ПОКА БЛК (К) и JK

    J = К

    N = БЛК (К)          (*N – номер ресурса, которого ожидает*)

    К = РАСПРЕД (N)  (* рассматриваемый процесс*)

ВСЕ-ЦИКЛ

 

ЕСЛИ   J = К ТУПИК

ИНАЧЕ БЛК (J) = i (*Перевести процесс Рi в состояние ожидания*)

ВСЕ-ЕСЛИ

КОНЕЦ «МЕДНИК»

Выход из тупика

· основан на прекращении процессов. Процессы в тупике последовательно прекращаются (уничтожаются) в некотором систематическом порядке до тех пор, пока не станет доступным достаточное количество ресурсов для устранения тупика; в худшем случае уничтожаются все процессы, первоначально находившиеся в тупике, кроме одного.

· основан на перехвате ресурсов. У процессов отнимается достаточное количество ресурсов и отдается процессам, находящимся в тупике, чтобы ликвидировать тупик; процессы в первом множестве остаются с выданными запросами на перехваченные у них ресурсы.

Управление памятью. Типы адресов. Типы распределения памяти.

Функциями ОС по управлению памятью являются:

· отслеживание свободной и занятой памяти,

· выделение памяти процессам и освобождение памяти при завершении процессов,

· вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов,

· возвращение их в оперативную память, когда в ней освобождается место,

· настройка адресов программы на конкретную область физической памяти.

Типы адресов

Для идентификации переменных и команд используются:

· символьные имена (метки)(идентификаторы переменных в программе на алгоритмическом языке)

· виртуальные адреса (условные адреса, вырабатываемые транслятором)

· физические адреса (номера ячеек физической памяти)

Методы распределения памяти

1. Без использования внешней памяти

· Фиксированными разделами

· Динамическими разделами

· Перемещаемыми разделами

2. С использованием внешней памяти

· Страничное распределение

· Сегментное распределение

· Странично-сегментное распределение



Поделиться:


Последнее изменение этой страницы: 2022-09-03; просмотров: 108; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.24.176 (0.005 с.)