Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
825.34 Кб
Скачать

Лекция 5. Процессы и потоки. Прерывания. Процесс. Состояния процесса. Операции над процессами. Процесс

Понятие процесс (process) введено разработчиками ОС с 60-х годов, как программа во время выполнения. Заметим, что программа - это всего лишь файл в формате загрузки, сохраняемый на диске, а процесс расположен в памяти на этапе выполнения.

Состояния процесса

Для процесса характерен ряд дискретных состояний, причем смену этих состояний могут вызывать различные события. Первоначально ограничимся рассмотрением трех основных состояний процесса.

  • Процесс находится в состоянии выполнения, если в данный момент ему выделен центральный процессор (ЦП).

  • Процесс находится в состоянии готовности, если он мог бы сразу использовать центральный процессор, предоставленный в его распоряжение.

  • Процесс находится в состоянии блокировки, если он ожидает некоторого события, чтобы получить возможность продолжать выполнение.

Заметим, что в однопроцессорной машине в состоянии выполнения в каждый конкретный момент времени может находится только один процесс. В состояниях же готовности и блокировки могут находиться несколько процессов, т.е. есть возможность создать список готовых и список заблокированных процессов.

Список готовых процессов упорядочен по приоритету, первым в распоряжение получает ЦП первый процесс из списка. При создании списка готовых процессов, каждый новый процесс помещается в конец списка, а по мере завершения выполнения предыдущих процессов продвигается в головную часть списка. Список же заблокированных процессов не упорядочен, т.к. разблокировка процессов осуществляется в том порядке, в котором происходят ожидаемые ими события.

Рис.1 Смена состояний процесса X

Запуск, или выбор процесса для выполнения - это предоставление ЦП первому процессу из списка готовых процессов. Запуск осуществляется с помощью программы - диспетчер.

Блок управление процессом

Блок управления процессом (РСВ - process control block) - это объект, который определяет процесс для операционной системы и является структурой данных, сосредотачивающей всю ключевую информацию о процессе:

  • текущее состояние процесса;

  • уникальный идентификатор процесса;

  • приоритет процесса;

  • указатели памяти процесса;

  • указатели выделенных процессу ресурсов;

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

По сути порождение любого процесса - это создание некоторой виртуальной машины. Она имеет свое собственное адресное пространство, куда помещается процедурный сегмент и сегмент данных.

Дескриптор и контекст процесса.

Системные данные, используемые для идентификации процесса, которые существуют в течение всего времени его жизни, образуют дескриптор (описатель) процесса. Множество дескрипторов образуют таблицу процессов.

Дескриптор процесса содержит следующие параметры процесса:

  • расположение (адрес в памяти);

  • размер выгружаемой части образа процесса;

  • идентификатор процесса и пользователя.

Другая важная информация о процессе хранится в таблице пользователя (называемой также - контекст процесса), здесь записаны:

  • идентификационные номера пользователей, для определения привилегий доступа к файлам;

  • ссылки на системную таблицу файлов для всех открытых процессом файлов;

  • указатель на индексный дескриптор текущего каталога в таблице индексных дескрипторов;

  • список реакций на различные сигналы.

Поток – единица активности в процессе, абстракция, несущая ответственность за исполнение кода и поддержания состояния выполнения процесса.

Демон – это процесс, выполняющийся в фоновом режиме, не подключенный ни к одному из управляющих терминалов.