Операционная система MS-DOS — страница 2

  • Просмотров 5842
  • Скачиваний 439
  • Размер файла 27
    Кб

структура SREGS, определенная следующим образом: struct SREGS { unsigned int es; unsigned int cs; unsigned int ss, unsigned int ds; }; Для использования перечисленных выше структур программа должна одержать следующую строку: #include <dos.h> Поле вызова программного прерывания программа должна проверить флаг переноса, который сохраняется в поле cflag. Проверка поля cflag может быть выполнена, например, следующим образом: union REGS inregs, outregs; ..... intdos(&inregs,&outregs); if(outregs.x.cflags != 0)

error(); ...... Код ошибки при этом записывается в переменную outregs.x.ax. Лабораторная работа № 1 Исследование логической структуры диска в MS-DOS Цель работы Изучение логической структуры диска ОС MS-DOS Общие положения Диски ОС MS-DOS организованы по довольно жесткой схеме. Каждый диск включает в себя помимо области файлов еще несколько управляющих областей фиксированного размера. Первый сектор логического диска (сектор 1, дорожка 0, головка 0)

содержит загрузочную запись - программу начальной загрузки ОС. Кроме программы начальной загрузки в загрузочной записи находятся параметры, описывающие характеристики данного логического диска. Эти параметры располагаются в самом начале сектора. Формат загрузочной записи Смещение байт Размер байт Содержание 0 3 Команда JMP xxxxx - ближний переход на программу начальной загрузки 3 8 Название фирмы-изготовителя ОС и версия. 11 25

Расширенный блок параметров BIOS 36 1 Физический номер устройства (0 - НГМД, 80h - НМД) 37 1 Зарезервировано 38 1 Символ «(« - признак расширенной загрузочной записи 39 4 Серийный номер диска , создается во время форматирования 43 11 Метка диска 54 8 Содержит запись ‘FAT12 ‘ или ‘FAT16 ‘, которая идентифицирует формат таблицы размещения файлов (FAT) Со смещением 11 располагается расширенный блок параметров BIOS. Этот блок содержит некоторые

характеристики логического диска. Смещение байт Размер байт Имя поля Описание 0 2 set_siz Количество байт в одном секторе диска 2 1 clustsiz Количество секторов в одном кластере 3 2 res_sect Количество зарезервированных секторов 5 1 fat_cnt Количество FAT 6 2 root_siz Максимальное количество дескрипторов файлов в корневом каталоге диска 8 2 tot_sect Общее количество секторов на носителе данных 10 1 media Байт-описатель среды носителя данных 11 2 fat_size Количество

секторов, занимаемых одной копией FAT 13 2 sectors Количество секторов на дорожке 15 2 heads Количество магнитных головок 17 2 hidden_1 Количество скрытых секторов, для носителя размером < 32 Мб 19 2 hidden_2 Количество скрытых секторов, для носителя размером > 32 Мб 21 4 tot_sect Общее количество секторов на логическом диске, превышающим по размеру 32 Мб Байт описания среды - media может служит для идентификации носителя данных, например, он содержит значение