Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОС2.doc
Скачиваний:
54
Добавлен:
02.05.2014
Размер:
476.16 Кб
Скачать

21. События (сигналы).

Оповещение о наступлении к-л события. Система прерываний предст. собой пример реализации сигналов. С сигналами связана логическая переменная (0 или 1) и означающая наступление к-л события.

22. Почтовые ящики

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

23. Очереди задач

Все виды взаимодействия ограничиваются очередью задач. Рассмотрим как группируются задачи в очереди. Очереди задач можно разделить на следующие группы:

  1. Очередь выполняемых задач состоит из задач, находящихся в состоянии исполнения.

  2. Очередь готовых задач состоит задач, находящихся в состоянии готовности.

  3. Очередь задач, ожидающих семафора.

  4. Очередь задач, ожидающих события.

Данные виды очередей является базовыми, на основе которых строятся очереди более сложных видов. Например, очереди для почтовых ящиков формируются на основе 3 и 4 пунктов. Очереди организуются и ведутся операционной системой, т.е. для работы с очередями есть специальные функции.

24.Собъекты синхронизации стандарта Posix, Mutex, Condvar

Стандарт Posix вводит следующие объекты синхронизации, которые должны присутствовать в ОСРВ:

1.Семафоры(двоичные).

2.Очередь сообщений совпадают по принципу построения с почтовыми ящиками.

3.Разделяемая память.

Если ОСРВ поддерживают разделение процессов на задачи, то согласно стандарту в системе должны присутствовать следующие объекты синхронизации:

1.Объекты синхронизации Mutex(Mutual Exclusion)- данные объекты обеспечивают взаимное исключение работающих задач.

2.Объекты Condvar(Conditional Varuable условные перемещения)

Обеспечивают взаимное исключение задач при принятии условной переменной(Condvar) определенного значения.

Mutex представляют собой развитие двоичных семафоров с т. зрения обеспечения безопасности работы программы.

Семафор не содержит инфы от задачи, которая заблокировала его(работала с ним последней)

Простая организация

Взаимно исключ.---- семафор

/ /

1 0

Простая организация –отсутствие инфа о задаче, которая произвела блокировку последней.

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

M u t e x

/ /

Двоичный семафор + идентефикатор задачи последней захватившей ресурс

Condvar дает возможность задаче ожидать наступления некоторых условий.

Обеспечивает взаимное исключение при наступлении каких-либо условий.

Реализация объектов типа Condvar организована на основе объектов типа Mutex и сигналах, оповещающих о выполнении условий.

25.Управление задачами. Планирование задач.

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

Специфический механизм планирования задач делает ОС системой реального времени.

Планирование задач.

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

Планирование задач позволяет оптимально загружать аппаратные ресурсы.

Алгоритмы планирования специфичны для разных операционных систем.

Эффективное планирование позволяет уменьшить время реакции ОС на внешние события.

Пример планирования задач.

В ОСРВ одним из наиболее важных требований при планировании является предсказуемость времени работы задачи.

Как правило, очереди задач, ожидающие исполнения не ограничены.

Max размер очереди определяется только доступными аппаратными ресурсами(память, количество одновременно выполняющихся задач).

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

Алгоритм планирования реализуется специфической программой, входящей в ОС, которая наз. «Планировщик задач».

Scheduler – расписание.

Планировщик задач-программа, которая управляет разделением процессорного времени м/у выполняющимися задачами.

Кроме того, планировщик фактически управляет переходом задач из 1 состояния в другое. Для многопроцессорных систем планировщик распределяет задачи по процессам.

Соседние файлы в предмете Операционные системы