Абстрактная модель процесса.

Системная таблица процессов.

Режимы функционирования процессов.

Процессы могут функционировать в двух режимах: системном и пользовательском.

Системный режим является наиболее важным, поскольку в нем выполняется следующее:

· обработка прерываний, вызванных внешними сигналами и системными вызовами, а также управлением доступа к диску;

· распределение дополнительной динамической памяти и других ресурсов системы.

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

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

Блок управления процессом содержит следующие данные:

· слово состояния процесса;

· приоритет;

· величину кванта времени, выделенного системным планировщиком;

· степень использования системным процессором;

· признак диспетчеризации;

· идентификатор пользователя, которому принадлежит процесс;

· эффективный идентификатор пользователя;

· реальный и эффективный идентификаторы группы;

· группу процесса;

· идентификатор процесса и идентификатор родительского процесса;

· размер образа, размещаемого в области подкачки;

· размер сегментов кода и данных;

· массив сигналов, ожидающих обработки.

Чтобы система функционировала должным образом, ядру необходимо отслеживать все эти данные.

Блок управления памятью содержит следующие данные:

· указатель на текстовый сегмент (адрес);

· указатель на сегмент данных (адрес);

· указатель на сегмент стека (адрес).

Блок управления файлами содержит следующие данные:

· корневой каталог;

· рабочий каталог;

· дескрипторы файла, в которых находится специальная информация о файле;

· идентификатор пользователя;

· идентификатор группы.

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

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

Такое переключение процессора от программы к программе называется многозадачностью, основанной на мультипрограммировании.

Абстрактная модель дает более легкое представление – представление набора процессов, выполняемых параллельно (псевдопараллельно); для параллельно работающих процессов имеется счетчик команд для каждого из процессов.