Тема 9. Классификация процессов

Основными понятиями управления прохождением задач в ЭВМ являются процесс, задача, работа, программа, ресурс, дисциплина распределения ресурса.

Процесс – минимальный программный объект, обладающий собственными системными ресурсами (запущенная программа).

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

По генеалогическому признаку различают порождающие и порожденные процессы.

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

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

По месту развития процессы делятся на внутренние и внешние. Внутренние - реализуются на центральном процессоре, внешние- реализуются на внешних процессорах.

По принадлежности к операционной системе процессы бывают системные (исполняют программу из состава операционной системы) и пользовательские.

По связности различают процессы:

­ взаимосвязанные, которые имеют какую-то связь (пространственно-временную, управляющую, информационную);

­ изолированные – слабо связанные;

­ информационно-независимые, которые используют совместные ресурсы, но имеют собственные информационные базы;

­ взаимодействующие – имеют информационные связи и разделяют общие структуры данных;

­ взаимосвязанные по ресурсам;

­ конкурирующие.

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

­ предшествования – один всегда находится в активном состоянии раньше, чем другой;

­ приоритетности – когда процесс может быть переведен в активное состояние только в том случае, если в состоянии готовности нет процессов с более высоким приоритетом, или процессор свободен, или на нем реализуется процесс с меньшим приоритетом;

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

Ресурс – любой потребляемый (расходуемый) объект. По запасам ресурсы подразделяются на исчерпаемые и неисчерпаемые. Потребители ресурсов – процессы. Ресурс – средство вычислительной системы, которое может быть выделено процессу на определенный интервал времени.

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

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

По возможности расширения свойств ресурсы делятся на эластичные и жесткие (не допускающие виртуализации).

По степени активности разделяются на активные и пассивные (могут выполнять действия по отношению к другим ресурсам).

По времени существования: постоянные (доступны во все время процесса: и до и после его работы) и временные.

По степени важности: основные и второстепенные (допускают альтернативное развитие процесса при их отсутствии).

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

По структуре: простые (не содержит составных элементов) и составные. Они различаются числом состояний: простой может быть только в двух состояниях – доступен или занят.

По характеру использования распределяемых ресурсов: потребляемые и воспроизводимые ресурсы (допускают многократное использование и освобождение).

По характеру использования: последовательно и параллельно используемые (используются несколькими процессами).

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

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

Управление процессами. Процесс – это программный модуль, выполняемый в центральном процессоре (CPU). Операционная система контролирует следующую деятельность, связанную с процессами:

­ создание и удаление процессов;

­ планирование процессов;

­ синхронизация процессов;

­ коммуникация процессов;

­ разрешение тупиковых ситуаций.

Не следует смешивать понятия процесс и программа. Программа – это план действий, а процесс –это само действие, поэтому понятие процесса включает:

­ программный код;

­ данные;

­ содержимое стека;

­ содержимое адресного и других регистров процессора.

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

Различают следующие состояния процесса:

­ новый (процесс только что создан);

­ выполняемый (команды программы выполняются в CPU);

­ ожидающий (процесс ожидает завершения некоторого события, чаще всего операции ввода-вывода);

­ готовый (процесс ожидает освобождения CPU);

­ завершенный (процесс завершил свою работу).

На рис. 1.1 приведена типовая диаграмма переходов для состояний процессов.

 

Прерывание

 

 

ПринятВыход

       
 
   
 


Отсылка

планировщика

 

Завершение Ожидание

ввода-вывода ввода-вывода