24515

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

Доклад

Информатика, кибернетика и программирование

Мультипрограммирование на основе прерываний. Механизм прерываний.Мультипрограммирование на основе прерываний. Назначение и типы прерываний.

Русский

2013-08-09

25.58 KB

37 чел.

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

§4.3.1.Мультипрограммирование на основе прерываний.

Назначение и типы прерываний.

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

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

В зависимости от источника прерывания делятся на три больших класса: внешние, внутренние и программные.

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

Внутренние прерывания, называемые также исключениями (exeption), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примерами исключений являются деление на ноль, ошибки защиты памяти, обращения по несуществующему адресу и т. п. Исключения возникают непосредственно в ходе выполнения тактов команды («внутри» выполнения).

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

Прерываниям приписывается приоритет, с помощью которого они ранжируются по степени важности и срочности (рис. 4.7).

Прерывания обычно обрабатываются модулями операционной системы, так как действия, выполняемые по прерыванию, относятся к управлению разделяемыми ресурсами ВС. Процедуры, вызываемые по прерываниям, обычно называют обработчиками прерываний или процедурами обслуживания прерываний (Interrupt Service Routine, ISK). Аппаратные прерывания обрабатываются драйверами соответствующих внешних устройств, исключения – специальными модулями ядра, а программные прерывания – процедурами ОС, обслуживающими системные вызовы. Кроме этих модулей в операционной системе может находиться так называемый диспетчер прерываний, который координирует работу отдельных обработчиков прерываний.

Рис. 4.7. Распределение прерываний по уровням приоритета

§4.3.2.Механизм прерываний.

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

Механизм обработки прерываний независимо от архитектуры вычислительной системы включает следующие элементы:

1. Установление факта прерывания (прием сигнала на прерывание) и идентификация прерывания (в операционных системах иногда осуществляется повторно, на шаге 4).

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

3. Управление аппаратно передастся подпрограмме обработки прерывания. В простейшем случае в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры – информация из слова состояния.

4. Сохранение информации о прерванной программе, которую с помощью действий аппаратуры не удалось спасти на шаге 2.

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

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

7. Возврат в прерванную программу.

Шаги 1-3 реализуются аппаратно, а шаги 4-7 – программно. Аппаратная поддержка прерываний зависит от типа процессора и аппаратных компонентов, передающих сигнал запроса прерывания от внешнего устройства к процессору (контроллер внешнего устройства, шины подключения внешних устройств, контроллер прерываний, являющийся посредником между сигналами шины и сигналами процессора). Особенности аппаратной реализации прерываний оказывают влияние на средства программной поддержки прерываний, работающие в составе ОС.

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

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


 

А также другие работы, которые могут Вас заинтересовать

45416. Понятие уголовной ответственности 26 KB
  Понятие уголовной ответственности Уголовная ответственность разновидность юридической ответственности. 8 УК РФ указывает что является основанием уголовной ответственности. Наибольшее распространение имеют три подхода к определению уголовной ответственности: обязанность лица совершившего преступление отвечать за содеянное в соответствии с уголовным законом; применение к виновному лицу мер уголовноправового характера; судимость как правовое последствие назначения наказания. Момент начала и окончания уголовной ответственности...
45417. Виды наказаний 23 KB
  44 УК РФ предусмотрены следующие виды наказаний: штраф; лишение права занимать определенные должности или заниматься определенной деятельностью; лишение специального воинского или почетного звания классного чина и государственных наград; обязательные работы; исправительные работы; ограничение по военной службе; ограничение свободы; арест; содержание в дисциплинарной воинской части; лишение свободы на определенный срок; пожизненное лишение свободы; смертная казнь. 45 УК РФ к основным видам наказания относятся: ...
45418. Умысел и его виды 31 KB
  Прямой умысел характеризуется тем что лицо совершившее преступление осознавало общественно опасный характер своих действий бездействия предвидело возможность или неизбежность наступления общественно опасных последствий интеллектуальный признак и желало их наступления волевой признак ч. Косвенный умысел характеризуется тем что лицо совершившее преступление осознавало общественно опасный характер своих действий бездействия предвидело возможность наступления общественно опасных последствий интеллектуальный момент не желало но...
45419. Действие уголовного закона во времени. Обратная сила уголовного закона 44.5 KB
  9 УК РФ; временем совершения преступления признается время совершения соответствующих действий бездействия независимо от времени наступления последствий ч. В зависимости от законодательной конструкции состава преступления время его совершения будет различным. Это может быть например групповой способ совершения преступления тяжесть наступивших последствий определённые социально значимые характеристики потерпевшего например совершение преступления в отношении несовершеннолетнего и т. Так к преступлениям с материальным составом...
45420. Необходимая оборона 28 KB
  Необходимая оборона Необходимая оборона это правомерная защита лицом своих прав и интересов других лиц общества или государства от общественно опасного посягательства путем вынужденного причинения вреда нападающему если при этом не было допущено превышение пределов необходимой обороны. Уголовный закон устанавливает условия правомерности необходимой обороны которые делятся на условия относящиеся к посягательству и на условия относящиеся к защите. Признак действительности нападения позволяет отграничить его от мнимого нападения и...
45421. НЕОКОНЧЕННОЕ ПРЕСТУПЛЕНИЕ 80 KB
  Оконченное и неоконченное преступления 1. Преступление признается оконченным если в совершенном лицом деянии содержатся все признаки состава преступления предусмотренного настоящим Кодексом. 29 признает преступление оконченным если в совершенном лицом деянии содержатся все признаки состава преступления предусмотренного УК. Момент определения окончания преступления зависит от особенностей законодательной конструкции того или иного преступления в первую очередь его объективной стороны то есть от того как в уголовном законе определено...
45422. Неосторожность и ее виды 31.5 KB
  26 УК РФ преступление признается совершенным по легкомыслию если лицо его совершившее предвидело возможность наступления общественно опасных последствий своего действия бездействия но без достаточных к тому оснований самонадеянно рассчитывало на их предотвращение. 26 УК интеллектуальный элемент преступного легкомыслия характеризуется указанием на предвидение только возможности наступления общественно опасных последствий и ничего не сказано об осознании лицом факта совершения им общественно опасных действий. Однако при этом следует...
45423. Особенности уголовной ответственности и наказания несовершеннолетних. Виды и размеры наказаний, назначаемых несовершеннолетним (ст. 87—88 УК РФ) 27 KB
  Виды и размеры наказаний назначаемых несовершеннолетним ст. 87 88 УК РФ Несовершеннолетними в соответствии со ст. Существенно сокращен перечень видов наказаний которые могут применяться к несовершеннолетним. Кроме видов наказаний которые могут назначаться несовершеннолетним в ст.
45424. Понятие и признаки объективной стороны преступления 24 KB
  Понятие и признаки объективной стороны преступления Объективная сторона преступления это основной элемент состава преступления характеризующийся как внешнее проявление общественно опасного посягательства протекающего в определенных условиях месте и времени и причинившего вред охраняемым уголовным законом общественным отношениям. При анализе объективной стороны различают следующие признаки: общественно опасное деяние в форме действия или бездействия; общественно опасное последствие; причинная связь между деянием и последствием; ...