Конспект установочных лекций по комплексному курсу Информатика, Теория информации




Методы реализации системного программирования - часть 3


Конкретное представление состояния процесса должно быть запомнено.

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

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

Установление блокировки прерываний, как и ряд других команд (установка некоторых регистров или часов и т. п.), должно быть привилегированной командой. Такие команды должны быть доступны для использования только системным программистам и операторам ЭВМ, но недоступны для обычных пользователей. Тем самым обеспечивается, что

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

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


Содержание  Назад  Вперед