Математика | ||||
Лэй Р. Л 92 Разработка драйверов устройств для MS-DOS: Пер. с англ. — Рязань : Versus Ltd., 1992. — 400 с: ил. ISBN 5-85096-001-5 Книга американского автора является учебным пособием по разработке драйверов устройств в среде операционной системы MS-DOS. Подробно рассмотрен процесс построения пяти работоспособных драйверов: для консоли, принтера, системных часов и виртуального диска. Для каждого примера приводится хорошо документированные листинги программ на языке ассемблера IBM PC. , Для программистов. | ||||
Предисловие к русскому изданию Уважаемый читатель! Если вы интересуетесь персональными компьютерами, у вас, очевидно, подобралась целая библиотечка книг по этому вопросу, как зарубежных, так и отечественных авторов. Эта книга качественно отличается от большинства других в двух отношениях. Во-первых, она посвящена мало освещенному в литературе и в то же время важнейшему вопросу разработки программных интерфейсов при подключении к персональному компьютеру новых периферийных устройств. Во-вторых, книга носит сугубо практическую направленность. Сообщив читателю общие сведения по организации драйверов устройств, автор подробно, с приведением полных ассемблерных листингов показывает несколько работоспособных примеров. В первых двух главах даются необходимые сведения об операционной системе MS (PC) -DOS и особенностях ее взаимодействия с периферийным оборудованием. Подробно описано, каким образом запрос прикладной программы на операции ввода-вывода доходит до нужного периферийного устройства. В последующих главах по принципу "от простого к сложному" рассматриваются пять законченных и работоспособных драйверов устройств. Подробно излагается процесс их разработки — от скелета программы до хорошо документированного ассемблерного листинга. Показаны также практические действия по превращению исходного тестового файла в работоспособный СОМ-файл. Гл. 9 содержит описание гипотетического многофункционального драйвера устройства, в который включены все команды драйверов . DOS. Материал этой главы может служить справочным пособием по практическим разработкам. В гл. 10 собраны практические приемы и способы, облегчающие разработку и отладку драйверов устройств. В приложения вынесена необходимая справочная информация. Надеюсь, что вы при чтении и изучении материала этой книги получите такое же удовольствие, какое я испытал при переводе этой великолепной книги. Предисловие Данная книга служит руководством по разработке специализированных драйверов устройств для среды MS-DOS. Вначале даются работоспособные примеры, драйверов устройств, начиная с очень простых и переходя к более сложным. Две последних главы содержат много полезных сведений по разработке и отладке драйверов. Первый персональный компьютер с MS-DOS я приобрел в 1982 г. В то время было мало информации о принципах работы BIOS и DOS, а также по управлению периферийными устройствами. Мои программы не всегда работали на других компьютерах с MS-DOS, поэтому я стал искать такие приемы разработки программ, которые позволили бы им работать на любом компьютере с MS (PC)-DOS. Оказалось, что наиболее гибкое решение связано с применением драйверов устройств, которые позволяют вынести из программы машинно-зависимые средства и реализовать их в DOS в форме устанавливаемого (инсталлируемого) драйвера устройства. Такие относительно простые драйверы можно приспособить к любой машине, а большие прикладные программы написать в стандартной форме для всех компьютеров с MS (PC)-DOS. Автор будет признателен всем читателям, которые выскажут свои замечания об этой книге. Если вы не желаете сами набирать примеры с листингов, можно заказать диск со всеми приведенными здесь программами, послав мне запрос и чек на десять долларов. Оглавление \ji ла Предисловие к русскому изданию 3 Предисловие 4 Глава-1. Введение 1.1. Что дает .эта книга 6 1.2. Кому предназначена книга 7 1.3. Что требуется для работы 7 1.4. Для чего написала книга 8 1.5. Соглашения, принятые в книге 9 1.6. Как пользоваться книгой 9 1.7. Обзор глав 9 Заключение 10 Вопросы Ю Глава 2. Общие принципы 2.1. Устройство персонального компьютера 11 2.2. Программное управление устройствами 16 2.3. Введение в DOS 24 2.4. Обслуживания DOS 28 2.5. Управление устройствами в DOS 33 2.6. Драйвер устройства DOS 35 2.7. Взаимодействие DOS с драйвером 40 2.8. Блоковые и символьные устройства 46 2.9. Команды драйвера устройства 47 2.10 Путь запроса от программы к устройству 52 2.11 Основные этапы разработки драйверов устройств 55 Заключение 57 Вопросы 58 Глава 3. Простой драйвер устройства 3.1. Как выглядит драйвер 'ч устройства \. 59 3.2. Обзор секций Простого Драйвера 59 3.3. Инструкции ассемблеру 62 3.4. Основная процедура 64 3.5. Заголовок устройства для DOS 65 3.6. Рабочее пространство для драйвера устройства 67 3.7. Процедура СТРАТЕГИЯ 68 3.8. Процедура ПРЕРЫВАНИЕ 70 3.9. 'Локальные процедуры 73 ЗЛО. Обработка команд DOS 74 3.11. Процедура выхода по ошибке 76 3.12. Процедура обычного выхода 77 3.13. Конец программы 78 3.14. Законченный Простой Драйвер 78 3.15. Построение Простого Драйвера 82 3.16. Использование Простого Драйвера 82 3.17. Если драйвер не работает 82 Заключние 83 Вопросы 83 [ лава 4. Драйвер консоли 4.1. Драйвер консоли 84 4.2. Разработка драйвера консоли 85 4.3, Обзор разработки драйвера консоли 90 4.4. Законченный драйвер консоли 108 4.5. Замечание о версиях DOS 116 4.6. Разработка заменяющего драйвера консоли 116 Заключение 117 Вопросы 117 Глава 5. Драйвер принтера 5.1. Типы принтеров 118 5.2. Управление вводом-выводом и вызовы IOCTL 119 5.3. Программа IOCTL 122 5.4. Построение и использование программы IOCTL 122 5.5. Обслуживания BIOS для адаптеров принтера 127 5.6. Организация драйвера принтера 129 5.7. Построение драйвера принтера 146 5.8. Использование драйвера принтера 157 Заключение 158 Вопросы 158 Глава 6. Драйвер часов 6.1. Микросхема часов/календаря 159 6.2. Функции драйвера часов i 6.3. Обзор часов и сигналов синхронизации 1 6.4. Программирование микросхемы ММ58167А 1 6.5. Как найти часы? 1 6.6. Резидентные программы 1 6.7. Использование прерываний от таймера для индикации времени 6.8. Изучение драйвера часов 6.9. Построение драйвера часов 6.10. Драйвер часов в действии Заключение Вопросы Глава 7. Введение в диски 7.1. Физическая организация дисков 7.2. Организация данных в дисковых накопителях 7.3. Технические детали поддержки дисков 7.4. Загрузка, FAT и кластеры 7.5. Каталог файлов 7.6. Размер диска 7.7. Критические параметры дисков 7.8. Драйверы дисков DOS 7.9. Команды драйвера диска Заключение Вопросы Глава 8. Драйвер ЗУПВ-диска 8.1. Использование драйвера ЗУПВ-диска 8.2. Принцип действия ЗУПВ-диска 8.3. Драйвер ЗУПВ-диска 8.4. Команды драйвера ЗУПВ-диска 8.5. Листинг программы драйверг ЗУПВ-диска 8.6. Законченный драйвер ЗУПВ-диска 8.7. Построение драйвера ЗУПВ-диска 8.8. Модификация драйвера ЗУПВ-диска Заключение 279 Вопросы 279 Глава 9. Разработка законченного полнофункционального драйвера устройства 9.1. Необходимые средства 280 9.2. Совершенный редактор 9.3. Обзор драйвера устройства Заключение Вопросы ' Глава 10. Техника программирования и отладки драйверов устройств 10.1. Контрольный список для разработки драйверов 10.2. Отладка драйверов устройств 334 10.3. Прототипы драйверов устройств - 335 J 10.4. Где находится драйвер I устройства? 349 '?• с 10.5. Добавление отладочных 1 процедур 349 > 281 285 329 329 330 3 1 10.6. Новый стек ____ ___ 356 10.7. Специальный бит 357 10.8. Несовместимость компьютеров . 358. 12 10.9. Различия DOS 359 15 10.10. Различия версий DOS Заключение 11 Вопросы 359 363 363 Приложение А. Обзор архитектуры микропроцессоров 8086/8088 364 44 Приложение В. Прерывания BIOS 373 '47 ' Приложение С. , „ Инициализация DOS 385 Приложение D. 266 Особенности жесткого диска 387 278 Приложение Е. Ответы на вопросы 391 Цена: 150руб. |
||||