Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС лекция.doc
Скачиваний:
13
Добавлен:
14.04.2019
Размер:
229.38 Кб
Скачать

Процессы и их поддержка в ос

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

Процессы могут находиться как минимум в двух состояниях:

    1. исполняется

    2. не исполняется

Модель 1: Процесс, находящийся в состоянии процесс исполняется, может через некоторое время завершиться или быть приостановлен операционной системой и снова переведен в состояние процесс не исполняется. Приостановка процесса происходит по одной из двух причин: для его дальнейшей работы потребовалось возникновение какого-либо события (например, завершения операции ввода-вывода) или истек временной интервал, отведенный операционной системой для работы этого процесса. После этого операционная система по определенному алгоритму выбирает для исполнения один из процессов, находящихся в состоянии процесс не исполняется, и переводит его в состояние процесс исполняется. Новый процесс, появляющийся в системе, первоначально помещается в состояние процесс не исполняется.

Модель 2: каждый новый процесс появляющийся в системе попадает в состояние готовности. ОС пользуясь каким либо алгоритмом планирования выбирает один из готовых процессов и переводит его в состояние исполнения. В состоянии исполнения происходит непосредственное выполнение программного кода процесса. Покинуть это состояние процесс может по трём причинам: 1. либо он заканчивает свою деятельность; 2. либо он не может продолжать свою работу пока не произойдет некоторое событие и ОС переведет его в состояние ожидания; 3. либо в результате возникновения прерывания вычислительных систем (например прерывания таймера по истечении дозволенного времени выполнения) его возвращают в состояние готовности. Модель2 хорошо описывает поведение процессов во время их жизни. Недостаток модели 2: не акцентирует внимание на появление процессов в системе и также на его исчезновение из системы.

Для полноты картины введем еще 2 состояния процесса: 1. рождение 2. закончил исполнение. Таким образом имеет место модель 3.

В модели 3 для появления процесса, он должен пройти через состояние рождения. При рождении процесс получает в своё распоряжение адресное пространство в которое загружается программный код процесса, ему выделяются стек и системные ресурсы, устанавливаются начальные значения программного счетчика данного процесса и так далее. Родившийся процесс переводится в состояние готовности. При завершении своей деятельности процесс из состояния исполнения переводится в состояние «Закончил исполнение». В конкретных ОС состояния процесса могут быть еще более детализированным, а также могут появиться некоторые новые варианты переходов из состояния в состояние. * Процесс не может сам перейти из одного состояния в другое, изменением состояния процессов занимается ОС, совершая над ними операции. Например количество таких операций в модели 3 совпадает с количеством стрелок на диаграмме состояний.

    1. Создание процесса — завершение процесса

    2. Приостановка процесса (перевод из состояния исполнения в состояние готовности)

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

    4. Блокирование процесса (перевод из состояния исполнения в состояние ожидания)

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

В дальнейшем появится еще одна операция: Изменение приоритета процесса.

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