Одноразовые операции

Процесс Control Block и контекст процесса.

Набор операций.

Операции над процессами и связанные с ними понятия

Процесс из состояния в состояние переводит ОС. Переход из состояния в состояние удобно объединить в пары:

1. Рождение процесса – завершение процесса;

2. Приостановка процесса (перевод из состояния исполнения в состояние готовности) – запуск процесса (перевод из состояния готовности в состояние исполнения);

3. Блокирование процесса (перевод из состояния исполнения в состояние ожидания) – разблокирование процесса (перевод из состояния ожидания в состояние готовности)

Каждый процесс представлен в ОС некой структурой данных. В этой структуре хранится информация, характеризующая процесс:

· Состояние, в котором находится процесс;

· Программный счетчик процесса (адрес команды, которая д/б выполнена следующей);

· Содержимое регистров процесса;

· Данные, необходимые для планирования использования процессора и управления памятью (приоритет процессов, размер и расположение адресного пространства);

· Учетные данные (идентификационные номера; имя пользователя, котороый инициировал работу; общее время использования процессора текущим процессом)

· Информация о переферийных устройствах, связанные с процессом;

· Таблица открытых файлов.

Для любого процесса, находящегося в ВС, вся информация хранится в PCB и доступна ОС. Любая операция, которая производится над процессом, отражается в PCB. Информацию, хранящуюся в PCB удобно разделять на две части:

· Содержимое регистров процессора (содержание счетчика команд) – регистровый контекст;

· Системный контекст;

· Иногда: пользовательский контекст – совокупность данных, находящихся в адресном пространстве.

Совокупность всех видов контекста называют контекст процессора.

Процесс появляется в системе через его рождение. Активное участие в рождении процесса принимает ОС. В самых простых ОС все процессы рождаются в момент запуска ОС. Более сложные ОС создают процесс во время работы ВС, т.е. создают динамический процесс. Инициатором рождения процесса может быть:

1. Процесс пользователя, который совершил специальный/системный вызов

2. Сама ОС;

Процесс, который породил другой процесс, называется родительским процессом (parent process). В результате получается генеалогическое дерево процессов. Для своей работы порожденный процесс требует выделения ресурсов: памяти, файлов, переферийных устройств. Ресурсы выделяются по разному. В первом случае часть ресурсов родителя передается потомку, во втором случае выделяются ресурсы из запасов ОС. После наделения порожденного процесса ресурсами в его адресное пространство записывается программный код, значение данных и устанавливается программный счетчик. В итоге:

1. Порожденный процесс становится дубликатом процесса-родителя

2. Процесс-ребенок загружается из файла

Когда процесс завершает работу ОС переводит его в состояние завершения => освобождает ресурсы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: