Программные каналы (транспортёр). 


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



ЗНАЕТЕ ЛИ ВЫ?

Программные каналы (транспортёр).



Программные каналы- средство, реализ-е во многих ОС (UNIX, Windows).

Как информационная структура и средство синхронизации канал описывается именем, размером и 2-мя указателями: указатели на первый и последний элементы канала. В результате операций записи и чтения указатели будут перемещаться. Массив представляет собой кольцо: указатель после последнего элемента становится в начало. Канал представляет собой системный ресурс. Для того, чтобы использовать канал, процесс должен запросить его у системы. Сущ-ют ф-ии создания канала, записи в канал и чтения из канала. Эти ф-ии имеют соответ-ий набор параметров.

Реализация взаимоисключений в ОС Windows NT

Вопрос 10. Дедлок(тупиковая ситуация). Условия возникновения.Стратегии предотвращения и обхода дедлоков.

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

Условия возникновения дедлока:

5. Условие взаимного исключения, при котором процесс монопольно владеет ресурсом.

6. Условие ожидания. Процесс, запросивший ресурс, будет ждать, пока запрос не будет удовлетворен, удерживая при этом те ресурсы, которые ему уже выделены.

7. Отсутствие перераспределения. Никакие ресурсы у процесса отнимать нельзя, если они ему уже выделены.

8. Условие кругового ожидания. Существует замкнутая цепь процессов, каждый из которых ждет ресурс, удерживаемый процессом-предшественником.

Решение проблемы дедлока.

2. Стратегия предотвращения тупиков.

Применяется, когда потери от тупиков очень высоки. Позволяет исключить саму возможность взаимоблокировки. Методы предотвращения блокировок можно разбить на 2 класса:

3) косвенный метод – предотвращение возникновения одного из первых 3-ёх условий возникновения дедлока;

4) прямой метод – предотвращение 4-го условия- циклического ожидания.

− Условия взаимного исключения можно подавить неограниченным выделением ресурсов – это слишком дорого.

− Условия ожидания можно подавить, предварительно распределяя ресурсы. В этом случае ресурсы выделяются процессу только все сразу. В этом случае процессу нужно заранее сформулировать запрос на все необх-е ресурсы, это возможно только при статическом выполнении запроса.

− Отсутствие перераспределения подавляется отниманием операционной системой ресурсов.

− Условие кругового ожидания можно подавить, предотвращая образование цепи: метод иерархического выделения ресурсов. Все ресурсы образуют иерархию; процесс, запросив ресурс на определенном уровне иерархии, после этого может запросить ресурс только с более высокого уровня. Процесс может освободить ресурс на данном уровне только после освобождения всех ресурсов на более высоких уровнях. Кругового ожидания не будет.

Стратегия обхода дедлоков.

Можно доказать, что если совокупность процессов находится в неопасном состоянии (отсутствуют дедлоки), то существует, по крайней мере, одна последовательность неопасных состояний процесса. Предполагает, что всегда анализируется, не приводит ли выделение ресурса к тупику. Решение данной задачи – алгоритм банкира. Алгоритм позволяет обходить опасные состояния.

Банкир клиентам выдает сумму денег. Каково должно быть поведение банкира, чтобы он не попал в тупиковую ситуацию: клиент пришёл за деньгами, а их у банкира нет? Поэтому: когда поступает запрос на сумму от клиента, банкир оценивает, может ли он после выдачи кредита удовлетворить хотя бы следующему минимальному запросу. Ограничение: мы должны заранее знать верхние границы мах запросов (границы запроса на ресурс).

Стратегия распознавания дедлока.

Мы должны постоянно проверять, не образуется ли замыкание цепи запросов. Этот алгоритм может выполняться при каждом запросе ресурсов или через некоторый заданный промежуток времени (дорогостоящие вычисления ОС).

Методы восстановления системы после возникновения дедлока.

4) Reset- принудительное завершение всех процессов, работы ОС и запуск ее заново;

5) Завершение процессов по одному, лучше всего завершать процесс, который находится в дедлоке;

6) Подождать, пока система сама предотвратит дедлок.

 

 

Вопрос 11. Управление ресурсами. Дескрипторы воспроизводимых и потребляемых ресурсов. Операции над семафорами ресурсов. Распределение ресурсов ОС. Задачи распределения.

Управление ресурсами в ОС.

Ресурсы делятся на:

1. воспроизводимый (повторно используемый, системный)

2. потребляемый (после потребления изымается из сферы обращения)

Для описания ресурсов в системе используются соответ-е дескрипторы ресурсов.

Каждый воспроизводимый ресурс требует для описания 3-и компоненты:

1. Опись(включает число и идентификацию доступных ресурсов)

2. Список ожидания (либо ссылка на него)(список процессов, ждущих определённое сообщение; с неудов-ми запросами на данный ресурс)

3. Указатель на распределитель ресурсов

Для потребляемых ресурсов дескриптор должен содержать:

1. Опись(содержит список сообщений, которые были выданы, но не были получены)

2. Список ожидания (либо ссылка на него)(в нём- блокированные процессы с неудов-ми запросами на данный ресурс)

3. Указатель на распределитель ресурсов

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

Логический ресурс – это то, что может вызвать переход процесса в логически-блокируемое состояние (семафоры ресурсов – аналогичное понятие). Для описания ресурсов создают дескрипторы ресурсов (для каждого).

Основные элементы дескриптора(ещё раз на всякий случай)

1. Информация об идентификаторе.

2. Тип (воспроизводимый или потребляемый).

3. Имя процесса, создавшего ресурс.

− Опись доступности. Содержит ссылки на списки доступных элементов ресурсов или список единиц потребляемого ресурса.

− Список ожидающих процессов. В нем находятся все процессы, заблокированные на данном семафоре (имя и область памяти для данного ресурса).

− Указатель на распределитель ресурса (имя процесса, который отвечает за использование данного ресурса).



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 210; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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