logo
FoxPro / Методички АСВТ / Информатика

Файловая система

Одной из функций любой операционной системы является управление файлами на дисках. Практически каждая операция с файлами, будь то создание, удаление, чтение или изменение содержимого, выполняется прикладными программами посредством операционной системы. Для манипулирования файлами ОС должна иметь информацию об именах файлов, их размере, расположении и т.д., кроме того, необходима информация о свободном месте на диске. Разумеется, эта информация должна находится на том же носителе, что и сами файлы. Способ расположения файлов на диске и структура дополнительной информации называется файловой системой. Существует много различных файловых систем. Операционные системы корпорации Microsoft используют следующие: FAT12, FAT16, FAT32, NTFS.

В файловых системах семейства FAT логический раздел делится на две области: системную и область данных. В области данных как раз и размещаются файлы. В системной области находятся корневой каталог и таблица размещения файлов (File Allocation Table – отсюда и название). Что это за таблица, и для чего она нужна? Дело в том, что в процессе работы с компьютером часто приходится удалять и создавать файлы. В результате, занятое место на диске может оказаться разделенным на несколько несвязанных фрагментов. Представьте себе такую ситуацию: было создано подряд три файла, а затем был удален тот, который был записан вторым. В результате, между первым и третьим файлом останется свободная область. Разумеется, при частом создании и удалении файлов таких свободных областей будет очень много, и они будут раскиданы по всему диску.

Чтобы максимально эффективно использовать свободное место на диске, необходимо, чтобы и файлы можно было записывать не подряд, а разбивать на несколько фрагментов, которые будут записаны в различных свободных областях. Для того, чтобы определить, где находится продолжение того или иного файла на диске, как раз и служит FAT.

Каким образом это происходит? Информация хранится на диске в виде блоков. Стандартный размер каждого блока ­– 512 байт. На жестких дисках большого объема количество блоков может быть слишком большим (разделите, скажем, 20Гб на 512 байт), поэтому даже на хранение информации о том, какой блок свободен, а какой – нет, потребуется значительный объем. Для того, чтобы уменьшить количество элементов, о которых нужно иметь информацию, блоки объединяют в кластеры. Один кластер может содержать 1, 2, 4, 8 и более блоков. Кластеры называют логическими элементами жесткого диска, в то время как блоки являются физическими элементами.

Каждый файл занимает те или иные кластеры диска, причем, эти кластеры могут быть раскиданы по всему диску. Таким образом, для каждого кластера нужно знать номер следующий. Как раз такую информацию и содержит область FAT. Таблица содержит множество записей – каждая запись соответствует одному кластеру. Запись содержит номер следующего кластера, либо одно из специальных значений, обозначающих, что этот кластер свободный, системный или дефектный.

Модификации FAT различаются размером одной записи: число в наименовании файловой системы FAT означает количество бит, выделяемых на одну запись. Разумеется, количество бит влияет на количество возможных кластеров. FAT12 может поддерживать примерно 4000, FAT16 – примерно 65000, а FAT32 – до 4 миллиардов кластеров. FAT12 сегодня используется только на дискетах, FAT16 – на небольших логических разделах, однако для больших разделов все же лучше использовать FAT32. Причем, только FAT32 поддерживает разделы более 2 Гб.

Корневой каталог, располагающийся в системной области сразу после FAT, содержит записи о файлах и каталогах. Каждая запись соответствует одному файлу или каталогу и содержит следующую информацию: имя, расширение, размер, номер первого кластера, дата и время создания, атрибуты. Атрибуты – это набор флагов (каждый из них может быть либо установлен, либо нет), которые несут некоторую дополнительную информацию. Например, только с помощью соответствующего атрибута различаются файлы и каталоги. Каталоги имеют такую же внутреннюю структуру, как и корневой каталог (т.е. содержат записи о файлах и подкаталогах), но хранятся в области данных.

Операционная система WindowsNT использует свою собственную файловую систему NTFS (NT File System). Разделы с этой файловой системой будут недоступны в Windows 9x или Windows Me.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4