Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами:
Ø Создание процесса;
Ø Уничтожение процесса;
Ø Возобновление процесса;
Ø Изменение приоритета процесса;
Ø Блокирование процесса;
Ø Пробуждение процесса;
Ø Запуск процесса.
Создание процесса состоит из многих операций, включая:
· Присвоение имени процессу;
· Включение этого имени в список имен, известных системе;
· Определение начального приоритета процесса;
· Формирование блока управления процессом;
· Выделение процессу начальных ресурсов.
Процесс может породить новый процесс (дочерний). При таком подходе создается иерархическая структура процессов. Уничтожение процесса означает его удаление из системы. Ресурсы, выделенные этому процессу, возвращаются системе, имя процесса в любых системных списках стирается, и блок управления процессом освобождается. Уничтожение процесса усложняется, ели это родительский процесс. В некоторых системах дочерний процесс уничтожается автоматически, когда уничтожается его родительский процесс, в других система порожденные процессы начинают существовать независимо от своих родительских процессов, так что уничтожение родительского процесса не оказывает влияния на его потомков.
Прерывание – событие, при котором процесс прерывается и управление передается системе обработки прерываний.
Если произошло прерывание, то
q Управление передается операционной системе;
q ОС запоминает состояние прерванного процесса;
q ОС анализирует тип прерывания и передает управление соответствующей программе обработки этого прерывания
Типы прерываний:
F Прерывания по вызову пользователя. SVC прерывания. Механизм SVC помогает защитить ОС от пользователей. Благодаря этому ОС всегда знает обо всех попытках пользователя пересечь ее границы и может отказаться от выполнения определенных запросов.
F Прерывания ввода-вывода. Эти прерывания инициируются аппаратурой ввода/вывода.
F Внешние прерывания. (истечение кванта времени, заданного на таймере прерываний, сигнал от другого процессора в мультипроцессорной системе).
F Прерывания по рестарту. При нажатии кнопки рестарта.
F Прерывания по ошибке программы (деление на ноль и т.д.)
F Прерывания по ошибке машины. Эти прерывания вызываются аппаратными ошибками.