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

Понятия ОС. Основные определения.

 

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

Основная задача ОС – делать аппаратуру доступной и удобной для пользователя.

ОС управляет ресурсами вычислительной системы: ресурсы вычислительной системы – процессоры, память, устройства ввода/вывод и т.д

 

1. Определяет интерфейс пользователя.

2. Обеспечивает разделение аппаратных ресурсов между пользователями.

3. Даёт возможность работать с общими данными в режиме коллективного пользования.

4. Планирует доступ пользователей в общим ресурсам.

5. Обеспечивает эффективное выполнение операции ввода/вывода.

6. Осуществляет восстановление информации в случае ошибок.

 

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

 

Вызов супервизора монитора и запрос исполнительной системы.

 

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

 

ОС имеет возможность доступа ко всем аппаратным ресурсам. Ко всем программам пользователя, данным и из этого следует, что ОС имеет самый высокий приоритет полномочий.

 

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

Важнейшей частью ОС, непосредственно влияющей на функционирование вычислительной машины являются подсистемы управления процессами.

 

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

 

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

 

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

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

 

 

 

I Состояние – Готов (Пассивное состояние процесса). Процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, готов выполняться, однако процессор занят выполнением другого процесса: как только ЦП будет ему предоставлен, процесс перейдет в состояние «Выполняется».

 

II Состояние – Выполняется. Активное состояние процессора, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором. В данном состоянии процесс находится определенный квант времени, и, если программа в течении этого времени выполняется не до конца, то переходит из состояния «Выполняется» в состояние «Готов», опять ожидает освобождение центрального процессора. Как только ЦИ будет предоставлен, процесс продолжит своё выполнение с точки остановки.

 

III Состояние – Блокирован. Пассивное состояние процесса. Процесс не может выполняться по своим внутренним причинам, идёт осуществление некоторого события, завершение операции ввода/вывода, освобождение ресурса и т.д. По завершении операций процесс переходит в состояние «Готов».

 

IV Состояние – Готов и Блок. Могут создавать очереди из процессов.

 

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

Чтобы этого не произошло, ОС повышает приоритет искусственно этому процессу и как бы продвигает его в начало очереди, как только он получит ЦП и перейдет в состояние «Выполняется», ОС вернет ему прежний приоритет(понизит). Данная ситуация называется «Искусственное старение процесса).

 

В состоянии «Блокирован» очередь не упорядочено и действует принцип один пришел на один обслужил.

Блок управления процессов(hook) – объект или структура данных, которая содержит определенную важную информацию т.е hook определяет процесс для ОС. Информация, содержащаяся в hook, уникальный идентификатор процесса: текущее состояние процесса, приоритет процесса, указатели выделенных процессорных ресурсов, указатели память процессора (ячеек памяти).

 

Область сохраненных регистров – область, где хранятся точки остановки прерываемого процесса.

 

Над процессами ОС производится ряд операций: создание, уничтожение, восстановление процесса, изменение приоритета, блокировка, пробуждение и запуск процесса.

 

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

1. Присвоение имени процессу.

2. Включение этого имени в список имен процессов, известных ОС (регистрация).

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

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

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

 

Процесс может породить новый процесс – дочерний. Родительский процесс (материнский) – тот, который порождает новый процесс.

 

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

 

Приостановка – это важная операция в ОС и длится она небольшое время.

 

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

 

Изменение приоритета процесса – это модификация его значений в БУП (Блок Управления Процессом).

 

Обработка прерываний.

Прерывание – событие, при котором меняется нормальная последовательность команд, выполняющихся ЦП.

Если произошло прерывание работы какой-либо программы (процесса), то:

 

1. Управление передаётся ОС.

2. ОС запоминает состояние прерванного процесса – это остановки, которые хранятся в БУП.

3. ОС анализирует тип прерывания и передает управление соответствующей программе обработки этого прерывания.