Когда компьютер работает в многозадачном режиме, на нем могут быть активными несколько процессов, пытающихся одновременно получить доступ к процессору. Эта ситуация возникает при наличии двух или более процессов в состоянии готовности. Если доступен только один процессор, необходимо выбирать между процессами. Отвечающая за это часть операционной системы называется планировщиком, а используемый алгоритм – алгоритмом планирования.
Алгоритмы планирования можно разделить на две категории согласно их поведению после прерывания. Алгоритмы планирования без переключений, иногда называемого также неприоритетным планированием, выбирают процесс и позволяют ему работать вплоть до блокировки ( в ожидании ввода-вывода или другого процесса), либо вплоть до того момента, когда процесс сам не отдаст процессор. Процесс не будет прерван, даже если он работает часами. Соответственно, решения планирования не принимаются по прерываниям от таймера. После обработки прерывания таймера управление всегда возвращается приостановленному процессу.
Напротив, алгоритм планирования с переключениями, называемого также приоритетным планированием, выбирают процесс и позволяют ему работать некоторое время максимально возможное фиксированное время. Если к концу заданного интервала времени процесс все еще работает, он приостанавливается и управление переходит к другому процессу (если в очереди есть процесс). Приоритетное планирование требует прерывание по таймеру, происходящих в конце отведенного периода времени, чтобы передать управление планировщику. При отсутствии таймера возможно только планирование без переключения.
Категории алгоритмов планирования.
Для оптимизации планировщика можно выделить три среды:
В система пакетной обработки нет пользователей, сидящих за терминалами и ожидающих ответа. В таких системах приемлемы алгоритмы без переключения или с переключениями, но с большим временем, отводимым каждому процессу. Такой метод уменьшает количество переключений между процессами и улучшает эффективность.
В интерактивных системах необходимы алгоритмы планирования с переключениями, чтобы предотвратить захват процессора одним процессом. Даже если ни один процесс не захватывает процессор на неопределенно долгий срок намеренно, из-за ошибки в программе один процесс может заблокировать остальные. Для исключения подобных ситуаций используется планирование с переключениями.
В системах с ограничениями реального времени приоритетность, как это не странно, не всегда обязательна, поскольку процессы знают, что их время ограничено, и быстро выполняют работу, а затем блокируются. Отличие от интерактивных систем в том, что в системах реального времени работают только программы, предназначенные для содействия конкретным приложениям. Интерактивные системы являются универсальными системами. В них могут работать произвольные программы, не сотрудничающие друг с другом и даже враждебные по отношению друг к другу.
Некоторые задачи алгоритмов планирования
Все системы
Справедливость – предоставление каждому процессу справедливой доли процессорного времени
Принудительное применение политики – контроль за выполнением принятой политики
Баланс – поддержка занятости всех частей системы
Системы пакетной обработки данных
Пропускная способность – максим. кол-во задач в час
Оборотное время – минимизация времени, затрачиваемого на ожидание обслуживания и обработку задач
Использование процессора – поддержка постоянной занятости процессора
Интерактивные системы
Время отклика – быстрая реакция на запросы
Соразмерность – выполнение пожеланий пользователя
Системы реального времени
Окончание работы к сроку – предотвращение потери данных
Предсказуемость – предотвращение деградации качества в мультимедийных системах
Планирование в системах пакетной обработки данных
Алгоритмы подходящие только системам пакетной обработки
«Первым пришел- первым обслужен»- алгоритм без переключений(самый простой)
преимущество: легко понять и столь же легко программировать
«Кратчайшая задача – первая»- алгоритм без переключения предполагающий, что временные отрезки работы известны заранее
Наименьшее оставшееся время выполнения- алгоритм с переключением
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.