Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Требования к отчету по л.р. № 2



Отчет должен содержать:

1. Описание алгоритма диспетчеризации, реализуемого в ходе работы (в виде схемы алгоритма или с использованием диаграмм Шнейдерманна или на формализованном ограниченном естественном языке).

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

3. Подробное описание тестового примера, демонстрирующего правильность реализации заданной дисциплины диспетчеризации.

4. Протокол работы Вашей "системы" в соответствии с разрабо­танным тестовым примером.

5. Письменные ответы на контрольные вопросы к л.р. № 2.

4.2.6. Контрольные вопросы к л.р. № 2

1. Для какого режима работы ВС – а) разделения времени, б) реального времени, в) пакетной обработки – наиболее целесообразно использование квантование времени ЦП и почему?

2. Какое влияние оказывает длительность кванта времени ЦП на эффективность функционирования многопрограммной ОС?

3. Какие процессы "длительные" или "короткие" находятся в более благоприятных условиях при многоочередной дисциплине цикли­ческой диспетчеризации?

4. Приведите преимущества и недостатки использования описан­ной диспетчеризации.


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

Конец … начало
Запуск Выбор Завершение

                   
   
   
 
     
 
       
 
 

 


Очередь2

Конец … начало

           
 
   
   
 
 

 


Очередь3

Конец … начало

       
   
 
 

 


:

:

Очередь1

Конец … начало

       
   
 
 

 


:

:

Очередь n-1

Конец … начало

       
   
 
 

 


Очередь n

Конец … начало

       
   
 
 

 

 


Истечение_кванта


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

 


Рис. 6. Схема многоочередной диспетчеризации с учетом абсолютного приоритета запускаемого процесса.

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

"Запуск", "Завершение", {"Окончание"}, диспетчеризации процессов:

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.