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