
- •Введение
- •Лабораторная работа № 1. Создание программы определения характеристик центрального процессора.
- •Определение параметров процессора на аппаратном уровне.
- •Лабораторная работа № 2.
- •Конфигурация персонального компьютера
- •Cmos-память и конфигурация компьютера
- •32H Текущее столетие
- •Использование bios для определения конфигурации
- •Лабораторная работа 3. Тестирование оптических накопителей.
- •Использование I/o Control Codes.
- •Использование Windows Management Instrumentation (wmi).
- •Порты контроллера накопителей на гибких дисках
- •Порт 3f2h.
- •Порт 3f4h.
- •Команды управления накопителями
- •Перечень команд контpоллеpа нгмд
- •Структура байтов состояния
- •Формат дорожки
- •Отличия контроллера для ат-подобных пэвм
- •Порт 3f7h.
- •Лабораторная работа № 5. Диагностика контроллера накопителей на жестких дисках.
- •Контроллер жестких дисков для хт-подобных пэвм
- •Порты ввода-вывода
- •Порт 320h.
- •Порт 321h.
- •Порт 322h.
- •Порт 323h.
- •Общий формат команды и терминология
- •Описание команд Проверка готовности накопителя (класс 0, опкод 0).
- •Рекалибровать (класс 0, опкод 1).
- •Запрос состояния (класс 0, опкод 3).
- •Форматирование накопителя (класс 0, опкод 4).
- •Проверка секторов (класс 0, опкод 5).
- •Форматирование дорожки (класс 0, опкод 6).
- •Форматирование дефектной дорожки (класс 0, опкод 7).
- •Чтение секторов (класс 0, опкод 8).
- •Запись секторов (класс 0, опкод 0Ah).(*)
- •Поиск цилиндра по номеру (класс 0, опкод 0Ch).(*)
- •Чтение внутреннего озу контроллера (класс 0, опкод 0Eh).(*)
- •Запись внутреннего озу контроллера (класс 0, опкод 0Fh).(*)
- •Диагностика внутреннего озу контроллера (класс 7,опкод 0).(*)
- •Тест устройства (класс 7, опкод 3).
- •Расширенный тест контроллера (класс 0, опкод 4).
- •Считывание без контроля (класс 7, опкод 5).
- •Запись без контроля (класс 7, опкод 6).
- •Разметка диска
- •Контроллер жестких дисков для ат-подобных пэвм
- •Описание портов ввода-вывода Порт 1f0h
- •Порт 1f1h.
- •Система команд
- •Лабораторная работа №6. Программное тестирование портов для работы с клавиатурой
- •Аппаратное прерывание клавиатуры
- •Средства bios для работы с клавиатурой
- •Чтение символа с ожиданием
- •Проверка буфера на наличие в нем символов
- •Получение состояния переключающих клавиш
- •Установка временных характеристик клавиатуры
- •Запись символов в буфер клавиатуры
- •Чтение символа с ожиданием для 101-клавишной клавиатуры
- •Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
- •Получение состояния переключающих клавиш для 101-клавишной клавиатуры
- •Лабораторная работа № 7. Тестирование и контроль оперативной памяти.
- •Алгоритм определения объёма оперативной памяти.
- •Сущность тестирования памяти.
- •Алгоритм диагностирования памяти в тесте Memtest86.
- •Лабораторная работа № 8. Программирование принтера. Цель работы: изучение методов программирования принтера.
- •Средства ms-dos для работы с принтером
- •Программирование режимов принтера
- •Установка атрибутов/цветов символов.
- •Сдвиг экрана и страницы.
- •Вертикальный сдвиг текстового экрана.
- •Сдвиг текстового экрана горизонтально.
- •Переключение между текстовыми страницами.
- •Сдвиг между страницами текста.
- •Использование wmi.
- •Аналогичным образом могут использоваться свойства и других классов.
Формат дорожки
Индикатором начала дорожки служит индексное отверстие. Запись на дорожку осуществляется в несколько приемов. При форматировании дорожка перезаписывается полностью. При операциях записи перезаписываются отдельные сектора, что влечет за собой сбой намагниченности диска в месте обрыва записи, причем физическая длина сектора при его перезаписи не всегда точно совпадает с длиной ранее имевшегося на этом месте сектора, разница в длине может составлять до 4 - 5 бит даже при перезаписи на одном дисководе в одно время. Для синхронизации после сбоев на дорожке имеются зазоры и синхрозоны. В общем виде формат дорожки можно изобразить следующим образом:
┌────────────────────────────┐
│ │ Определяется индексным
│ Индекс │ отверстием
│ │
├────────────────────────────┤
│ │
│ Зазор индекса │ 80 байт 4Eh
│ │
├────────────────────────────┤
│ │ 12 байтов 00h, 3 байта 0C2h,
│ Заголовок дорожки │ 1 байт 0FCh, 50 байтов 4Eh
│ │
├────────────────────────────┤
│ │
│ 1-й сектор │ 574 байта
│ │
├────────────────────────────┤
│ │
│ Межсекторный промежуток │ 80 байт 4Eh
│ │
├────────────────────────────┤
8 или 9 секторов на дорожке
├────────────────────────────┤
│ │
│ Последний сектор │ 574 байта
│ │
├────────────────────────────┤
│ │
│ Межсекторный промежуток │ 80 байт 4Eh
│ │
├────────────────────────────┤
│ │
│ Зазор дорожки │ байты 4Eh до индексного
│ │ отверстия
├────────────────────────────┤
│ │
│ Индекс │
│ │
└────────────────────────────┘
Формат сектора:
┌────────────────────────────┐
│ │
│ Идентификатор сектора │ 22 байта
│ │
├────────────────────────────┤
│ │
│ Зазор идентификатора │ 22 байта 4Eh
│ │
├────────────────────────────┤
│ │
│ Блок данных │ 530 байт
│ │
└────────────────────────────┘
Идентификатор сектора:
┌────────────────────────────┐
│ │ 12 байтов 00, 3 байта 0A1h
│ Маркер идентификатора │ 1 байт 0FEh
│ │
├────────────────────────────┤
│ │ 6 байтов: цилиндр, головка,
│Идентификатор адреса сектора│ дорожка, код длины сектора
│ │ и 2 байта контрольной суммы
└────────────────────────────┘
Блок данных:
┌────────────────────────────┐
│ │ 12 байтов 00, 3 байта 0A1h,
│ Маркер данных │ 1 байт 0FXh (Х=8 - удаленные
│ │ данные, 0Bh - действительные
├────────────────────────────┤ данные)
│ │
│ Поле данных │ 512 байт
│ │
├────────────────────────────┤
│ │
│ Контрольная сумма поля │ 2 байта
│ данных │
└────────────────────────────┘