Конспект лекций для студентов специальности 5В070200 Автоматизация и управление Алматы 2015



Pdf көрінісі
бет8/33
Дата13.03.2023
өлшемі0,92 Mb.
#73886
түріКонспект
1   ...   4   5   6   7   8   9   10   11   ...   33
 
Лекция №4. Прерывания 
 
Цель: ознакомиться с механизмом прерываний, используемым в 
операционных системах. 
Прерывания 
представляют 
собой 
механизм, 
позволяющий 
координировать параллельное функционирование отдельных устройств 
вычислительной системы и реагировать на особые состояния, возникающие 
при работе процессора, т.е. – это принудительная передача управления от 
выполняемой программы к системе (а через нее – к соответствующей 
программе обработки прерывания), происходящая при возникновении 
определенного события.
Основная цель введения прерываний – реализация асинхронного режима 
функционирования и распараллеливание работы отдельных устройств 
вычислительного комплекса.
Механизм 
прерываний 
реализуется 
аппаратно-программными 
средствами. Структуры систем прерывания (в зависимости от аппаратной 
архитектуры) могут быть самыми разными, но имеют одну общую 
особенность – прерывание непременно влечет за собой изменение порядка 
выполнения команд процессором. 


15 
Механизм обработки прерываний независимо от архитектуры 
вычислительной 
системы 
подразумевает 
выполнение 
некоторой 
последовательности действий: 
- шаг 1: установление факта прерывания (прием сигнала запроса на 
прерывание) и идентификация прерывания; 
- шаг 2: запоминание состояния прерванного процесса вычислений. 
Состояние процесса выполнения программы определяется значением 
счетчика команд, содержимым регистров процессора, а также может 
содержать спецификацию режима и другую информацию; 
- шаг 3: управление аппаратно передается на подпрограмму обработки 
прерывания. В простейшем случае в счетчик команд заносится начальный 
адрес подпрограммы обработки прерываний, а в соответствующие регистры – 
информация из слова состояния;
- шаг 4: сохранение информации о прерванной программе, которую не 
удалось спасти (на шаге 2) с помощью аппаратуры; 
- шаг 5: собственно выполнение программы, связанной с обработкой 
прерывания. Эта работа может быть выполнена той же подпрограммой, на 
которую было передано управление на шаге 3, но в ОС достаточно часто она 
реализуется путем последующего вызова соответствующей подпрограммы; 
- шаг 6: восстановление информации, относящейся к прерванному 
процессу (этап, обратный шагу 4); 
- шаг 7: возврат в прерванную программу.
Шаги 1-3 реализуются аппаратно, шаги 4-7 – программно. 
На рисунке 4.1 показано, что при возникновении запроса на прерывание 
естественный ход вычислений нарушается и управление передается на 
программу обработки возникшего прерывания. При этом средствами 
аппаратуры сохраняется (с помощью механизмов стековой памяти) адрес той 
команды, с которой следует продолжить выполнение прерванной программы. 
После выполнения программы обработки прерывания управление 
возвращается на прерванную ранее программу посредством занесения в 
указатель команд сохраненного адреса команды, которую нужно было бы 
выполнить, если бы не возникло прерывание. Однако такая схема 
используется только в самых простых программных средах. В 
мультипрограммных ОС обработка прерываний происходит по более 
сложным схемам. 
Главные функции механизма прерываний
1) распознавание или классификация прерываний; 
2) передача управления соответствующему обработчику прерываний; 
3) корректное возвращение к прерванной программе. 
Переход от прерываемой программы к обработчику и обратно должен 
выполняться как можно быстрей. Одним из самых простых и быстрых 
методов является использование таблицы, содержащей перечень всех 
допустимых прерываний и адреса соответствующих обработчиков. Для 
корректного возвращения к прерванной программе перед передачей 


16 
управления обработчику прерываний содержимое регистров процессора 
запоминается либо в памяти с прямым доступом, либо в системном стеке 
(system stack). 
Рисунок 4.1 - Обработка прерывания 
Прерывания, возникающие при работе вычислительной системы, можно 

Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   ...   33




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет