Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основная концепция прерывания

ОБРАБОТКА ПРЕРЫВАНИЙ

 

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

 

 

Последовательность событий, происходящих в ответ на прерывание такова:

Например, нажатие клавиши на клавиатуре.

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

Принцип действия клавиатуры заключается в следующем:

1 При нажатии на клавишу специальная микросхема,встроенная в клавиатуру,выдает скэн-код(вообще генерируется 2 байта- код ASCII и соответствующий скэн-код).

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

3 Порт клавиатуры выдает процессору прерывание с определенным номером (int 9h-interrupt). Это аппаратное прерывание. Его назначение - воспринять определенное количество клавишных действий и запомнить их в буфере.

 

Совместное действие прерываний 9h и 16h

 

Буфер воспринимает клавишные действия даже тогда, когда программа занята обработкой другой информации.

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

5 Далее процессор приступает к выполнению программы, обслуживающей данное прерывание. Простейшие программы обработки прерываний зашиты в ПЗУ, но пользователь может подставит вместо них свои программы обработки.Для этого надо изменить данные в векторе прерывания.

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

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

 

8 Процессор прекращает обработку прерываний и возвращается к отложенной задаче.

9 Введенный символ хранится в буфере клавиатуры до тех пор, пока его не заберет оттуда программа, для которой он предназначался, например, текстовый процессор.

Для передачи символа из буфера в вашу программу требуется обслуживание программы-прерывания с номером INT16h, которая считывает символы из буфера.

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

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

За сохранность текущего состояния машины во время прерывания программы А,а также за его восстановлением, когда программа А будет продолжена,следят аппаратные и программные средства.Благодаря этому в случае прерывания НИЧТО за исключением времени не влияет на ее исполнение.

 

 

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

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

 

 

Подсистема управления памятью

 

<== предыдущая лекция | следующая лекция ==>
Понятия процесс и поток | Основная концепция виртуальной памяти
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 931; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.