Книга предназначена для программистов, работающих с аппаратурой компьютера на «низком уровне». В ней рассматриваются различные способы работы с дисководами на аппаратном уровне и уровне BIOS, а также структура данных на носителях информации. При изложении материала предполагается, что читатель уже знаком с особенностями архитектуры AT-совместимых компьютеров и основными правилами программирования на языке ассемблера процессоров серии Intel x86. Примеры программ, широко представленные в книге, имеют простую линейную структуру, наглядно демонстрирующую порядок выполнения операций. Книга ориентирована в первую очередь на программистов, но может также использоваться студентами при изучении внутренней архитектуры персонального компьютера.
Название: Программирование дисковых подсистем Автор: Кулаков В. Издательство: Питер Год: 2002 Страниц: 762 Формат: DJVU Размер: 14,8 МБ ISBN: 5-318-00623-Х Качество: Отличное Серия или Выпуск: Анатомия ПК
Содержание:
Введение От издательства Часть I. Конструкция дисководов и физические форматы данных на носителях 1. Конструктивные особенности дисководов 1.1. Дисководы для гибких дисков 1.2. Жесткие диски 1.3. Дисководы для сменных магнитных дисков большой емкости 1.4. Лазерные дисководы 1.4.1. Конструкция лазерных дисководов 1.4.2. Существующие виды компакт-дисков 1.4.3. Виды дисководов, предназначенных для работы с компакт-дисками 1.4.4. Разновидности дисков DVD 1.4.5. Разновидности DVD-дисководов 1.5. Магнитооптические дисководы 1.6. Управление энергопотреблением дисководов 2. Физические форматы данных на носителях информации 2.1. Формат дорожки и формат сектора гибкого диска 2.2. Форматы дорожки и секторы жесткого диска 2.3. Структура данных на компакт-дисках 2.3.1. Физическая организация данных на диске 2.3.2. Физическая адресация данных 2.3.3. Форматы данных Q-субканала 2.3.4. Форматы блоков основного канала 2.3.5. Структура носителей CD-R и CD-RW 2.3.6. Логическая адресация данных на компакт-дисках 2.4. Структура данных на дисках DVD 2.4.1. Основные особенности DVD-дисков 2.4.2. Структура дорожек Часть II. Средства поддержки дисковых операций в BIOS 3. Улучшенный дисковый сервис BIOS 3.1. «Классические» и дополнительные функции BIOS 3.2. Преодоление барьера в 528 Мбайт 3.3. Таблицы параметров диска 3.4. Дополнительные дисковые функции 3.4.1. Пакет дискового адреса 3.4.2. Правила передачи параметров дополнительным функциям 3.4.3. Подгруппы функций 3.4.4. Описание дополнительных функций 3.4.5. Вспомогательные процедуры ввода-вывода 3.4.6. Пример использования дополнительных функций BIOS 3.4.7. Порядок нумерации устройств 3.5. Функции для управления загрузкой операционной системы с CD-ROM 4. Функции PCI BIOS 4.1. Конфигурационное пространство устройства PCI 4.2. Функции PCI BIOS 4.3. Поиск контроллера IDE на шине PCI по коду класса 5. Функции BIOS, предназначенные для работы с таймерами 5.1. Функции, предназначенные для считывания и установки времени 5.2. Пользовательские обработчики прерываний таймеров Часть III. Компоненты системной платы, используемые при работе с дисководами 6. Контроллер прерываний 6.1. Контроллер прерываний шины ISA 6.2. Особенности работы с прерываниями по шине PCI 7. Контроллер прямого доступа к памяти 7.1. Контроллер DMA шины ISA 7.1.1. Структура и функции контроллера DMA 7.1.2. Регистры контроллера DMA 7.1.3. Особенности различных режимов работы контроллера DMA 7.1.4. Порядок обслуживания запросов 7.1.5. Адресация оперативной памяти контроллером DMA 7.1.6. Распределение каналов DMA 7.1.7. Порядок инициализации канала DMA 7.2. Особенности реализации режима DMA на шине PCI 7.2.1. Регистры контроллера PCI IDE 7.2.2. Программирование контроллера PCI IDE 8 CMOS-память и часы реального времени RTC 8.1. Адресация регистров CMOS 8.2. Регистры часов CMOS 8.3. Регистры BIOS SETUP 9 Системный таймер 9.1. Реализация системного таймера в АТ-совместимых компьютерах 9.2. Особенности функционирования программируемого таймера 18254 9.3. Способы использования системного таймера Часть IV. Интерфейсы и контроллеры дисководов 10 Контроллер накопителей на гибких магнитных дисках (FDC) 10.1. Схема взаимодействия FDC с другими контроллерами 10.2. Регистры FDC 10.3. Набор команд FDC 10.3.1. Общепринятые сокращения 10.3.2. Команды передачи данных 10.3.3. Команда форматирования 10.3.4. Команды управления 10.3.5. «Нестандартные» команды 10.3.6. Реакция контроллера на некорректный код команды 10.4. Программирование контроллера FDC 10.4.1. Процедуры посылки и приема байтов 10.4.2. Инициализация параметров контроллера 10.4.3. Рекалибровка и поиск 10.4.4. Операции чтения и записи данных 10.4.5. Форматирование 10.4.6. Верификация 11 Интерфейс ATA/ATAPI 11.1. Основные особенности интерфейса ATA 11.2. Регистры контроллера дисковода 11.3. Набор команд интерфейса ATA/ATAPI 11.4. Режимы и протоколы передачи информации 12 Структуры данных и команды интерфейса SCSI, которые поддерживаются устройствами ATAPI 12.1. Основные особенности интерфейса SCSI 12.2. Проблемы, возникающие при работе с хост-адаптерами на аппаратном уровне 12.3. Дескрипторы команд 12.3.1. Типовые блоки дескрипторов команд SCSI 12.3.2. Особенности дескрипторов пакетных команд ATAPI 12.4. Свойства логических устройств 12.5. Профили логических устройств 12.6. Страницы режимов 12.7. Набор команд для работы с дисководами CD и DVD 12.8. Примеры программ, использующих пакетные команды 13 Файловая система FAT фирмы Microsoft 13.1. Особенности использования режимов адресации LBA и CHS в системе FAT 13.2. Размещение информации на логических дисках 13.3. Назначение и внутренняя организация таблиц размещения файлов 13.4. Каталоги файлов 13.5. Организация данных на жестких дисках 14 Файловая система ISO 9660 14.1. Общие требования к организации данных на лазерных дисках 14.1.1. Организация данных на лазерном диске 14.1.2. Организация данных в пространстве тома 14.1.3. Организация области данных 14.1.4. Структура экстента 14.1.5. Структура файла 14.1.6. Набор томов 14.1.7. Дескрипторы томов 14.1.8. Структура каталога 14.1.9. Таблицы путей 14.1.10. Структура записей 14.2. Структура полей дескрипторов 14.2.1. Форматы числовых полей 14.2.2. Кодовые наборы символов 14.2.3. Идентификатор файла 14.2.4. Идентификатор каталога 14.3. Дескрипторы тома 14.3.1. Обобщенный формат дескриптора тома 14.3.2. Загрузочная запись 14.3.3. Терминатор набора дескрипторов томов 14.3.4. Основной дескриптор тома 14.3.5. Дополнительный и улучшенный дескрипторы тома 14.3.6. Дескриптор раздела тома 14.4. Дескрипторы файлов и каталогов 14.4.1. Формат записи каталога 14.4.2. Порядок записей в каталоге 14.4.3. Формат записи таблицы путей 14.4.4. Формат расширенной записи атрибутов 14.5. Уровни обмена 14.6. Пример работы со структурами данных ISO 9660 15 Файловая система UDF 15.1. Структуры данных общего назначения 15.2. Структуры данных тома 15.3. Структуры данных файловой системы 15.4. Расширенное описание атрибутов файла 15.5. Упрощенный метод доступа к данным при считывании информации Список литературы Алфавитный указатель