процессы
Понятие процесса
Классификация процессов: по принадлежности к ЦП
Классификация процессов: по принадлежности к ОС
Классификация процессов: по генеалогическому признаку
Классификация процессов: по результативности
Классификация процессов: по динамическому признаку
Классификация процессов: по связности
Диаграмма состояний процесса
Состояния процесса в UNIX-системах
Структуры данных процесса
Вопросы?
119.24K
Category: softwaresoftware

Процессы. (Тема 3)

1. процессы

ПРОЦЕССЫ
Курс лекций
«Системное программное обеспечение»
«System Software»
«Операционные системы»
для студентов специальностей АСОИ и ИИ
Павел Кочурко
доцент кафедры ИИТ, к.т.н.

2. Понятие процесса

• Алгоритм
• Программа
• Задание
- Статические объекты
• Процесс
- абстракция, описывающая выполняющуюся программу. Для операционной
системы процесс представляет собой единицу работы, заявку на
потребление системных ресурсов.
Процесс – это совокупность
набора исполняющихся команд,
ассоциированных с ним ресурсов (выделенная для исполнения память или
адресное пространство, стеки, используемые файлы и устройства вводавывода и т. д.)
и текущего момента его выполнения (значения регистров, программного
счетчика, состояние стека и значения переменных),
находящаяся под управлением операционной системы.

3. Классификация процессов: по принадлежности к ЦП

ЦПУ
В/В
• Внутренние
на ЦПУ
• Внешние
на других ПУ (например, ГПУ)
ОЗУ
В/В
В/В

4. Классификация процессов: по принадлежности к ОС

• Пользовательские
• Системные
из состава ОС

5. Классификация процессов: по генеалогическому признаку

• Порождающие
родительские
• Порожденные
дочерние
var a,b,c;
write(…);
read(…);
write(…);
read(…);
var a,b,c;
write(…);
read(…);
write(…);
read(…);
id = fork();
id = fork();
read(…);
write(…);
read(…);
write(…);
read(…);
write(…);
read(…);
write(…);
id == 1562
id == 0

6. Классификация процессов: по результативности

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

7. Классификация процессов: по динамическому признаку

• Последовательные
• Параллельные
• Комбинированные

8. Классификация процессов: по связности

• Два процесса являются взаимосвязанными, если между ними
поддерживаются с помощью системы управления процессами
какого-либо рода связи: функциональные, пространственновременные, управляющие, информационные и т. д.
Иначе - изолированными.
Если два взаимосвязанных процесса при развитии используют
совместно некоторые ресурсы, но информационно между собой
не связаны, т. е. не обмениваются информацией, то такие
процессы называют информационно-независимыми. Связь
между такими процессами может быть либо функциональная,
либо пространственно-временная.
При наличии информационных связей между двумя процессами
их называют взаимодействующими, причем схемы, а
следовательно, и механизмы установления таких связей могут
быть различными.
Когда необходимо подчеркнуть связь между взаимосвязанными
процессами по ресурсам, их называют конкурирующими.

9. Диаграмма состояний процесса

Готовность
Выполнение
Г
В
О
Ожидание
(Блокировка)

10. Состояния процесса в UNIX-системах

1.
2.
3.
4.
5.
6.
7.
8.
9.
выполняется в режиме задачи.
выполняется в режиме ядра.
не выполняется, но готов к запуску под управлением ядра.
приостановлен и находится в оперативной памяти.
готов к запуску, но программа подкачки (нулевой процесс) должна еще
загрузить процесс в оперативную память, прежде чем он будет запущен
под управлением ядра.
приостановлен, и программа подкачки выгрузила его во внешнюю
память, чтобы в оперативной памяти освободить место для других
процессов.
возвращен из привилегированного режима (режима ядра) в
непривилегированный (режим задачи), ядро резервирует его и
переключает контекст на другой процесс.
вновь создан и находится в переходном состоянии; процесс существует,
но не готов к выполнению, хотя и не приостановлен. Это состояние
является начальным состоянием всех процессов, кроме нулевого
вызывает системную функцию exit и прекращает существование.
Однако, после него осталась запись, содержащая код выхода, и некоторая
хронометрическая статистика, собираемая родительским процессом. Это
состояние является последним состоянием процесса.

11. Структуры данных процесса

• Дескриптор процесса
Для реализации планирования и для управления процессами
Идентификатор процесса, состояние процесса, данные о степени
привилегированности процесса, место нахождения кодового сегмента и другая
информация
• Контекст процесса
Чтобы возобновить выполнение ранее прерванного процесса,
необходимо восстановить состояние его операционной среды
Состояние регистров и программного счетчика, режим работы процессора,
указатели на открытые файлы, информация о незавершенных операциях вводавывода, коды ошибок выполняемых данным процессом системных вызовов и т.д.
• Таблица процессов
• Пространство процесса
• Очередь процессов

12. Вопросы?

ВОПРОСЫ?
Продолжение следует…
English     Русский Rules