Файловая система – это набор соглашений, определяющих организацию данных на носителей информации. Наличие этих соглашений позволяет операционной системе и другим программам работать с файлами и каталогами, а не просто с участками дисков (секторами и дорожками).
Файловая система определяет:
1) как хранятся файлы и каталоги на дисках;
2) какие сведения хранятся о файлах и каталогах;
3) как можно узнать, какие участки диска, а какие нет;
4) формат каталогов и другой служебной информации на диске.
Для использования дисков, записанных (размеченных) с помощью некоторой файловой системы операционная система или специальная программа должна поддерживать эту файловую систему.
Файлы на диске размещаются по пронумерованным кластерам. Поскольку файл помещается в свободный ближайший кластер, то возможно, что не всегда файл окажется в смежных кластерах. Файл, размещённый в несмежных кластерах, называется фрагментированным.
Первый кластер
2
*1
FFF
Для того чтобы иметь возможность работать со всем файлом ОС должна иметь сведения обо всех кластерах, где хранится файл. Эти сведения хранятся в FAT- таблице.
FAT- таблица (File Allocations Table- таблица размещения файлов) хранится на диске сразу за блоком начальной загрузки. Ввиду особой важности этой таблицы она имеет дубль. Количество ячеек в ней равно числу кластеров на диске, причём каждая ячейка содержит номер кластера.
В характеристике файла, хранящейся в главном каталоге, содержится номер первого кластера файла. В свою очередь в этой ячейке хранится номер второго кластера и т.д. Образуется цепочка кластеров, которая заканчивается кодом FFF или FFFF в последней ячейке, отведённой файлу. Этот код указывает на конец файла.
Существуют следующие файловые системы:
FAT-16
FAT-32 (VFAT)
NTFS
HPFS
CDFS
Впервые эта файловая система появилась в 80-х годах XX в. Она была разработана для DOS. Была создана для хранения данных на дискетах.
Основа – таблица размещения файлов. Эта таблица содержит информацию о том, какие участки (кластеры) диска свободны и о цепочках кластеров, образующих файлы и каталоги. В файловой системе FAT имена файлов и каталогов состоят не более чем из 8 символов плюс 3 символа в расширении. Каталоги представляют собой линейные списки элементов, каждый из которых может описывать файл или подкаталог, либо соответствовать удаленному файлу.
В элементе каталога содержится номер первого кластера, а номера остальных кластеров узнаются по таблице размещения файлов.
Недостатки FAT:
1) короткие имена файлов;
2) значительные потери дискового пространства (в среднем до 15%). Это связано с тем, что в конце последнего кластера файла остается свободное место в среднем равное половине кластера;
3) FAT малопроизводительна, особенно для больших дисков;
4) FAT не приспособлена к многозадачной работе – все операции с FAT требуют обращения к таблице размещения файлов и поэтому до завершения одной операции нельзя начать другую;
Файловая система VFAT поддерживает длинные имена файлов – 255 символов плюс 3 символа для расширения.
При создании файла с длинными именами будут автоматически сгенерированы короткие имена по схеме 8+3.
При создании VFAT было обнаружено, что практически все прикладные программы игнорируют элементы каталога с совокупностью атрибутов: метка диска, скрытый, системный, только для чтения. Было решено записывать рядом с обычными элементами каталогов также и элементы с данной совокупностью атрибутов, включая в эти элементы длинное имя файла, время последнего обращения к файлу, а в обычный элемент каталога записывать короткое имя и другую положенную информацию.
Объем логического диска не ограничен.
FAT-32 поддерживает FAT-16.
NTFS (New Technology Files System – новая технология файловых систем)и HPFS(High Performance Files System – высокая производительность файловых систем) были разработаны специально для операционных систем Windows NT и OS/2. Они ориентированы на диски большого объема, содержащие множество файлов, и обеспечивают эффективное хранение файлов и контроль доступа к ним. Обе системы поддерживают длинные имена файлов, позволяют хранить в среднем на 15-20% больше информации, чем FAT, доступ к файлам осуществляется заметно быстрее, особенно в многозадачной среде; для реализации каталогов в них используются не линейные списки, как в FAT, а В-деревья. В результате поиск файла в каталоге с тысячами файлов требует просмотра в среднем не 500 элементов каталога, как в FAT, а лишь 10-11.
Эти файловые системы устойчивы в работе.
В NTFS производится дублирование всей информации.
Файловую систему FAT поддерживают операционные системы MS-DOS, Windows 95, 98, NT, OS/2.
Файловую систему VFAT поддерживают операционные системы Windows 95, 98, NT (начиная с 3 версии), кроме того, операционные системы MS-DOS и OS/2 могут работать с дисками VFAT, однако при этом они будут читать и записывать только короткие имена файлов, а при выполнении служебных программ информации о длинных именах файлов будет потеряна.
Файловая система HPFS поддерживается операционной системой OS/2 и частично Windows NT 3.51. В Windows NT 4.0 поддержка HPFS была ликвидирована.
Файловая система NTFS поддерживается операционной системой Windows NT и частично Linux.