Слайд 103
ПРОЦЕССЫ
Курс лекций
«Системное программное обеспечение»
«System Software»
«Операционные системы»
для студентов специальностей АСОИ и
ИИ
Павел Кочурко
доцент кафедры ИИТ, к.т.н.
Слайд 2
Понятие процесса
Алгоритм
Программа
Задание
Статические объекты
Процесс
- абстракция, описывающая выполняющуюся программу. Для операционной системы
процесс представляет собой единицу работы, заявку на потребление системных ресурсов.
Процесс – это совокупность
набора исполняющихся команд,
ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.)
и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значения переменных),
находящаяся под управлением операционной системы.
Слайд 3Классификация процессов:
по принадлежности к ЦП
Внутренние
на ЦПУ
Внешние
на других ПУ (например,
Слайд 4Классификация процессов:
по принадлежности к ОС
Пользовательские
Системные
из состава ОС
Слайд 5Классификация процессов:
по генеалогическому признаку
Порождающие
родительские
Порожденные
дочерние
Слайд 6
Классификация процессов:
по результативности
Трасса процесса – это последовательный набор состояний, которые проходит
процесс в течение жизни.
Два процесса, которые имеют одинаковый конечный результат обработки одних и тех же исходных данных по одной и той же или даже различным программам на одном и том же или на различных процессорах, называют эквивалентными.
Если в каждом из эквивалентных процессов обработка данных происходит по одной и той же программе, но трассы при этом в общем случае не совпадают, то такие процессы называют тождественными.
При совпадении трасс у тождественных процессов их называют равными.
Во всех остальных случаях процессы всегда различны.
Слайд 7Классификация процессов:
по динамическому признаку
Последовательные
Параллельные
Комбинированные
Слайд 8Классификация процессов:
по связности
Два процесса являются взаимосвязанными, если между ними поддерживаются с
помощью системы управления процессами какого-либо рода связи: функциональные, пространственно-временные, управляющие, информационные и т. д.
Иначе - изолированными.
Если два взаимосвязанных процесса при развитии используют совместно некоторые ресурсы, но информационно между собой не связаны, т. е. не обмениваются информацией, то такие процессы называют информационно-независимыми. Связь между такими процессами может быть либо функциональная, либо пространственно-временная.
При наличии информационных связей между двумя процессами их называют взаимодействующими, причем схемы, а следовательно, и механизмы установления таких связей могут быть различными.
Когда необходимо подчеркнуть связь между взаимосвязанными процессами по ресурсам, их называют конкурирующими.
Слайд 9Диаграмма состояний процесса
Готовность
Выполнение
Ожидание
(Блокировка)
Слайд 10Состояния процесса в UNIX-системах
выполняется в режиме задачи.
выполняется в режиме ядра.
не выполняется,
но готов к запуску под управлением ядра.
приостановлен и находится в оперативной памяти.
готов к запуску, но программа подкачки (нулевой процесс) должна еще загрузить процесс в оперативную память, прежде чем он будет запущен под управлением ядра.
приостановлен, и программа подкачки выгрузила его во внешнюю память, чтобы в оперативной памяти освободить место для других процессов.
возвращен из привилегированного режима (режима ядра) в непривилегированный (режим задачи), ядро резервирует его и переключает контекст на другой процесс.
вновь создан и находится в переходном состоянии; процесс существует, но не готов к выполнению, хотя и не приостановлен. Это состояние является начальным состоянием всех процессов, кроме нулевого
вызывает системную функцию exit и прекращает существование. Однако, после него осталась запись, содержащая код выхода, и некоторая хронометрическая статистика, собираемая родительским процессом. Это состояние является последним состоянием процесса.
Слайд 11Структуры данных процесса
Дескриптор процесса
Для реализации планирования и для управления процессами
Идентификатор процесса,
состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация
Контекст процесса
Чтобы возобновить выполнение ранее прерванного процесса, необходимо восстановить состояние его операционной среды
Состояние регистров и программного счетчика, режим работы процессора, указатели на открытые файлы, информация о незавершенных операциях ввода-вывода, коды ошибок выполняемых данным процессом системных вызовов и т.д.
Таблица процессов
Пространство процесса
Очередь процессов