Процессы. Определение. Состояния процесса. Реализация процессов

Процессы

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

1) запуск системы;

2) выполнение поступившего от процесса системного вызова на создание другого процесса;

3) запрос пользователя на создание процесса.

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

1) обычный выход - процесс завершается преднамеренно, по мере выполнения своей работы;

2) выход по ошибке - причиной преднамеренного завершения процесса может стать неустранимая ошибка, обработанная самим процессом;

3) выход по неисправимой ошибке - непреднамеренный выход, связанный с ошибкой в коде программы (деление на нуль);

4) уничтожение другим процессом.

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

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

2 - готовность. Процессу выделены все необходимые ресурсы, кроме процессорного времени.

3 - выполнение. Процессу выделено процессорное время.

4 - блокировка. Процесс ожидает какое-либо внешнее событие (прерывание, сигнал синхронизации и т.д.).

5 - завершение. Происходит преднамеренное завершение процесса с возвратом всех ресурсов.

Для реализации модели процессов ОС содержит таблицу с одним элементом для каждого процесса. Этот элемент называется блок управления процессом, PCB - Process Control Block, либо фрейм-процессом. Он содержит в себе информацию о состоянии процесса, значения регистров, счетчик команд, указатели стеков, распределение памяти, состояние файлов и устройств ввода/вывода и всю остальную информацию, необходимую для переключения процесса в состояние готовности или блокировки и для последующего запуска.


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



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