Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания (новвое форматирование).doc
Скачиваний:
24
Добавлен:
08.02.2015
Размер:
262.66 Кб
Скачать

4.3. Лабораторная работа № 3. "Реализация дисциплин диспетчеризации процессов с учетом приоритетов".

Цель работы.

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

Содержание работы.

При выполнении лабораторной работы № 3 необходимо осуществить развитие дисциплины диспетчеризации, реализованной в ходе выпол­нения лабораторных работ NN 1,2. Развитие дисциплины диспетчериза­ции должно осуществляться по направлению учета приоритетов актив­ных процессов при реализации операций диспетчеризации "Запуск" и " Истечение_кванта".

4.3.1. Краткое описание схемы многоочередной диспетчеризации с учетом приоритета.

Основу многоочередной дисциплины, учитывающей в процессе диспетчеризации по отношению к операциям "Запуск" и "Истечение_кванта" заранее известные приоритеты активных процессов, представляет выше описанная многоочередная дисциплина, реализуемая в л.р. № 2.

Очереди дескрипторов пополняются вследствие выполнения двух типов операций диспетчеризации – "Запуск" и "Истечение_кванта" (см. рис.4б и рис.5). Отметим, что в рассмотренной выше схеме многоочередной диспетчеризации (рис. 5) дескрипторы после выполн­ения по отношению к соответствующим им процессам операции "Запуск" всегда помещаются в 1-ю очередь (очередь с самым малень­ким номером). В ходе выполнения л.р. № 3 необходимо предпринять ряд изменений дисциплины диспетчеризации процессов, как при выпол­нении операции "Запуск", так и при выполнении операции "Истечение_кванта".

Первое. Необходимо модифицировать дисциплину диспетчеризации таким образом, чтобы дескрипторы процессов, поступающие в состо­яниеготовностьпосле выполнения по отношению к ним операции"Запуск",не обязательно попадали в 1-ю очередь, а помещались бы в очередь, номер которой определяется в соответствии с приорите­том поступающего процесса. Следовательно, необходимо осуществлять просмотр всех очередей дескрипторов процессов, начиная с начала первой очереди (помеченного символом * на рис.6).

Второе.При выполнении операции диспетчеризации"Истечетение_кванта" выполнявшийсяпроцесс, выбранный из очереди с номеромi, помещается в очередьi+1 в соответствии с комплексной дисциплиной типаHPF=FCFS.

Третье.В том случае, если приоритет вновь поступившего(запущенного)процесса выше, чем приоритетвыполняющегосяв данный момент процесса, то последний должен быть переведен в состояниеготовность,не дожидаясь завершения выделенного кванта процессорного времени,а вновь поступивший процесс - в состояниевыполнение.(Такая дисциплина диспетчеризации носит название диспетчеризация с абсолютным приоритетом). Формально, операция"Запуск"при диспетчеризации с абсолютным приоритетом может быть представлена следующим образом:

Запуск(имя_нового_процесса) :

еслирriorety.новый_процесс > рriorety.выполняемый_процесс

то выполняемый_процесс: выполнение -> {готовность|ожидание};

новый_процесс: начальное состояние -> выполнение;

иначеновый_процесс: начальное состояние->готовность.

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

Приоритетная_приостановка:

выполняемый_процесс: выполнение ->

{готовность|ожидание}.

Вышеприведенная формализация операции "Запуск"предполагает, что все ресурсы, необходимые для выполнения нового процесса ему выделены. Выделение ресурсов (необходимого объема ОП или/и внеш­ней памяти, необходимых УВВ или/и ВЗУ) может потребовать перевод ряда менее приоритетных процессов из состоянияготовностив состояние ожидания.

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

Очередь1