Основные системы планирования процессов.
Ситуации, при которых необходимо планирование процессов.
Основные понятия планирования процессов
1. Создание процесса;
2. завершение работы процесса;
3. блокировка процесса (на операции ввода/вывода, семафоре, и т. д.);
4. прерывание ввода/вывода.
2.2.1. Системы пакетной обработки – это системы, которые могут использовать неприоритетные и приоритетные алгоритмы планирования процессов (например, для расчетных программ).
Задачи алгоритмов планирования процессов для таких систем заключаются в следующем:
· должна быть максимальнаяпропускная способность, т. е.количество задач в единицу времени;
· должно быть минимальным оборотное время, т. е. минимальное время на ожидание обслуживания и обработку задач;
· должно быть максимальное использование процессора, т. е.необходимое условие состоит в постоянной занятости процессора.
2.2.2. Интерактивные системы (системы разделения времени) – это системы, использующие только приоритетные алгоритмы планирования процессов; в них не допускается, чтобы один процесс надолго занимал процессор (например, сервер общего доступа или персональный компьютер).
|
|
Задачи алгоритмов планирования процессов для этих систем заключаются в следующем:
· должно быть минимальным время отклика, т.е. должна быть быстрая реакция на запросы;
· должна присутствовать соразмерность, т. е. необходимостьреализации ожиданий пользователя, который не должен тратить время, например, на ожидание загрузки системы.
2.2.3. Системы реального времени – это системы, которые могут использовать неприоритетные и приоритетные алгоритмы планирования процессов (например, система управления автомобилем).
Задачи алгоритмов планирования процессов для данных систем состоят в следующем:
· необходима организация окончания работы к назначенному сроку и предотвращение потери данных;
· должна присутствовать предсказуемость, т. е.предотвращение каких-либо сбоев системы.
2.2.4. Задачи алгоритмов планирования для всех систем планирования процессов следующие:
· справедливость, т. е. каждому процессу необходимо выделить справедливую долю процессорного времени;
· контроль над выполнением принятого способа планирования процессов;
· баланс, т. е.поддержка занятости всех частей компьютерной системы (например, чтобы были заняты процессор и устройства ввода/вывода)
3.1. Принцип планирования процессов Первый пришел – первым обслужен (FIFO - First In Fist Out).
В случае принципа планирования FIFO процессы ставятся в очередь по мере их поступления.
Преимуществами этого принципаявляются простота и справедливость (как в очереди покупателей: кто последний пришел – тот оказался в конце очереди).
|
|
Недостаток заключается в том, что процесс, ограниченный возможностями процессора, может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода.
3.2. Принцип планирования процессов Кратчайшая задача – первая.
Этот принцип заключается в том, что сначала выполняются задачи, занимающие более короткое время на их выполнение.
Например, при следующей очереди процессов, занимающих соответствующее время
сначала выполнятся задачи, время выполнения которых 2 минуты, потом – за 4, потом – за 6.
Преимуществами данного принципа являются:
· уменьшение оборотного времени (времени на ожидание и обработку);
· справедливость (как в очереди покупателей: кто – без сдачи – тот проходит вперед).
Недостаток заключается в том, что более длительный процесс, занявший процессор, не позволит выполниться вновь поступившим кратковременным процессам.
3.3. Принцип планирования процессов Наименьшее оставшееся время выполнения.
Этот принципявляется аналогом принципа планирования Кратчайшая задача – первая, но отличие заключается в том, что, если приходит новый процесс, то его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса: если время выполнения нового процесса меньше, чем оставшееся время выполнения текущего процесса, то текущий процесс приостанавливается и выполняется новый процесс; иначе – продолжает выполняться текущий процесс.
Например, для следующей постановки в очередь
2 4 2 6 2
(1) (2) (3) (4) (5)
4 2
(6) (7)
(8)
выполнение процессов планируется следующим образом:
2 2 2 4 1 2 1 4 5
(1) (3) (5) (2) (4) (7) (8) (6) (4)