В интерактивных системах
Механизмы планирования в ОС
Планирование состоит в том, что ОС устанавливает последовательность исполнения программ, в терминах ОС - процессов. Основными требованиями к задаче планирования являются:
· Равнодоступность - предоставление каждому процессу справедливой доли времени центрального процессора.
· Принуждение к определенной политике планирования, т.е. обеспечение соблюдения установленной политики;
· Баланс загруженности всех составных частей системы.
Задача планирования заключается в получении расписания исполнения программ, «оптимального» с точки зрения конкретного типа ОС. В качестве основных «критериев» построения оптимального расписания выступают:
в пакетных системах
· производительность - максимизация количества выполняемых в единицу времени заданий;
· оборотное время - минимизация времени между представлением задачи и ее завершением;
· использование центрального процессора - поддержка постоянной загруженности процессора и минимизация простоев.
· время отклика на запросы;
· пропорциональность предоставления ресурсов каждому пользователю.
· соблюдение предельных установленных сроков на запуск и исполнение задач;
· обеспечение отклика в установленные сроки и предотвращение потери данных.
в мультимедийных системах (потоковое видео)
· предотвращение ухудшения качества.
Следует отметить, что ОС работают и на планшетных компьютерах, и на смарт-картах. Отличие этих ОС состоит в том, ресурсы, которыми они управляют, функционально очень ограничены. Например, отсутствуют жесткие диски большой емкости.
Планирование процессов. Очереди процессов.
Система управления процессами обеспечивает прохождение процесса в системе. В зависимости от состояния процесса ему предоставляется необходимый ресурс. Например, вновь созданному процессу необходимо выделить часть адресного пространства. Процессу в состоянии готовый должно быть предоставлено процессорное время. Выполняемый процесс может потребовать доступ к устройству ввода/вывода и к файлу.
За планирование отвечают специальные управляющие программы, называемые планировщиками (scheduler). В современных системах используется ряд планировщиков в зависимости от ресурса, планирование доступа к которому они осуществляют, например:
· process scheduler - планировщик процессов;
· priority scheduler – планировщик с планированием по приоритетам;
· master scheduler - главный планировщик;
· job scheduler - планировщик обработки заданий;
· foreground scheduler - планировщик высокоприоритетных заданий;
· channel scheduler - планировщик работы каналов.
Планирование процессов - занимается распределением ресурсов процессам. Поскольку ресурсы вычислительной системы ограничены, то при наличии многих процессов неизбежно появление «очередей» к ресурсам. Новые процессы помещаются во входную очередь, называемую очередью заданий (job queue).
Процессы во входной очереди ожидают выделения им ресурса - адресного пространства основной памяти.
Готовые к выполнению процессы находятся в основной памяти в очереди готовых процессов или ready queue. Процессы в этой очереди ожидают освобождения ресурса процессор.
Процесс в состоянии ожидания завершения операции ввода/вывода находится в одной из очередей к устройству ввода/вывода, которая носит название device queue.
Процесс переходит между различными очередями под управлением планировщика. Операционная система обычно содержит два вида планировщиков процессов: для долгосрочного планирования (long term scheduler) и для краткосрочного планирования (short term scheduler/CPU scheduler).
Основное отличие между ними заключается в частоте запуска, например: краткосрочный планировщик может запускаться каждые 100 мс, долгосрочный - один раз в несколько минут.
Долгосрочный планировщик определяет, какой из процессов, находящихся во входной очереди, должен быть переведен в очередь готовых к исполнению процессов в случае освобождения ресурсов памяти.
В системах пакетной обработки долгосрочный планировщик выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых процессов должны находиться в разной пропорции как процессы, ориентированные на ввод/вывод, так и процессы, ориентированные на преимущественную работу с ЦП.
Краткосрочный планировщик определяет, какой из процессов, находящихся в очереди готовых процессов, должен быть передан на выполнение в ЦП. В некоторых операционных системах долгосрочный планировщик может отсутствовать (обычно это бывает в системах с разделением времени).
Краткосрочное планирование процессов для предоставления им ЦП называют также диспетчеризацией процессов. Критериями для сравнения алгоритмов краткосрочных планировщиков являются:
1. использование (utilization) ЦП может находиться пределах от 0 до 100%. (примерно 40% для легко загруженного ЦП, 90% для тяжело загруженного ЦП);
2. пропускная способность ( throughput) ЦП, измеряется количеством процессов, которые выполняются в единицу времени.
3. время оборота (turnaround time). Для некоторых процессов важным критерием является полное время выполнения, то есть интервал от момента появления процесса во входной очереди до момента его завершения. Это время называется временем оборота и включает время ожидания во входной очереди, время ожидания в очереди готовых процессов, время ожидания в очередях к оборудованию, время выполнения в процессоре и время ввода/вывода;
4. время ожидания (waiting time).- суммарное время нахождения процесса в очереди готовых процессов,
5. время отклика (response time) - для интерактивных программ важным показателем является время отклика или время, прошедшее от момента попадания процесса во входную очередь до момента первого обращения к терминалу для выдачи ответа пользователю.