52__6____.ppt
- Количество слайдов: 22
Операции, выполняемые над процессами ОС
ТЕМЫ ДЛЯ РАССМОТРЕНИЯ • контекст и дескриптор процесса; • одноразовые и многоразовые операции; • переключение контекста.
Процесс не может перейти из одного состояния в другое самостоятельно. Изменением состояний процессов занимается ОС, совершая операции над ними.
Процессов группировка: • создание процесса - завершение процесса; • приостановка процесса (перевод из состояния «исполнение» в состояние «готовность» ) – запуск процесса (перевод из состояния «готовность» в состояние «исполнение» ); • блокирование процесса (перевод из состояния «исполнение» в состояние «ожидание» ) – разблокирование процесса (перевод из состояния «ожидание» в состояние «готовность» ); • изменение приоритета.
Часть 1 КОНТЕКСТ и ДЕСКРИПТОР ПРОЦЕССА
Каждый процесс представляется в ОС некоторой структурой данных. Эта структура содержит информацию, специфическую для данного процесса: 1. состояние, в котором находится процесс; 2. программный счетчик процесса (адрес команды, которая должна быть выполнена для него следующей); 3. содержимое регистров процессора; 4. данные, необходимые для планирования использования процессора и управления памятью (приоритет процесса, размер и расположение адресного пространства и т. д. );
5. учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом и т. д. ); 6. сведения об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов).
На протяжении существования процесса, его выполнение может быть многократно прервано и продолжено. Чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды.
Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т. д. ЭТА ИНФОРМАЦИЯ НАЗЫВАЕТСЯ КОНТЕКСТОМ ПРОЦЕССА.
Кроме этого, ОС для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется ОС только после того, как принято решение о возобновлении прерванного процесса.
Программный код начнет выполняться когда для него ОС будет создан процесс. Создать процесс - это значит: • создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст; • включить дескриптор нового процесса в очередь готовых процессов; • загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
Совокупность регистрового, системного и пользовательского контекстов процесса называется контекстом процесса. В любой момент времени процесс полностью характеризуется своим контекстом. Контекст процесса вкл. в себя содержимое адресного пространства задачи, выделенного процессу, а также содержимое относящихся к процессу аппаратных регистров и структур данных ядра. дома дать определения регистровому, системному, пользовательскому контекстам
Часть 2 ОДНОРАЗОВЫЕ И МНОГОРАЗОВЫЕ ОПЕРАЦИИ
Одноразовые операции приводят к изменению кол-ва процессов, находящихся под управлением ОС и всегда связаны с выделением или освобождением определенных ресурсов. Многоразовые операции, напротив, не приводят к изменению кол-ва процессов в ОС и не обязаны быть связанными с выделением или освобождением ресурсов.
ОДНОРАЗОВЫЕ ОПЕРАЦИИ ПРОЦЕСС 12 ПРОЦЕСС 255 ПРОЦЕСС 4 ПРОЦЕСС 23 ПРОЦЕСС 14 ПРОЦЕСС 15 ПРОЦЕСС 128 ПРОЦЕСС 24
МНОГОРАЗОВЫЕ ОПЕРАЦИИ Процесс-родитель может продолжать свое выполнение одновременно с выполнением процессаребенка, а может ожидать завершения работы некоторых или всех своих детей. После того, как процесс завершил свою работу, ОС переводит его в состояние «закончил исполнение» и освобождает все ассоциированные с ним ресурсы. В UNIX процессы, находящиеся в состоянии «закончил исполнение» , принято называть процессами-зомби.
МНОГОРАЗОВЫЕ ОПЕРАЦИИ Рассмотрим действия, производимые ОС при выполнении многоразовых операций над процессами: Запуск процесса. Приостановка процесса. Блокирование процесса. Разблокирование процесса.
Часть 3 ПЕРЕКЛЮЧЕНИЕ КОНТЕКСТА
Для корректного переключения процессора с одного процесса на другой необходимо сохранить контекст исполнявшегося процесса и восстановить контекст процесса, на который будет переключен процессор. Такая процедура сохранения/ восстановления работоспособности процессов называется переключением контекста.
Существенно сократить накладные расходы в современных ОС позволяет расширенная модель процессов, включающая в себя понятие threads of execution (нити исполнения или просто нити).


