┬I.2.3. Справочник дискеты ... старейшим из дошедших до нас каталогов признается список литературных произведений на шумерской глиняной плитке, относящийся к 2ООО г. до н.э. Михайлов А.Н.,Черный А.Ч.,Гиляревский Р.С. ┼Справочник─ (каталог, директория, оглавление) дискеты содержит список всех файлов, находящихся на дискете. Элементы справочника содержат всю необходимую информацию о файле, за исключением информации о размещении файла (которая хранится в Таблице Размещения Файлов). ┼Справочник располагается \/T0/1 ─┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬│ ┴ ═) в секторах 07h ╤ 0Dh, если диск ┌двухсторонний,─ ┴ ┴ ║) в секторах 05h ╤ 0Bh, если диск ┌односторонний.─ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ \/T1/1- или более подробно для ┌односторонней─ дискеты: \/T0/1 ─┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬│ ┴5 сектор┴6 сектор┴7 сектор┴8 сектор┴9 сектор┴A сектор┴B сектор┴ ┌┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┐ ┴░┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬ Справочник ("Directory") ┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬▐┴ \/T1/1- и для ┌двухсторонней─ дискеты: \/T0/1 ─┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬├┬┬┬┬┬┬┬┬│ ┴7 сектор┴8 сектор┴9 сектор┴A сектор┴B сектор┴C сектор┴D сектор┴ ┌┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┤┬┬┬┬┬┬┬┬┐ ┴░┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬ Справочник ("Directory") ┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬▐┴ \/T1/1- Каждый элемент Справочника имеет длину 32 байта. Следовательно, в 512-байтном секторе помещается ровно 16 элементов Справочника. На дис╨ кете выделено 7 секторов для Справочника, что позволяет хранить 112 элементов (7╧512/32 = 112). ┼Каждый элемент Справочника состоит из восьми полей следующего назна╨ ┼чения: \/T0/1 ┼Первое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 0-й байт┴ ▄▄▄▄▄▄▄▄▄▄ ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 1-й байт┴ ▄▄▄▄▄▄▄▄▄▄ ┴ ┴ Имя файла (8 символов) └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ ░┬┬ (если некоторый символ отсутствует,то он ... ┴ ... ┴ ┴ заменяется кодом 20h) └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 7-й байт┴ ▄▄▄▄▄▄▄▄▄▄ ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ ┼Второе поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 8-й байт┴ ▀▀▀▀▀▀▀▀▀▀ ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ Расширение имени файла 9-й байт┴ ▀▀▀▀▀▀▀▀▀▀ ┴ └ ░┬┬ (если некоторый символ отсутствует,то он └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ заменяется кодом 20h) 10-й байт┴ ▀▀▀▀▀▀▀▀▀▀ ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ ┼Третье поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ 11-й байт┴ ┼┼┼┼┼┼┼┼┼┼ ┴ ░┬┬ Байт атрибутов файла ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┼Четвертое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 12-й байт┴ :::::::::: ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 13-й байт┴ :::::::::: ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ └ ░┬┬ Зарезервированное поле ... ┴ ... ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 21-й байт┴ :::::::::: ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ ┼Пятое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 22-й байт┴ ≈≈≈≈≈≈≈≈≈≈ ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ └ ░┬┬ Время создания файла 23-й байт┴ ≈≈≈≈≈≈≈≈≈≈ ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ ┼Шестое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 24-й байт┴ ▄▄▄▄▄▄▄▄▄▄ ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ └ ░┬┬ Дата создания файла 25-й байт┴ ▄▄▄▄▄▄▄▄▄▄ ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ ┼Седьмое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 26-й байт┴ ▀▀▀▀▀▀▀▀▀▀ ┴ ┴ Ссылка на первый кластер, в котором на╨ └┬┬┬┬┬┬┬┬┬┬┬┬┘ └ ░┬┬ ходится файл (в 26-ом байте - младший 27-й байт┴ ▀▀▀▀▀▀▀▀▀▀ ┴ ┴ байт адреса, в 27-ом байте - старший ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ байт) ┼Восьмое поле ─┬┬┬┬┬┬┬┬┬┬┬┬│ │ 28-й байт┴ ********** ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 29-й байт┴ ********** ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ └░┬┬┬ Размер файла (в байтах) 30-й байт┴ ********** ┴ ┴ └┬┬┬┬┬┬┬┬┬┬┬┬┘ ┴ 31-й байт┴ ********** ┴ ┴ ░┬┬ Старший байт размера файла ┌┬┬┬┬┬┬┬┬┬┬┬┬┐ ┐ \/T1/1- Помните, что для человека звук его имени самый сладкий и самый важный звук в че╨ ловеческой речи. Д.Карнеги ┼Имя файла─. Это поле имеет длину 8 байт и содержит имя файла. Если длина имени меньше восьми символов, то недостающие символы заменяются символом "Пробел" (код 20h). Если ┌первый байт имени файла─ содержит число E5h, то это означает, что файл, которому соответствует этот элемент Справочника, уже уничто╨ жен, т.е. после уничтожения файла первый символ имени файла заменяется шестнадцатеричным кодом E5. ┌Вся информация в элементе каталога, за ис─╨ ┌ключением первого символа имени, сохраняется. ┼Расширение─. Это поле имеет длину три байта. Оно содержит расширение имени файла. Как и в случае с самим именем, короткое расширение допол╨ няется символами "Пробел". Если файл не имеет расширения, то это поле содержит три символа "Пробел". ┼Атрибут─. Это поле состоит из ┌одного─ байта. Поле атрибута в основном используется для установления признака "скрытого" файла, т.е. такого файла, имя которого не обнаруживается обычными программами работы со Справочниками. В операционной системе MSX-DOS биты байта атрибутов несут следующую нагрузку: \/T0/1 ─┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬│ ┴ ┴ ┴ 7 6 5 4 3 2 1 0 ┴ ┴ ┴ ┴ Старший бит ┬┬▐ O O O O O O O O ░┬┬ Младший бит ┴ ┴ ▌ ▌ ▌ ▌ ▌ ▌ ▌ ▌ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┴ ┴ Бит защиты от чтения ┐ ┴ ┴ ┴ ┴ ┴ ┴ ┌ Резервированный бит ┴ ┴ Резервированный бит ┬┬┐ ┴ ┴ ┴ ┴ ┌┬ "Скрытый" файл, защищен от ко╨ ┴ ┴ ┴ ┴ ┴ ┴ манды просмотра каталога ┴ ┴ Архивный файл ┬┬┐ ┴ ┴ ┌┬┬ Системный файл с особым доступом ┴ ┴ Подкаталог ┬┬┬┐ ┌┬┬┬ Метка тома ┴ ┴ ┴ ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ \/T1/1- └Бит 0─ в системе MSX-DOS зарезервирован. └Биты 1-й и 2-й─ служат для индикации атрибутов "скрытого" и "систем╨ ного" файла. ┌Первый─ бит байта атрибутов, установленный в 1, определяет "скрытый" файл, а ┌второй─ бит, установленный в 1, ┬ системный файл. Таким образом, "видимый" файл будет иметь нулевой байт атрибута (00000000), для "скрытого" файла байт атрибута содержит значение 2 (00000010), для системного файла байт атрибута содержит значение 4 (00000100), а для "скрытого" системного файла байт атрибута содержит значение 6 (00000110). Хотя обработка системного атрибута осуществляется независимо от скрытого, оба этих атрибута практически совпадают по своему функци╨ ональному назначению. При использовании любого из них файл становится "невидимым". Если └бит 1─ или └бит 2─ равен 1, то файл исчезает из каталога. Его нельзя ни стереть, ни прочитать, т.к. при всяком обращении к нему опе╨ рационная система сообщает: "File not found" . └Бит 3─ (содержимое байта атрибутов: 00001000) указывает, что элемент Справочника содержит метку тома. Сама метка хранится в полях имени фай╨ ла и расширения, которые воспринимаются в этом случае как одно целое. Если бит 3 равен 1, то файл исчезает из каталога. Его нельзя ни стереть, ни прочитать, т.к. при всяком обращении к нему говорится: "File not found" В операционной системе MS-DOS └бит 4─ (содержимое байта атрибутов: 00010000) используется для указания элементов Справочника, соответству╨ ющих Справочникам нижнего уровня. Поскольку Справочники нижнего уровня хранятся на диске подобно обычным файлам данных, им необходим собствен╨ ный элемент в корневом Справочнике. В этом элементе используются все поля,кроме размера файла, в данном случае равного нулю. Действительный размер файла Справочника нижнего уровня легко определяется из соот╨ ветствующей последовательности в Таблице Размещения Файлов. В операционной системе MSX-DOS равенство бита 4 единице приводит к тому, что при просмотре каталога командой DIR, Вы увидите на экране слово