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

77

ОПЕРАЦИОННЫЕ СИСТЕМЫ

(КУРС ЛЕКЦИЙ)

Королев Е.Н.

1. Управление процессами

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

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

Запуск Блокирован

Истечение кванта

Пробуждение

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

Блок управления процессом – является представителем процесса в операционной системе. Это структура данных, содержащая определенную важную информацию о процессе:

  • Текущее состояние процесса;

  • Уникальный идентификатор процесса;

  • Приоритет процесса;

  • Указатели памяти процесса;

  • Указатели выделенных процессу ресурсов;

  • Область сохранения ресурсов;

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

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

Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами:

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

  • Уничтожение процесса;

  • Возобновление процесса;

  • Изменение приоритета процесса;

  • Блокирование процесса;

  • Пробуждение процесса;

  • Запуск процесса.

Создание процесса состоит из многих операций, включая:

  • Присвоение имени процессу;

  • Включение этого имени в список имен, известных системе;

  • Определение начального приоритета процесса;

  • Формирование блока управления процессом;

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

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