Лекция_8_Модель_процесса_Иерархия_Состояния_Операции_над_процессами

Содержание

Слайд 2

Процесс

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

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

Слайд 3

Модель процесса

Концептуальная
модель четырех независимых друг от друга последовательных процессов

Четыре программы,

Модель процесса Концептуальная модель четырех независимых друг от друга последовательных процессов Четыре
работающие в многозадачном режиме

В отдельно взятый
момент времени активна только одна программа

Слайд 4

Внимание:

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

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

Слайд 5

Создание процесса

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

Создание процесса В универсальных системах определенные способы создания и прекращения процессов по
необходимости.
Способы создания процессов:
1. Инициализация системы
2. Выполнение работающим процессом системного запроса на создание процесса
3. Запрос пользователя на создание процесса
4. Инициализация пакетного задания

Слайд 6

Инициализация операционной системы

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

Инициализация операционной системы При загрузке ОС создается несколько процессов. Процессы, обеспечивающие взаимодействие
пользователями и выполнение заданий, являются высокоприоритетными процессами.
Процессы, не связанные с конкретными пользователями, но выполняющими ряд специфических функций, являются фоновыми процессами (демонами).
Пример:
Получение электронной почты, web-новости, вывод на принтер

Слайд 7

Создание процесса (системный вызов)

Новый процесс формируется на основании системного запроса от текущего

Создание процесса (системный вызов) Новый процесс формируется на основании системного запроса от
процесса.
В роли текущего процесса может выступать:
Процесс, запущенный пользователем;
Системный процесс;
Процесс, инициализированный клавиатурой или мышью;
Процесс, управляющий пакетами.

Слайд 8

Создание процесса (системный вызов)

В UNIX существует только один системный запрос: fork (ветвление).

Создание процесса (системный вызов) В UNIX существует только один системный запрос: fork
Этот запрос создает дубликат вызываемого процесса.
В Windows же вызов всего одной функции CreateProcess интерфейса Win32 управляет и созданием процесса, и запуском в нем нужной программы.
Кроме CreateProcess в Win32 есть около 100 функций для управления процессами и их синхронизации

Слайд 9

Завершение процесса

Обычный выход (преднамеренно);
Выход по ошибке (преднамеренно);
Выход по неисправимой ошибке (непреднамеренно);
Уничтожение другим

Завершение процесса Обычный выход (преднамеренно); Выход по ошибке (преднамеренно); Выход по неисправимой
процессом (непреднамеренно).
После окончания работы процесс генерирует системный запрос на завершение работы. В UNIX этот системный запрос – exit, а в Windows – ExitProcess.
Программы, рассчитанные на работу с экраном, также поддерживают преднамеренное завершение работы

Слайд 10

Иерархия процессов

В некоторых системах родительский и дочерний процессы остаются связанными между собой

Иерархия процессов В некоторых системах родительский и дочерний процессы остаются связанными между
определенным образом.
Дочерний процесс также может, в свою очередь, создавать процессы, формируя иерархию процессов. В UNIX процесс, все его «дети» и дальнейшие потомки образуют группу процессов.
Сигнал, посылаемый пользователем с клавиатуры, доставляется всем членам группы, взаимодействующим с клавиатурой в данный момент

Слайд 11

Пример иерархии процессов

В образе загрузки присутствует специальный процесс init. При запуске

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

Слайд 12

Иерархия процессов в разных ОС

В Windows не существует понятия иерархии процессов, и

Иерархия процессов в разных ОС В Windows не существует понятия иерархии процессов,
все процессы равноправны.
Единственное, в чем проявляется что-то вроде иерархии процессов – создание процесса, в котором родительский процесс получает специальный маркер (так называемый дескриптор), позволяющий контролировать дочерний процесс.
Но маркер можно передать другому процессу, нарушая иерархию.
В UNIX это невозможно

Слайд 13

Состояние процессов

Несмотря на самостоятельность каждого процесса, наличие собственного счетчика команд и внутреннего

Состояние процессов Несмотря на самостоятельность каждого процесса, наличие собственного счетчика команд и
состояния, процессам зачастую необходимо взаимодействовать с другими процессами.
Один процесс может генерировать выходную информацию, используемую другими процессами в качестве входной информации.
Пример:
Выходные данные процесса cat могут служить входными данными для процесса grep.
Cat chapter.txt chapter2.txt | grep tree

Слайд 14

Реализация процессов

Для реализации модели процессов операционная система содержит таблицу процессов.
В таблице

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

Слайд 15

Состояние блокировки

Возможны два вида блокировки процесса:
1. Процесс блокируется с точки зрения логики

Состояние блокировки Возможны два вида блокировки процесса: 1. Процесс блокируется с точки
приложения (из-за отсутствия входных данных)
2. Процесс блокируется операционной системой (из-за отсутствия ресурсов)
Имя файла: Лекция_8_Модель_процесса_Иерархия_Состояния_Операции_над_процессами.pptx
Количество просмотров: 34
Количество скачиваний: 0