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

Блок управления процессом. Операции над процессом. (15-1, 28-1)

Представителем процесса в ОС является блок управления процессом (дескриптор процесса). ОС ведет таблицу процессов, каждая запись в которой является дескриптором одного процесса.

Дескриптор процесса – структура данных, содержащая следующие поля:

  1. Идентификатор;

  2. Текущее состояние;

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

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

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

  6. Машинные регистры

Машинные регистры

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

Ос поддерживает следующие операции над процессами:

  1. Создание - состоит из многих операций, включая присвоение имени процессу, включение этого имени в список имен процессов, известных ОС; определение начального приоритета процесса; формирование дескриптора процесса и выделение процессу начальных ресурсов.

  2. Уничтожение – удаление дескриптора процесса.

  3. Возобновление (рестарт) – связан с выделением процессу ЦП.

  4. Изменение приоритета - происходит постоянно для каждого процесса, функционирующего в системе. Приоритет процесса падает со временем.

  5. Блокирование - происходит во время операций ввода/вывода, либо во время ожидания каких-либо событий.

  6. Запуск (выбор) – функция планировщика, который выбирает процесс с наивысшим приоритетом

  7. Пробуждение связанно с работой таймера

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

Приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core-файл) и дескриптора.

Понятие прерывания. Схемы прерываний. (16-1)

Вход в ядро ОС осуществляется по прерыванию. Когда ядро реагирует на данное прерывание, оно запрещает все другие прерывания.

После определения причины данного прерывания, ядро передает его обработку специальному системному процессу, предназначенному для работы с прерываниями этого типа.

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

  1. По вызову супервизора.

Прерывание по вызову супервизора появляется в том случае, когда работающий процесс выполняет команду обращения к супервизору. Этой командой (SVC-командой) программа пользователя генерирует запрос на предоставление конкретной системной услуги, например, на выполнение операции ввода/вывода, увеличение объема выделенной памяти и т.п.

  1. Прерывание ввода/вывода.

Инициируется аппаратурой ввода/вывода. Например, когда завершается операция ввода/вывода, возникает ошибка или происходит смена состояния устройства ввода/вывода.

  1. Внешние прерывания.

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

  1. Прерывание по рестарту.

Происходит, когда нажата кнопка рестарта (reset), или когда от другого процессора в мультипроцессорной системе поступает команда рестарта.

  1. Прерывание по ошибке программы.

Например, при делении на 0.

  1. Прерывание по ошибке компьютера.

Например, вышел из строя блок питания.

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

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