
- •Двухуровневая схема управления процессами
- •Уровень долгосрочного планирования
- •Уровень краткосрочного планирования
- •Дескрипторы процессов
- •Тема 2.2 Средства распределения ресурсов (20 часов)
- •Динамическое распределение памяти
- •Организация виртуальной памяти
- •Управление вводом-выводом
- •Система управления данными
Двухуровневая схема управления процессами
При построении системы управления процессами в большинстве ОС принята двухуровневая схема. Это означает, что в системе различают два вида планировщиков процессов, которые выполняют соответственно функции долгосрочного и краткосрочного планирования по использованию множества процессов. Эти планировщики носят различные названия в разных ОС, но являются собственно системой управления процессами.
На каждом уровне существует свой объект и собственные средства управления им.
На уровень долгосрочного планирования выносятся действия редкие в системе, но требующие больших системных затрат.
На этом уровне объектами управления являются не отдельные процессы, а некоторые их объединения, рассматриваемые как единое целое, объединенное единым функциональным назначением. Такое объединение будем называть «задание».
Каждое задание рассматривается как независимая от других заданий деятельность, связанная с исполнением одной или нескольких программ, как пользовательских, так и системных, на одном или нескольких процессорах для достижения определенного результата. Именно поэтому каждое задание можно представить как совокупность процессов, объединенных функциональной связью в рамках одного задания.
Задание конечно. Начавшись в некоторый момент времени, оно заканчивается нормально (достигнут конечный результат) или нет через некоторый интервал времени. Задание должно выполняться по определенной программе на одном или нескольких процессорах. Такая программа составляется на специальных языках управления процессами.
Для исполнения некоторой программы задания предоставляется виртуальная машина, которая имеет в своем составе следующие компоненты: оперативную и другие виды памяти, обеспечивающие доступ к программе и данным для обеспечения любого элементарного действия, процессор, способный различать и выполнять элементарные действия программы в установленном порядке. На уровне долгосрочного планирования планировщик планирует распределение времени не центрального процессора, а виртуальной машины. Каждый раз по мере порождения нового задания создается собственная виртуальная машина для его исполнения. Это означает, что распределение происходит однократно в отличие от уровня краткосрочного планирования, где время центрального процессора для каждого из процессов распределяется многократно. Именно поэтому на уровне исполнения заданий принято говорить о долгосрочном планировании.
На уровень краткосрочного планирования выносятся частые и более короткие по длительности действия по управлению процессами. На этом уровне объектом управления являются процессы, которые выступают как потребители либо центрального процессора, если речь идет о внутренних процессах, либо других процессоров для внешних процессов. Распределение процессора производит планировщик данного уровня в соответствии с некоторой стратегией планирования, определяющей правило выбора одного из процессов, находящихся в состоянии «готовности», для последующей его активизации при освобождении процессора. Помимо планировщика на данный уровень выносятся и доступны для использования процессами механизмы и средства, обеспечивающие системные действия по порождению и уничтожению процессов, по переводу процессов из состояния в состояние, по решению требуемых задач синхронизации при взаимодействии процессов. Необходимо отметить два важнейших свойства выполнения работ ОС на уровне краткосрочного планирования. Во-первых, причины, обуславливающие порождение и окончание процессов и отрабатываемые на этом уровне, являются внутренними. Другими словами, заявки или требования на порождение и уничтожение процессов поступают либо от процессов, управляемых на одном уровне, либо с уровня долгосрочного планирования. Во-вторых, особенностью стратегии распределения процессора на данном уровне, которую часто называют диспетчеризацией, является необходимость многократного распределения единственного процессора для каждого из планируемых процессов на интервалах их существования с целью достижения необходимого эффекта мультипрограммирования. Именно поэтому планирование распределения времени процессора в отношении каждого процесса называют краткосрочным.