Слайд 2Определение
Во-первых, процесс — это логический объект.
Каждый процесс обладает собственным адресным пространством,
![Определение Во-первых, процесс — это логический объект. Каждый процесс обладает собственным адресным](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-1.jpg)
которое обычно состоит из области команд, области данных и области стека.
Слайд 3В области команд находится программный код, выполняемый процессором.
В области данных хранятся
![В области команд находится программный код, выполняемый процессором. В области данных хранятся](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-2.jpg)
переменные, в нее входит память, динамически выделяемая процессу во время его выполнения.
В области стека размещаются инструкции и локальные переменные, используемые при вызове процедур.
Слайд 4Во-вторых, процессом называется «программа в стадии выполнения». Программа представляет собой неодушевленный логический
![Во-вторых, процессом называется «программа в стадии выполнения». Программа представляет собой неодушевленный логический](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-3.jpg)
объект. Только когда процессор «вдыхает жизнь» в программу, она превращается в активный логический объект, который мы и называем процессом.
Слайд 5Определения
Поток - последовательность инструкций, которые выполняются параллельно с другими потоками. Каждая программа
![Определения Поток - последовательность инструкций, которые выполняются параллельно с другими потоками. Каждая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-4.jpg)
создает по меньшей мере один поток: основной, который запускает функцию main().
Семафор – «вышибала», позволяющий получить доступ на выполнение нескольким потокам.
Слайд 6Жизненный цикл
Жизненный цикл процесса состоит из последовательности дискретных состояний. Переход процесса из
![Жизненный цикл Жизненный цикл процесса состоит из последовательности дискретных состояний. Переход процесса](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-5.jpg)
одного состояния в другое может быть спровоцирован самыми разнообразными событиями.
Слайд 7Говорят, что процесс выполняется, т.е. находится в состоянии выполнения, если в данный
![Говорят, что процесс выполняется, т.е. находится в состоянии выполнения, если в данный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-6.jpg)
момент ему выделен центральный процессор.
Говорят, что процесс готов, т.е. находится в состоянии готовности, если он мог бы сразу использовать процессор, предоставленный в его распоряжение.
Говорят, что процесс заблокирован, то есть находится в состоянии блокировки, если для того, чтобы продолжить работу, ему необходимо дождаться наступления определенного события (например, события завершения операции ввода/вывода).
Слайд 8Операционная система создает список готовых к выполнению процессов, называемый также таблицей готовности
![Операционная система создает список готовых к выполнению процессов, называемый также таблицей готовности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-7.jpg)
и список заблокированных процессов.
Процессы размещены в списке готовых в порядке приоритетов – так, что следующим процессом, получающим в свое распоряжение процессор станет первый процесс из этого списка (то есть процесс с наивысшим приоритетом).
Список заблокированных процессов, как правило, хранится в неупорядоченном виде.
Слайд 9Во время создания нового процесса операционная система выполняет следующие операции:
Сначала, процессы
![Во время создания нового процесса операционная система выполняет следующие операции: Сначала, процессы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-8.jpg)
необходимо каким-то образом различать между собой — для этого каждому процессу присваивается идентификационный номер процесса (PID).
Затем система создает блок управления процессом (PCB), называемый также дескриптором процесса, в который помещается информация, необходимая операционной системе для управления процессом.
Слайд 10В блоке управления процессом обычно содержится следующая информация:
1. PID.
2. Текущее состояние процесса.
3.
![В блоке управления процессом обычно содержится следующая информация: 1. PID. 2. Текущее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-9.jpg)
Программный счетчик — определяющий, какую по счету инструкцию программы процессор должен будет выполнить следующей.
4. Приоритет процесса.
5. Полномочия.
6. Указатель на родительский/дочерние процессы.
7. Указатели выделенных процессу ресурсов.
Слайд 11Процесс может порождать новые процессы. В этом случае порождающий процесс называется родительским,
![Процесс может порождать новые процессы. В этом случае порождающий процесс называется родительским,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-10.jpg)
а второй, созданный процесс – дочерним.
Каждый дочерний процесс имеет один родительский процесс. В результате такого подхода формируется иерархическая структура процессов, в которой у дочернего процесса есть только один родительский, но каждый родительский процесс может иметь произвольное количество дочерних процессов.
Слайд 12При переходе процесса из одного состояния в другое, ОС должна обновить информацию
![При переходе процесса из одного состояния в другое, ОС должна обновить информацию в блоке управления процессом.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064994/slide-11.jpg)
в блоке управления процессом.