Наверх Системное программирование
Предыдущий раздел Оглавление Следующий раздел

3.4.1.3. Задачи алгоритма планирования

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

♦ для всех систем:

• равнодоступность — предоставление каждому процессу справедливой доли времени центрального процессора;

• принуждение к определенной политике — наблюдение за выполнением уста¬новленной политики;

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

♦ для пакетных систем:

• производительность — выполнение максимального количества заданий в час;

• оборотное время — минимизация времени между представлением задачи и ее завершением;

• использование центрального процессора — поддержка постоянной загружен¬ности процессора.

♦ для интерактивных систем:

• время отклика — быстрый ответ на запросы;

• пропорциональность — оправдание ожиданий пользователя.

♦ для систем реального времени:

• соблюдение предельных сроков — предотвращение потери данных;

• предсказуемость — предотвращение ухудшения качества в мультимедийных системах.

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

Производительность в пакетных системах — это количество заданий, выпол¬ненных за один час. Оборотное время — это среднестатистическое время от момента передачи задания на выполнение до момента завершения его выполнения. Им измеряется время, затрачиваемое среднестатистическим пользователем на вынужденное ожидание выходных данных. В качестве показателя в пакетных системах также часто используется степень задействования центрального процессора.

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

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

Предыдущий раздел Оглавление Следующий раздел