4
Взаимодействие SV и задач
пользователей. Временная диаграмма (алгоритмы FIFO, RR).
Диспетчер
- это программа, которая выбирает процессы из очереди-на-выполнение, переводит
их в активное состояние и передает им контроль над CPU.
На уровне
управления задачами инициируется головная управляющая программа ядра – SuperVisor (SV). Ее функции связаны с
управлением ресурсами. SV получает управление при
возникновении прерываний. Источником запросов функций SV
могут быть как аппаратные, так и программные средства. Запросы от программ
пользователей представляют собой запланированные обращения к SV.
SV – набор модулей, часть которых являются транзитными
и загружаются в ОП по мере необходимости. Головная программа всегда находится в
ОП.
Все функции SV, для которых нужны ресурсы, оформляются в виде задач
(системные и проблемные). Системные задачи могут быть приостановлены. У них
привилегированный режим и более высокий приоритет. Так же системная задача
может быть вызвана другой, т.к. является ресурсом. Она может быть в состоянии
активизированной и не активизированной, а так же приостановленной. Проблемная
задача создается и уничтожается системной, системная же создается при генерации
ОС. Системная задача – это такая задача, которая выполняет функции SV и др. по запросам User’a.
Пояснения к блок-схеме:
·
все задачи в системе: проблемные и системные - выполняются с
прерываниями;
·
задачи выполняются вперемешку с SV;
·
одновременно в системе развиваются множество задач, которые могут
взаимодействовать;
·
показатели эффективности вычислительной системы зависят от
качества управления ресурсами, как на уровне верхнего планирования, так и на
уровне диспетчеризации (управления задач);
·
SV включается в
работу по любому прерыванию.
Существуют следующие основные
дисциплины обслуживания:
·
FIFO - (First In First Out) - "первым
пришел - первым выбран на обслуживание". Время обслуживания заявки равно
ее трудоемкости;
·
RR – (Round Rotation) - "круговорот". Отличается от FIFO
лишь временем обслуживания: каждая заявка получает определенный квант времени
(одинаковый для всех);