Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материал / ZIBBEN-I.doc
Скачиваний:
59
Добавлен:
30.04.2013
Размер:
1.04 Mб
Скачать

9. Дисциплины распределения ресурсов. Примеры функционирования систем планирования и диспетчеризации.

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

Дисциплина формир-ия очереди зависит от инф-ции о классах и приоритетах задач.

Дисциплина обслуживания делится на системы со статическими приоритетами (приоритеты назнач. до обработки запроса), системы с динамическ. приоритетами (приоритеты меняются в процессе вып-ния запроса).

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

Дисциплина обслуживания с относительными приоритетами-обслуж-ние более приоритетной заявки начинается только после окончания обслуж-я менее приоритетной заявки.

Типовые дисциплины обслуживания.

1. одноочередные

а) очередь в порядке поступления FIFO.

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

б) очередь по принципу стека LIFO

Плюс: простота реализации, среднее время ожидания не зависит от типа запроса, дает минимум дисперсии времени ожидания.

в) круговой циклический алгоритм.

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

более выгодных условиях оказ-ся более выгодные запросы.

2. многоочередные

а) бесприоритетные. Новый запрос поступает в конец оч.1.

На обслуживание выбир-ся запрос из очереди с номером i, если все очереди с младшим номером пустые. Не до конца обслуж-ныйзапрос возвращ-ся в очередь с номером i+1. Минус: затраты

времени при перемещении запросов из одной очереди в другую. Плюс: более быстрое обслуживание коротких запросов.

б) приоритетные. Новый запрос помещается в очередь i, соотв-щую приоритету запроса. Приоритет задается числом-номером. ур.пр.=0 более приоритетный, чем ур.пр.=1. Такие схемы исп-ся чаще всего.

Пр. Диспетчеризация в системе VAX/VMS. Имеется 32 уровня приоритета, для каждого из к-рых нужно построить очереди.

При создании процесса опред-ся его начальный приоритет, помещ-ся в очередь соотв-щего уровня, планировщик предоставляет Тк процессу из очереди с наивысшим приоритетом. Чтобы высокоприоритетный процесс не захватил процессор полностью, в системе вып-ся динамическое изменение приоритетов. Уменьшение приоритета м. происх-ть по истечению Тк ; завершение терминального вв/вывода, завершение обмена с внеш. устр-вом, освобождение ресурса приводит к увеличению приоритета. Динамич. приоритеты изменяются внутри своего класса и не м.быть ниже начального приоритета. Диспетчер-извлекает процессы, а планировщик-строит процессы.

10. Взаимодействие процессов. Синхронизация процессов на уровне примитивов семафора и сигнала. Тупики.

Задача взаимодействия процессов:

1. процессы взаимод-ют по передаче упр-ния.

2. процессы взаимод-ют по данным.

В обоих случаях нужно синхронизировать работу. Напр, взаимод-вие по схеме поставщик-потребитель.

а) Для исключения одновременного обращения к общему ресурсу исп- ся механизм семафоров. Семафор-двоичная переменная. S=0, если ресурс недоступен и S=1, если ресурс доступен. Если S=0- приостановленный процесс, помещается в очередь с данным семафором.

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

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

Схема обращения к буферу с исп-нием семафора и сигнала:

I. Проверка семафора делается 2-мя процедурами:

1. оградить (s). Суть этой процедуры-проверка состояния переменной семафора.

if (s==1) then s=0;

else приостановить процесс в очередь (s).

2. освободить (s). Проверяется очередь, связанная с семафором.

if (очередь (s) пуста) then s=1

else возобновить 1-ый процесс.

II. 1. Послать (е)-устанавливает сигнал.

if (очередь (е) пуста) then e=1

else возобновить 1-ый процесс.

2. Ждать (е)

if (e=1) then e=0

else приостановить процесс, поместив его в очередь (е).

В терминах примитивов семафор и сигнал задача поставщик-потребитель может решаться след. образом:

Поставщик:

Объявления: данные: х;

семафор: s;

Сигнал: {неполон, непуст}

do выработать (х)

оградить (s)

if (полон) then освободить (s);

ждать (неполон);

оградить (s);

занести (х);

освободить (s);

послать (не пуст);

enddo

end

Потребитель:

Объявления: данные: х;

семафор: s;

Сигнал: {неполон, непуст}

do оградить (s)

if (пуст) then освободить (s);

ждать (непуст);

оградить (s);

endif

выбрать (х);

освободить (s);

послать (не полон);

enddo

end

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

Тупик (deadlocks или clinch)-взаимная блокировка процессов.

Пр. Пусть 2-ум процессам в многозадачном режиме нужно исп-ть 2 ресурса: принтер и диск.

Процесс А: А1-занять принтер; А2-занять диск; А3-освободить принтер; А4-освободить диск.

Процесс В: В1- занять диск; В2- занять принтер; В3- освободить диск; В4- освободить принтер.

Могут быть 3 ситуации:

а) последовательное вып-ние проессов, никакой блокировки нет.

б) Протекают 2 процесса А, затем идет прер-е и вып-ся проц-с В1, но дальше он не может выполняться, т.к. ресурс занят и происх. блокировка и заускается процесс А3, А4. Потом ресурс освободился и продолжается проц. В

в) произошла взаимная блокировка (тупик)

Проблема тупиков включает задачи:

- предотвращение тупиков

- распознавание тупиков

- восстановление системы после тупиков.

ОС при распознавании тупика можно 1) снять часть процессов 2) может быть совершен откат процесса до контрольной точки 3)нек-рые процессы можно вернуть в обл-ть лоадинга.

Для упр-я ресурсами желательно исп-ть высокоуровневые ср-ва синхронизации, называемые мониторами. Монитор включает набор процедур и стр-ру данных. Внеш. процесс м. вызывать процедуры монитора, но не иметь доступа к данным. Только 1 процесс м. быть активен по отношению к монитору в данный момент.

Соседние файлы в папке Материал