Процесс

Процессы(лекция)

Get Started. It's Free
or sign up with your email address
Процесс by Mind Map: Процесс

1. Понятие

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

1.2. Не существует взаимно-однозначного соответствия между процессами и программами, обрабатываемыми вычислительными системами

1.3. Процесс находится под управлением операционной системы, поэтому в нем может выполняться часть кода ее ядра (не находящегося в исполняемом файле!).

2. Состояния

2.1. все, что выполняется в вычислительных системах, организовано как набор процессов, на однопроцессорной компьютерной системе - в каждый момент времени один процесс. Для мультипрограммных В.С. - псевдопараллельная обработка нескольких процессов (переключение процессора с одного процесса на другой). Каждый процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется

2.2. Процесс в состоянии процесс исполняется, может быть завершен o.c. или приостановлен и снова переведен в процесс не исполняется

2.3. Приостановка (причины): потребовалось событие, или истек временной интервал

2.4. После этого О.С. выбирает один из процессов (не исполняется – исполняется, Новый процесс - не исполняется)

2.5. разобьем состояние процесс не исполняется: готовность и ожидание

2.5.1. новый процесс – готовность. ОС выбирает один из готовых и переводит его в исполнение

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

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

2.6. Для полноты картины: рождение и закончил исполнение

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

2.6.2. Родившийся – готовность. При завершении деятельности из исполнение - закончил исполнение.

2.7. В конкретных операционных системах состояния процесса могут быть еще более детализированы, могут появиться некоторые новые варианты переходов из одного состояния в другое

3. Набор операций

3.1. создание процесса – завершение процесса

3.2. приостановка процесса (перевод из состояния исполнение в состояние готовность ) – запуск процесса (перевод изсостояния готовность в состояние исполнение )

3.3. блокирование процесса (перевод из состояния исполнение в состояние ожидание ) – разблокирование процесса (перевод из состояния ожидание в состояние готовность )

4. Process Control Block и контекст процесса

4.1. состояние, в котором находится процесс

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

4.3. содержимое регистров процессора

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

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

4.6. сведения об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов)

4.7. :

4.7.1. каждый процесс представляется в ней некоторой структурой данных, вся информация для совершения операций над ним, будем считать, хранится в одной структуре данных PCB (Process Control Block) или блоком управления процессом - модель процесса для операционной системы. Любая операция, производимая операционной системой над процессом, вызывает определенные изменения в PCB. Содержимое всех регистров процессора - регистровый контекст процесса. все остальное – системным контекстом процесса. Совокупность регистрового,системного и пользовательского контекстов процесса для краткости принято называть просто контекстом процесса

5. Одноразовые операции

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

5.2. Процесс, инициировавший создание нового процесса, принято называть процессом-родителем (parent process), а вновь созданный процесс – процессом-ребенком (child process). набор генеалогических деревьев процессов из родителей и детей (р-д(р)-д и т.д.) – генеалогический лес.

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

5.3.1. Процесс-родитель может продолжать свое выполнение одновременно с выполнением процесса-ребенка, а может ожидатьзавершения работы некоторых или всех своих "детей"

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

5.4.1. Следует заметить, что в ряде операционных систем, гибель процесса-родителя приводит к завершению работы всех его "детей". В других ос процессы-дети продолжают свое существование и после окончания работы процесса-родителя

6. Многоразовые операции

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

6.2. Действия, которые производит операционная система при выполнении многоразовых операций над процессами:

6.2.1. Действия, которые производит операционная система при выполнении многоразовых операций над процессами:

6.2.2. Приостановка процесса. Работа процесса, находящегося в состоянии исполнение, приостанавливается в результате какого-либо прерывания. Процессор автоматически сохраняет счетчик команд и, возможно, один или несколько регистров в стеке исполняемого процесса, а затем передает управление по специальному адресу обработки данного прерывания. На этом деятельность hardware по обработке прерывания завершается

6.2.3. Блокирование процесса. Процесс блокируется, когда он не может продолжать работу, не дождавшись возникновения какого-либо события в вычислительной системе. Для этого он обращается к операционной системе с помощью определенного системного вызова. Операционная система обрабатывает системный вызов и, при необходимости сохранив нужную часть контекста процесса в его PCB, переводит процесс из состояния исполнение в состояние ожидание.

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

7. Переключение процесса

7.1. при исполнении процессором некоторого процесса, возникает прерывание, сигнализирующее об окончании операций на устройстве. Над выполняющимся процессомпроизводится операция приостановки. Далее операционная система разблокирует процесс, инициировавший запрос, осуществляет запуск приостановленного или нового процесса, выбранного при выполнении планирования. в результате обработки информации об окончании операции ввода-вывода возможна смена процесса, находящегося в состоянии исполнение

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

7.3. Время, затраченное на переключение контекста, не используется вычислительной системой для совершения полезной работы и представляет собой накладные расходы, снижающие производительность системы(от 1 до 1000 микросекунд)

7.3.1. Существенно сократить накладные расходы в современных операционных системах позволяет расширенная модель процессов, включающая в себя понятие threads of execution