Операционные системы. Управление ресурсами


Ядро и процессы - часть 3


Теперь процесс будет состязаться с другими готовыми процессами за обладание ресурсом центрального процессора. В некоторых случаях (в зависимости от принятой в ОС дисциплины планирования) высокоприоритетный процесс может сразу после получения ресурса переводиться в активное состояние (3 на рис.1.5), вытесняя текущий активный процесс. (Как правило, переход 3 непосредственно не реализуется, а выполняется через переходы 5 и 7.) Перемещение процессов между активным/готовым и заблокированным состояниями называется планированием ресурсов или среднесрочным планированием.

Процесс может перейти из активного состояния в готовое (6 на рис.1.5) либо по собственной инициативе, добровольно отказавшись от использования центрального процессора, либо по инициативе ОС. Перевод процессов из готового состояния в активное (7 на рис.1.5) выполняет ОС в соответствии с принятой дисциплиной планирования процессов или краткосрочного планирования.

Для каждого из состояний ОС создает список или списки процессов, находящихся в этом состоянии. В системе с одним центральным процессором список активных процессов содержит только один элемент. Список готовых может содержать несколько элементов. Что же касается списка заблокированных процессов, то в ОС, как правило, имеется несколько таких списков - свой список для каждого класса ожидаемых ресурсов. Смена состояния процесса вызывает перемещение процессов между списками. Рассмотрим с этой точки зрения выполнение системного вызова. Если процесс выдает системный вызов, то обязательно происходит переключение контекста - из контекста процесса в контекст ядра. Если системный вызов может быть выполнен немедленно (например, запрос текущего времени), то он выполняется, и сразу же происходит обратное переключение контекста. Если же выполнение вызова требует времени, то текущий активный процесс переносится в соответствующий список заблокированных, из списка готовых выбирается и назначается активным другой процесс, и контекст переключается на новый активный процесс, то есть, в этом случае происходит переключение процессов.


Начало  Назад  Вперед



Книжный магазин