3.28. Понятие процесса, управление процессами, способы диспетчеризации процессов

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

Существует много понятий процесса:

1.           Программа на стадии выполнения 

2.           P=<P,S> , где P – выполняемая программа, S – вектор состояний процесса. Одна программа может породить несколько процессов, и выполняться они могут в одном процессоре.

Процесс за время жизни может находиться в нескольких состояниях:

1. выполняется в данный момент

2. готов, если процессор может его использовать в данный момент

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

Переход процесса из одного состояния в другое

Запуск – переход из состояния готовности в состояние выполнения. Чтобы процесс монопольно не владел ресурсами вычислительной системы, устанавливается системный таймер, который устанавливает квант времени, в течение которого процесс владеет центральным процессором. По истечение времени происходит переход выполнение – готов. Если выполняемый процесс до истечение отпущенного ему кванта времени инициализировал операцию ввода-вывода, этим он добровольно покинул процессор и перевел себя в состояние блокирования. Как только произойдет событие, которого ожидает блокированный процесс, происходит переход блокированный – готов (пробуждение). Единственная смена состояний, которую вызывает процесс над собой -  блокирование. Остальные инициируются внешними объектами.

Операции над процессами

Структура данных, которая порождается  как только в ней появляется новый процесс – приоритет процесса.

Создание – присвоение имени процессу, формирование блока управления процессами, установление начального приоритета, выделение первоначального ресурса.

Уничтожение – ресурсы возвращаются в систему, имя процесса стирается во всех списках и таблицах системы.

Приостановление/возобновление – пользователь может приостановить процесс, если промежуточный результата его не устраивает. Система сама может приостановить процесс, например, при пиковых нагрузках.

Типы и обработка прерываний

А) прерывания ввода/вывода – инициируется аппаратурой ввода/вывода

Б) внешние прерывания – это три вида различных событий:

-         истечение кванта времени (таймера)

-         нажатие оператором клавиши

-         прием сигнала прерывания от другого процессора

В) прерывания по ошибке программы

Г) прерывания вызванные сбоем аппаратуры

Любое взаимодействие процессов связано с синхронизацией, то есть согласование скоростей процессов путем остановки процесса до наступления некоторого события и активизации его при наступлении  этого события. Синхронизация необходима для корректной работы процессов при обмене данными между процессами, при разделении данных при совместном использовании устройств ввода/вывода.

Hosted by uCoz