Реферат: Резидентный обработчик клавиатуры (перехват нажатий клавиш и запись в файл)
Министерство образования Украины
Одесская государственная академия холода
Институт информационных технологий
Кафедра «Информационных систем»
Разработка резидентного обработчика прерываний от клавиатуры
Курсовой проект по дисциплине
«Системы программирования и операционные системы»
Руководитель Ненов А. Д. Исполнитель
Ст. гр. 333А Лазанюк А. С.
Зач. книжка № 983214
Защищён с оценкой _____________________
(личная подпись)
_______________
г. Одесса 2000 г.
Содержание:
1. Задание……………………………………………………………………………………………….2
2. Краткие теоретические сведенья
2.1. Резидентный обработчик прерываний………………………………………………………...3
2.2. Защита резидентной программы от повторной установки…………………………………..5
2.3. Выгрузка резидентной программы из памяти………………………………………………...8
2.4. Перехват прерываний…………………………………………………………………………11
2.5. Обработчик прерываний………………………………………………………………………12
2.6. Прерывания от внешних устройств…………………………………………………………..12
2.7. Резидентный обработчик прерываний от клавиатуры с подключением до системного обработчика…………………………………………………………………………………….14
3. Описание программы
3.1. Описание для пользователя…………………………………………………………………...19
3.2. Описание для программиста………………………………………………………………….20
3.3. Листинг программы………………………………………………………………………..….24
3.4. Рекомендации по улучшению………………………………………………………………...32
4. Список используемой литературы…………………………………………………………..….33
1. Задание
Разработка резидентного обработчика прерываний от клавиатуры с подключением до системного. Данный обработчик должен производить запись скэн-кодов всех нажимаемых клавиш, а также фиксировать байт флагов клавиатуры при каждом нажатии. Обработчик должен иметь механизм выгрузки из оперативной памяти встроенный в него самого. Также программа должна иметь защиту от повторной установки в оперативную память.
2. Краткие теоретические сведенья
2.1. Резидентный обработчик прерываний
Большой класс программ, обеспечивающих функционирование вычислительной системы (драйверы устройств, программы шифрации и защиты данных, русификаторы, обслуживающие программы типа электронных блокнотов или калькуляторов и др.), должны постоянно находиться в памяти и быстро реагировать на запросы пользователя или на какие-то события, происходящие в вычислительной системе. Такие программы носят названия программ, резидентных в памяти (Terminate and Stay Resident, TSR), или просто резидентных программ. Сделать резидентной можно как программу типа СОМ, так и программу типа
ЕХЕ, однако ввиду того, что резидентная программа должна быть максимально компактной, чаще всего в качестве резидентных используют программы типа СОМ.
Рассмотрим типичную структуру резидентной программы и системные средства оставления ее в памяти после инициализации (рис. 2.1).
text segment 'code'
assume CS:text,DS : text
org 100h main proc
jmp init ;Переход на секцию инициализации
; Данные резидентной секции программы
. . .
--> ЧИТАТЬ ПОЛНОСТЬЮ <--