Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
155572.rtf
Скачиваний:
35
Добавлен:
18.05.2015
Размер:
108.32 Кб
Скачать

Переключение контекста

Процедуру обработки прерываний, в зависимости от их типа, выполняют входящие в состав ОС соответствующие программы - обработчики прерываний (IH - interrupt handler).

При возникновении прерываниия, ОС должна обеспечивать запоминание состояния прерванного процесса и передачу управления соответствующему обработчику прерывания. Это может быть реализовано с использованием способа переключение контекста(context switching).

При реализации этого способа используются слова состояния программы PSW(program status word), которые управляют порядком выполнения команд и сожержат ряд сведений о состоянии процесса.

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

Когда происходит прерывание, то в первую очередь проверяется не является ли оно запрещенным (тогда оно либо задерживается либо игнорируется). Если прерывание является разрешенным, то аппаратурно производится следующее переключение PSW:

  • текущее PSW становится старым PSW для прерывания этого типа;

  • новое PSW для прерывания этого типа становится текущим PSW.

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

Описанная схема обработки прерываний не является единственно возможной.

Ядро операционной системы

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

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

Функции ядра

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

  • обработка прерываний;

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

  • синхронизация процессов;

  • организация взаимодействия между процессами;

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

  • поддержка операций ввода-вывода;

  • поддержка работы файловой системы;

  • поддержка механизма вызова-возврата при обращении к процедурам;

  • ряд учетных функций.

Иерархический подход к процессу проектирования ОС заключается в следующем.

В основе иерархии находится аппаратура компьютера, так называемая “чистая машина”.

На следующем уровне иерархии находятся различные функции ядра, в совокупности с которыми компьютер становится “расширенной машиной”.

Эти дополнительные функции, реализуемые при помощи ядра, часто называют примитивами(primitives).

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

На вершине иерархии располагаются сами процессы пользователей.

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

распределяются на нескольких уровнях иерархии.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]