Планирование процессов. Понятие очереди. Планировщики.

В зависимости от состояния процесса ему должен быть предоставлен тот или иной ресурс, например новый процесс, необходимо разместить в основной памяти, следовательно, ему необходимо выделить часть адресного пространства. Процессу в состоянии «готовый» должно быть предоставлено процессорное время. Выполненный процесс может потребовать оборудование ввода-вывода. Распределение процессов между имеющимися ресурсами носит название планирование процессов. Одним из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей. Новые процессы, находящиеся во входной очереди, часто называются очередью работ (заданий). Входная очередь располагается во внешней памяти. Во входной очереди процессы ожидают освобождения ресурса – адресного пространства основной памяти. Готовые к выполнению процессы располагаются в основной памяти и связаны очередью готовых процессов. Процесс в состоянии ожидания завершения операции ввода – вывода находится в одной из очередей к оборудованию. Таким образом, процесс мигрирует между различными очередями под управлением программы, которая называется планировщик. Операционная система, обеспечивающая режим мультипрограммирования обычно включает 2 планировщика: долгосрочный и краткосрочный. Например, в ОС/360 долгосрочный планировщик называется планировщиком заданий, а краткосрочный – супервизором задач. На уровень долгосрочного планирования выносятся редкие системные действия, требующие больших затрат системных ресурсов, на уровень краткосрочного планирования – частые и более короткие процессы. Основное отличие между долгосрочным и краткосрочным планировщиками заключается в частоте запуска, например, краткосрочный может запускаться каждые 100 мл секунд, долгосрочный – 1 раз за несколько минут или больше. Долгосрочный планировщик (ДП) решает какой из процессов, находящихся во входной очереди должен быть переведен в очередь готовых процессов в случае освобождения ресурсов памяти. ДП выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых процессов должны находится в разной пропорции как процессы, ориентированные на ввод – вывод, так и процессы, ориентированный преимущественно на работу с ЦПУ. На уровне долгосрочного планирования объектом является не отдельный процесс, а некоторое объединение процессов по функциональному назначению, которые называются работой или приложением. По мере порождения новых работ создается собственная виртуальная машина для их выполнения. Краткосрочный планировщик (КП)решает какой из процессов, находящихся в очереди готовых процессов должен быть передан на выполнение в ЦПУ. В некоторых ОС ДП может отсутствовать, например, в системах разделения времени. На уровне КП объектом управления являются процессы, которые выступают как потребители ЦП для внутренних процессов или внешнего процессора для внешних процессов. Предметом порождения процессов могут быть процессы на том же уровне или сигналы ДП. Выделение процессора процессу производится с целью достижения эффекта мультипрограммирования. Такой процесс называется диспетчеризацией.