Similar presentations:
Процессы. (Тема 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. Вопросы?
ВОПРОСЫ?Продолжение следует…