- •Тема 1 Операционные системы
- •Тема 2 Аппаратура и программное обеспечение
- •Тема 3 Управление процессами
- •Тема 4 Прерывание.
- •Тема 5. Ядро ос.
- •Основные функции ядра:
- •Ядро в привилегированном режиме.
- •Многослойная структура ос.
- •Асинхронные параллельные процессы
- •Жесткий диск
- •Мониторы
- •Концепция ресурсов
- •4 Необходимых условий возникновения тупика:
- •Алгоритм банкира
Мониторы
Это механизм организации параллелизма, который содержит как данные, так и процедуры необходимые для реализации динамического распределения конкретного общего ресурса или группы общих ресурсов. Чтоб обеспечить выделение нужного ресурса процесс должен обратится к конкретной процедуре монитора. Необходимость входа в монитор в различные моменты времени может возникать у многих процессов. Однако в ход в монитор находится под жестким контролем, потому что здесь осуществляются взаимоисключения и в каждый монет времени только одному процессу разрешается войти в монитор. Процессы которые хотят войти в монитор когда он уже занят приходятся ждать причем режимом ожидания автоматически управляет сам монитор.
Внутренние данные монитора могут быть либо глобальными (относящиеся ко всем процедурам монитора) , либо локальными(относящимися только к конкретной процедуре). Ко всем этим данным можно обращается изнутри монитора. Процессы, находящиеся вне монитора не могу получить доступ к этим данным. Если процесс обращается к некоторой процедуре монитора и обнаруживается что соответ. ресурс уже занят, то это процедура монитора выдает ожидание wait. Со временем процесс который занимал данный ресурс обратится к монитору, чтобы возвратить ресурс системе, однако , может оказаться что уже имеются процессы ожидающие освобождение данного ресурса в этом случае монитор выполняет примитив оповещения SIGNAL , чтобы один из ожидающих процессов мог занят данный ресурс и покинуть монитор.
У процессов может возникнуть необходимость находится в режиме ожидания вне монитора по многим различных причинам. Поэтому было ведено понятие переменные-условия. Для каждой причины назначается свое условие. Переменные-условия совершено не похожи на обычные переменные. Когда определяется такая переменная происходит 3 действия:
Заводится очередь
Процесс выдавший команду ожидание вкл. в эту очередь
Процесс выдавший команду сигнализации тем самым позволяет ожидающему процессу выти из очереди и войти в монитор
Пример Monitor читатели и писатели
Необязательно процессу читатели и писатели предоставлять доступ ко всей базе данных. В каждый конкретный момент может работать только один конкретный писатель. Одну и ту же запись могут просматривать несколько читателей
Тупики
Говорят, что в мультипроцессорной системе процесс находится в состоянии тупика если он ожидает некоторого события, которые ни когда не произойдёт. Системная тупиковая ситуация или «зависание системы» это ситуация когда один или более процессов оказываются в состоянии тупика.
Тупики отличаются от зависания (подумать)???
Примеры тупиков:
Пробки в Москве.
Обедающие философы (забрали вилку)
Рисунок на листке
Данная система оказалась в тупиковой ситуации поскольку каждый процесс удерживает ресурс запрашиваемый другим процессом при чем не один из процессов не хочет освободить принадлежащий ему ресурс.
Концепция ресурсов
Бывают два вида ресурсов: оперативно перераспределяемые и оперативно не перераспределяемые.
Примеры оперативно перераспределяемые: такие как центральный процессор(самый динамичный) и основная память.
Оперативно не перераспределяемые их нельзя произвольно убирать от процессов за которыми они закреплены.
Пример : принтер, сканер.