Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВССиТК-Лекция01.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
104.96 Кб
Скачать

6. Система прерываний программ в пк.

Важнейшая роль в реализации сложных режимов работы лежит на системе пре­рывания программ. (Слайд 12).

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

Организация и управление прерываниями функционально во многом смыкается с управлением задачами — одной из базовых функций операционных систем. Осно­вой для управления процессом одновременного решения нескольких задач (как и управления прерываниями) являются процедуры:

  • процедура выбора очередной задачи для определения приоритета задачи;

  • процедура сохранения информации о статусе задачи при ее прерывании (формирование слова состояния программы);

  • процедура недопущения и устранения конфликтов между задачами (координации и синх­ронизации выполнения задач).

Прикладные прерывания временно устанавливаются пользователем при многопро­граммной работе МП для указания приоритета выполнения прикладных программ (при появлении необходимости выполнения более приоритетной программы те­кущая менее приоритетная программа прерывается).

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

Аппаратные прерывания инициируются при обращениях к МП со стороны вне­шних устройств (таймера, клавиатуры, дисководов, принтера и т. д.) с требовани­ем выполнения совместно с ними тех или иных процедур. Прерывания от таймера, например, повторяются 18 раз в секунду, от кла­виатуры — при каждом программно не запланированном нажатии некоторых кла­виш и т. п. Аппаратные прерывания не координируются с работой программы и могут быть весьма разнообразны. Для их систематизации и определения очеред­ности выполнения при одновременном возникновении нескольких из них обычно используется контроллер прерываний.

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

  • прерывания BIOS - базовой системы ввода-вывода;

  • прерывания DOS - операционной системы .

Программы обработки прерываний DOS, в отличие от программ обработки пре­рываний BIOS, не встроены в ПЗУ и для разных операционных систем могут быть разными. К программным прерываниям можно отнести также прерывания при пошаговом исполнении программы, при работе с контрольным остановом и т. д.

Технические прерывания (прерывания от схем контроля) возникают при появлении отказов и сбоев в работе технических средств ПК. Большинство технических прерываний не маскируются, то есть они разрешаются всегда, а некоторые из них относятся к категории аварийных (например, отклю­чение питания), и при их возникновении даже не запрашивается причина преры­вания, а просто, по возможности, важные промежуточные результаты записываются в память (на жесткий диск).

Логические прерывания возникают при появлении ошибок в выполняемых програм­мах (деление на 0, потеря значности мантиссы, нарушение защиты памяти и т. п.).

Обработка прерываний (Слайд 13).

Прерывания обслуживаются базовой системой ввода-вывода — модулем расши­рения BIOS и модулем обработки прерываний DOS. BIOS и блок расширения BIOS имеют дело в основном с непланируемыми техническими и логическими преры­ваниями, пользовательскими прикладными прерываниями, а также со многими планируемыми прерываниями, обслуживающими систему ввода-вывода, детализированными и не очень детализированными (прерывания, обслуживаемые BIOS, часто называют прерываниями нижнего уровня).

Модуль обработки прерываний DOS обслуживает в основном планируемые пре­рывания, в том числе и прерывания системы ввода-вывода. Прерывания DOS час­то называют прерываниями верхнего уровня, так как, с одной стороны, в этих пре­рываниях меньше учитываются технические особенности элементов ПК, с другой стороны, при обработке этих прерываний часто имеют место обращения к про­граммам прерываний системы BIOS. Большинство прерываний BIOS имеют близ­кие аналоги среди прерываний DOS.

Видов (номеров) прерывания может быть всего 256, и, соответственно, векторов прерывания (адресов программ обработки прерываний) в ОП может нахо­диться до 256.

Процессор при реализации прерывания выполняет определенную последовательность действий. (Слайды 14 и 15).

7