Главная страница
Навигация по странице:

  • Сектор

  • Кластер

  • вопросы. общие вопросы. Программа ипрограммирование


    Скачать 1.45 Mb.
    НазваниеПрограмма ипрограммирование
    Анкорвопросы
    Дата28.06.2022
    Размер1.45 Mb.
    Формат файлаdocx
    Имя файлаобщие вопросы .docx
    ТипПрограмма
    #619339
    страница11 из 12
    1   ...   4   5   6   7   8   9   10   11   12

    Файловая структура FAT32


    Устройства внешней памяти в системе FAT32 имеют не байтовую, а блочную адресацию. Запись информации в устройство внешней памяти осуществляется блоками или секторами.
     
    Сектор – минимальная адресуемая единица хранения информации на внешних запоминающих устройствах. Как правило, размер сектора фиксирован и составляет 512 байт. Для увеличения адресного пространства устройств внешней памяти сектора объединяют в группы, называемые кластерами.
     
    Кластер – объединение нескольких секторов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. Основным свойством кластера является его размер, измеряемый в количестве секторов или количестве байт.
     

    Файловая система FAT32 имеет следующую структуру.

    Нумерация кластеров, используемых для записи файлов, ведется с 2. Как правило, кластер №2 используется корневым каталогом, а начиная с кластера №3 хранится массив данных. Сектора, используемые для хранения информации, представленной выше корневого каталога, в кластеры не объединяются.
    Минимальный размер файла, занимаемый на диске, соответствует 1 кластеру.

    Загрузочный сектор начинается следующей информацией:

    • EB 58 90 – безусловный переход и сигнатура;

    • 4D 53 44 4F 53 35 2E 30 MSDOS5.0;

    • 00 02 – количество байт в секторе (обычно 512);

    • 1 байт – количество секторов в кластере;

    • 2 байта – количество резервных секторов.

    Кроме того, загрузочный сектор содержит следующую важную информацию:

    • 0x10 (1 байт) – количество таблиц FAT (обычно 2);

    • 0x20 (4 байта) – количество секторов на диске;

    • 0x2С (4 байта) – номер кластера корневого каталога;

    • 0x47 (11 байт) – метка тома;

    • 0x1FE (2 байта) – сигнатура загрузочного сектора (55 AA).

     
    Сектор информации файловой системы содержит:

    • 0x00 (4 байта) – сигнатура (52 52 61 41);

    • 0x1E4 (4 байта) – сигнатура (72 72 41 61);

    • 0x1E8 (4 байта) – количество свободных кластеров, -1 если не известно;

    • 0x1EС (4 байта) – номер последнего записанного кластера;

    • 0x1FE (2 байта) – сигнатура (55 AA).

     
    Таблица FAT содержит информацию о состоянии каждого кластера на диске. Младшие 2 байт таблицы FAT хранят F8 FF FF 0F FF FF FF FF (что соответствует состоянию кластеров 0 и 1, физически отсутствующих). Далее состояние каждого кластера содержит номер кластера, в котором продолжается текущий файл или следующую информацию:

    • 00 00 00 00 – кластер свободен;

    • FF FF FF 0F – конец текущего файла.

     
    Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

    • 8 байт – имя файла;

    • 3 байта – расширение файла;

     
    Корневой каталог содержит набор 32-битных записей информации о каждом файле, содержащих следующую информацию:

    • 8 байт – имя файла;

    • 3 байта – расширение файла;

    • 1 байт – атрибут файла:


    • 1 байт – зарезервирован;

    • 1 байт – время создания (миллисекунды) (число от 0 до 199);

    • 2 байта – время создания (с точностью до 2с):


    • 2 байта – дата создания:


    • 2 байта – дата последнего доступа;

    • 2 байта – старшие 2 байта начального кластера;

    • 2 байта – время последней модификации;

    • 2 байта – дата последней модификации;

    • 2 байта – младшие 2 байта начального кластера;

    • 4 байта – размер файла (в байтах).

     
    В случае работы с длинными именами файлов (включая русские имена) кодировка имени файла производится в системе кодировки UTF-16. При этого для кодирования каждого символа отводится 2 байта. При этом имя файла записывается в виде следующей структуры:

    • 1 байт последовательности;

    • 10 байт содержат младшие 5 символов имени файла;

    • 1 байт атрибут;

    • 1 байт резервный;

    • 1 байт – контрольная сумма имени DOS;

    • 12 байт содержат младшие 3 символа имени файла;

    • 2 байта – номер первого кластера;

    • остальные символы длинного имени.

    Далее следует запись, включающая имя файла в формате 8.3 в обычном формате.
      1. 1   ...   4   5   6   7   8   9   10   11   12


    написать администратору сайта