Слайд 1Файловые системы
Файловые системы фирмы Microsoft
Слайд 2Файловые системы
Файловая система FAT16
Слайд 3История FAT16
Файловая система FAT (File Allocation Table) была разработана Биллом
Гейтсом и Марком МакДональдом в 1977 году и первоначально использовалась
в операционной системе 86-DOS. Чтобы добиться переносимости программ из операционной системы CP/M в 86-DOS, в ней были сохранены ранее принятые ограничения на имена файлов.
В дальнейшем 86-DOS была приобретена Microsoft и стала основой для ОС MS-DOS 1.0, выпущенной в августе 1981 года.
FAT была вначале предназначена для работы с гибкими дисками размером менее 1 Мбайт и не предусматривала поддержки жестких дисков.
Слайд 4Структура FAT16
Первый сектор жёсткого диска (сектор 1, дорожка 0) содержит
так называемую главную загрузочную запись (Master Boot Record = MBR),
которая загружается в память под управлением BIOS и выполняется.
В конце первого сектора HDD находится таблица разделов диска (Partition table). Эта таблица содержит до четырёх элементов, описывающих разделы диска.
Разделы могут трех типов: первичными (1), расширенными (1), не-DOS разделами (2-3). Основной раздел может содержать код загрузки операционной системы. Расширенный раздел может быть дополнительно разбит на подразделы. Каждому разделу и подразделу операционная система ставит в соответствие логический диск и назначает свое имя (C:, D:, E: и т.д.)
Слайд 5Таблица разделов логического диска
Стартовый сектор
Системный логический диск
Логический диск
Логический диск
…
Первичный раздел
DOS
Расширенный раздел DOS
Раздел не-DOS
Слайд 6Структура логического диска FAT
Загрузочная запись (первый сектор диска) –
служит для загрузки ОС и организация хранения данных.
FAT (File Allocation
Table) – таблица размещения файлов.
Корневой каталог – для FAT16 512 записей о файлах и каталогах, расположенных в корне файловой системы.
Слайд 7Элемент каталога FAT16
Размер элемента каталога – 32 байта
Слайд 9Функции FAT
Хранение информации о размещении файлов на диске
Хранение информации о
свободном месте на диске
Хранение информации о сбойных кластерах на диске
Слайд 10Организация данных в FAT
FAT представляет собой таблицу, связывающую кластеры дискового
пространства с файлами. В этой базе для каждого кластера предусматривается
только один элемент.
Первые два элемента содержат информацию о самой системе FAT. Третий и последующие элементы ставятся в соответствие кластерам дискового пространства, начиная с первого кластера, отведенного для файлов.
Элементы FAT могут содержать несколько специальных значений, указывающих, что
кластер свободен, т.е. не использован ни одним файлом (для FAT16 это значение составляет 0000H);
кластер содержит один или несколько секторов с физическими дефектами и не должен использоваться (дл FAT16 это значение составляет FFF7H);
данный кластер - последний кластер файла (дл FAT16 это значение составляет FFF8 - FFFFH).
Для любого используемого файлом, но не последнего кластера элемент FAT содержит номер следующего кластера, занятого файлом, из-за этого FAT называют файловой системой со связанным списком индексов.
Слайд 11Логическая организация данных
На слайде представлена схема работы и организации
FAT, а также фрагментация, когда части файла разбросаны по всему
диску.
Слайд 12Фрагментация и дефрагментация
Файл, который занимает на диске более одного непрерывного
участка, называется фрагментированным.
Фрагментация диска - это появление на диске множества
свободных участков, разделенных занятыми участками.
Дефрагментация диска - это перемещение данных на разделе, после которого, кластеры содержащие части одного файла, размещаются последовательно.
Слайд 13Фрагментация и дефрагментация
Файловые системы FAT выделяют для записываемых на диск
файлов некоторое количество кластеров, в зависимости от размера файла.
В
процессе работы с диском при записи и удалении файлов разного размера на диске появятся свободные и занятые области разной длины.
Такой метод хранения файлов позволяет использовать всё имеющееся на диске свободное место, т.к. если длина записываемого файла больше, чем размеры непрерывных свободных участков, то файл просто расположится в нескольких несмежных участках.
Реально время чтения сильно фрагментированного файла по сравнению с файлом, занимающим непрерывную область на диске, может отличаться в несколько раз! Внешне это выглядит так, как будто все программы стали работать в несколько раз медленнее, при этом наблюдается интенсивное перемещение головок диска от одного участка файла к другому.
Слайд 14Размеры разделов и кластеров FAT16 для Windows 95-2000
Слайд 15Файловые системы
Файловая система VFAT
Слайд 16Файловая система VFAT
ФС Virtual FAT появилась в первой версии Win’95.
Во
второй версии Win’95 пользователям была предложена уже FAT32.
Virtual FAT поддерживала
длинные имена файлов (LFN), но была 16-разрядной.
Длинные имена (LFN) хранятся в специально отформатированных 32-байт записях, байт атрибутов у которых равен 0Fh.
Поддерживает разделы до 4 Гб.
Слайд 17Long File Names
FAT32 преодолела ограничение прежней системы наименования файлов "8.3".
В VFAT имя файла может содержать до 255 символов. К
счастью, FAT32 воспринимает файлы, которые уже существовали на диске, даже если эти файлы используются 16-битовыми приложениями, разработанными не для Windows 95. Для каждого имени файла VFAT создает псевдоним, соответствующий нотации "8.3". Например, у файла "Файл с длинным именем" будет псевдоним "файлсд~1 .doc" в FAT. Более того, VFAT тома совместимы с DOS и Windows 3.1.
Кроме того, в этой файловой системе может быть несколько расширений, разделяемых точкой. Однако тип файла определяется по последнему расширению, а остальные рассматриваются как имя файла.
Длинные имена (LFN) хранятся в специально отформатированных 32-байт записях, байт атрибутов у которых равен 0Fh. Для конкретного файла или подкаталога непосредственно перед его единственной записью каталога с его именем в формате 8.3 находится группа из одной или нескольких записей, представляющих длинное имя. Каждая такая запись содержит часть длинного имени файла не более 13 символов, и ОС составляет полное длинное имя из всех записей.
Длинные имена файлов хранятся на диске в указанном формате и размещаются в одном или нескольких 32-байт элементах каталога перед элементами каталога для коротких имен. Символы, составляющие имя файла, представлены в кодах Unicode, т. е. на каждый из них по 2 байта.
Слайд 19Пример длинного имени
"The quick brown fox."
THEQUI~1.FOX
Слайд 20Проблемы длинных имен
На первый взгляд использованный в VFAT механизм длинных
имен файлов позволяет сохранить преемственность с прикладными программами прошлого поколения
и выглядит идеальным. Однако этот метод далек от совершенства:
Требуется больше дискового пространства
Бóльшая фрагментация (на уровне каталогов)
Слайд 21Файловые системы
Файловая система FAT32
Слайд 22Файловая система FAT32
FAT32 это развитие файловой системы FAT(VFAT, FAT16).
32-разрядная адресация кластеров – максимальное число адресуемых кластеров – 4
294 377 472.
Поддержка больших разделов (более 4Gb), кроме этого уменьшен размер кластера на разделе.
Поддержка длинных имен до 255 символов, причем нет ограничений на число и размер расширения.
Корневой каталог, раньше имевший фиксированный размер и строго определенное место на диске, теперь можно свободно наращивать по мере необходимости подобно подкаталогу. Теперь не существует ограничений на число записей в корневом каталоге. Это особенно важно, поскольку под каждое длинное имя файла используется несколько записей каталога.
Имеет более высокую надежность: FAT32 способна перемещать корневой каталог, создает резервную копию загрузочного сектора и может работать с резервной копией FAT.
Слайд 23Зеркализация FAT
Исторически сложилось так, что на всех FAT-дисках существуют
2 экземпляра таблицы FAT. Ecли при чтении исходного экземпляра возникает
ошибка, файловая система пытается считать его резервную копию. На дисках с 12-и 16-разрядной FAT первая таблица FAT всегда является основной, и все изменения автоматически записываются в ее копию. Создание резервной копии второй таблицы FAT называется зеркализацией (mirroring).
В FAT32 зеркализацию второй таблицы FAT можно отключить. Тогда операции чтения/записи ускоряются, а если первая FAT оказывается поврежденной, используется ее второй экземпляр (он становится основным). На FAT32-дисках таблица FAT может достигать огромных размеров, и отключение зеркализации способно заметно ускорить доступ к файлам.
Слайд 24Структура элемента каталога
Чтобы обеспечить возможность работы с возросшим числом кластеров,
в записи каталога для каждого файла должно выделяться 4 байт
для начального кластера файла .
2 дополнительных байта (по сравнению с FAT16 и VFAT) выделяются среди зарезервированных 10 байт.
Слайд 25Сравнение FAT16 и FAT32
Самое принципиальное отличие заключается в том, что
FAT32 намного эффективнее расходует дисковое пространство. FAT32 использует дисковые кластеры
меньшего размера по сравнению с предыдущими версиями, которые ограничивались 65 535 кластерами на том (соответственно с увеличением размера диска приходилось увеличивать и размер кластеров). Следовательно, даже для дисков размером до 8 Гбайт FAT32 может использовать 4-килобайтные кластеры. В результате по сравнению с дисками FAT16 экономится в среднем 10-15% дискового пространства.
FAT32 также может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет создавать копии критических структур данных; это повышает устойчивость дисков FAT32 к нарушениям структуры FAT по сравнению с предыдущими версиями. Корневой каталог в FAT32 представлен в виде обычной цепочки кластеров. Следовательно, корневой каталог может находиться в произвольном месте диска, что снимает действовавшее ранее ограничение на размер корневого каталога (512 элементов).