Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОССио.docx
Скачиваний:
2
Добавлен:
22.11.2019
Размер:
3.4 Mб
Скачать

Тема 3 Управление процессами

Термин процесс получил множество различных определений. Программа в стадии выполнения, асинхронная работа, «живая душа» (процедуры), концентрация средств управления, нечто представленное в виде блока управления процессом (в ОС), объект которому выделяются ресурсы, управляемый модуль.

Процесс – программа в стадии выполнения. Имеет 2 стороны:

  1. Поток команд

  2. Адресное пространство

Процессы распадаются на нити.

Нити – потоки команд различны, а адресное пространство одинаково.

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

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

Чтобы процесс выполнялся, необходимо чтобы процесс находился в основной/кеш памяти и был процессор.

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

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

Переход процесса из состояния в состояние

Квант времени

Пробуждение

Блокирование

Запрос

FIFO LIFO

Блок управления процессом (БУП)

Является представителем процесса в ОС, представляет собой структуру данных, содержащую определённую важную информацию о процессе:

  1. Текущее состояние процесса

  2. Уникальный идентификатор

  3. Приоритет процесса

  4. Указатели памяти процесса

  5. Указатели выделенных ресурсов

  6. Область сохранения регистров

Операции над процессами

  1. Создание

  2. Уничтожение

  3. Возобновление

  4. Изменение приоритета

  5. Запуск

  6. Блокирование, пробуждение

  7. Изменение кванта времени

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

  1. Присвоение имени процессу, включение этого имени в список имён известных системе.

  2. Определение начального приоритета

  3. Формирование БУП

  4. Выделение процессу начальных ресурсов

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

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

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

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

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

Возобновление (или активация) процесса – это операция подготовки к повторному запуску с той точки в которой он был приостановлен.