Опубликован: 05.04.2005 | Уровень: специалист | Доступ: свободно | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 13:

Дисциплины распределения ресурсов и основные режимы работы мультипрограммной ЭВМ

< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Аннотация: Рассматриваются одноочередные и многоочередные дисциплины распределения ресурсов, а также основные режимы работы мультипрограммной ЭВМ.

Дисциплины распределения ресурсов мультипрограммной ЭВМ

Дисциплины распределения ресурсов ( ДРР ) - весьма важный показатель, влияющий на эффективность работы ЭВМ. Применение той или иной дисциплины распределения зависит от особенностей использования данного ресурса, критериев оценки эффективности работы системы, а также от сложности реализации данной ДРР [12]

Одноочередные дисциплины

  1. FIFO ( First In - First Out ) - первый пришел - первый обслужен (рис.13.1).

    Схема распределения ресурса по дисциплине FIFO

    Рис. 13.1. Схема распределения ресурса по дисциплине FIFO

    Схема доступа - очередь.

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

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

  2. LIFO ( Last In - First Out ) - последний пришел - первый обслужен (рис. 13.2).

    Схема распределения ресурса по дисциплине LIFO

    Рис. 13.2. Схема распределения ресурса по дисциплине LIFO

    Схема доступа - стек.

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

    Схема распределения ресурса по круговому циклическому алгоритму

    Рис. 13.3. Схема распределения ресурса по круговому циклическому алгоритму

    Запрос обслуживается в течение кванта времени tk. Если за это время обслуживание не завершено, то запрос передается в конец входной очереди на дообслуживание.

    Здесь короткие запросы находятся в очереди меньшее время, чем длинные.

Многоочередные дисциплины

Базовый вариант многоочередной дисциплины обслуживания представлен на рис. 13.4.

Схема распределения ресурса при многоочередной дисциплине обслуживания

Рис. 13.4. Схема распределения ресурса при многоочередной дисциплине обслуживания

Основа дисциплины - круговой циклический алгоритм.

Все новые запросы поступают в очередь 1.

Время, выделяемое на обслуживание любого запроса, равно длительности кванта tk. Если запрос обслужен за это время, то он покидает систему, а если нет, то по истечении выделенного кванта времени он поступает в конец очереди i +1.

На обслуживание выбирается запрос из очереди i, только если очереди 1,…, i -1 пусты.

Таким образом, длинные запросы поступают сначала в очередь 1, затем постепенно доходят до очереди N и здесь обслуживаются до конца либо по дисциплине FIFO, либо по круговому циклическому алгоритму.

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

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

    tki = 2i-1 x tk

    где tk - квант времени, выделяемый для программ из очереди 1.

    Такая дисциплина обслуживания наиболее благоприятна коротким программам, хотя явного указания приоритетов программ здесь нет. Степень благоприятствования тем выше, чем меньше tk. Однако уменьшение длительности кванта ведет к увеличению накладных расходов, необходимых для перераспределения ресурса между программами.

    Данная ДРР может работать как с относительными, так и с абсолютными приоритетами программ.

    • Обслуживание программ с относительными приоритетами. Заявка, входящая в систему, не вызывает прерывания обслуживаемой заявки, даже если последняя и менее приоритетна. Только после окончания обслуживания текущей заявки начинается обслуживание более приоритетной.
    • Обслуживание программ с абсолютными приоритетами. Если во время обслуживания программы из очереди i в очередь с большим приоритетом поступает новая программа, то после окончания текущего кванта tk обрабатываемая программа прерывается и возвращается в начало своей очереди, с тем чтобы впоследствии дообслужиться на время, недобранное до 2i-1 x tk.
  2. Система с динамическим изменением приоритетов программ. Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается зависимым от времени ожидания в очереди. Если ожидание превысит некоторое установленное время, программа переводится в очередь с меньшим номером.
  3. Система со статическим указанием приоритетов программ. Считается, что продолжительность выполнения программы приблизительно пропорциональна ее длине. По крайней мере, от длины программы прямо зависит время, затрачиваемое на передачу программы между ОЗУ и внешним ЗУ при ее активизации.

    Определение номера очереди, в которую поступает программа при первоначальной загрузке, осуществляется по алгоритму планирования Корбато: программа сразу поступает в очередь i = [log2 lp/ltk + 1], где lp - длина программы в байтах; ltk - число байт, которые могут быть переданы между ОЗУ и внешней памятью за время tk (рис. 13.5).

    Схема распределения ресурса при многоочередной дисциплине обслуживания со статическим указанием приоритетов программ

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

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

< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Илья Бекиров
Илья Бекиров
Кирилл Кондратьев
Кирилл Кондратьев