Виды файловых систем. Типовые структуры каталогов в ОС UNIX и Windows.
Данные на диске хранятся в виде файлов. Файл - это именованная часть диска.
Для управления файлами предназначены системы управления файлами.
Возможность иметь дело с данными, хранящимися в файлах, на логическом уровне предоставляет файловая система. Именно файловая система определяет способ организации данных на каком-либо носителе данных.
Таким образом, файловая система - это набор спецификаций и соответствующее им программное обеспечение, которые отвечают за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам и за управлением ресурсами, которые используются файлами.
С помощью системы управления файлами
· связываются по данным все системные обрабатывающие программы;
· решаются проблемы централизованного распределения дискового пространства и управления данными;
· предоставляются возможности пользователю по выполнению операций над файлами (создание и т.п.), по обмену данными между файлами и различными устройствами, по защите файлов от несанкционированного доступа.
В некоторых ОС может быть несколько систем управления файлами, что обеспечивает им возможность работать с несколькими файловыми системами.
Постараемся различать файловую систему и систему управления файлами.
Термин «файловая система» определяет принципы доступа к данным, организованным в файлы.
Термин «система управления файлами» относится к конкретной реализации файловой системы, т.е. это комплекс программных модулей, обеспечивающих работу с файлами в конкретной ОС.
Файловая система FAT
дисковое пространство любого логического диска делится на две области: системную область и область данных.
Системная область создается и инициализируется при форматировании, а впоследствии обновляется при манипулировании файловой структурой.
Системная область состоит из следующих компонентов:
· загрузочного сектора, содержащего загрузочную запись (boot record);
· зарезервированных секторов (их может и не быть);
· таблицы размещения файлов (FAT, File Allocation Table);
· корневого каталога (Root directory, ROOT).
Файловая система HPFS
HPFS (High Performance File System) — высокопроизводительная файловая система.
HPFS впервые появилась в OS/2 1.2 и LAN Manager.
Перечислимосновные особенности HPFS.
· Главное отличие - базовые принципы размещения файлов на диске и принципы хранения информации о местоположении файлов.
· Дисковое пространство в HPFS выделяется блоками. В современной реализации размер блока взят равным одному сектору, но в принципе он мог бы быть и иного размера.
· Система HPFS стремится расположить файл в смежных блоках, или, если такой возможности нет, разместить его на диске таким образом, чтобы экстенты (фрагменты) файла физически были как можно ближе друг к другу.
· Используется метод сбалансированных двоичных деревьев для хранения и поиска информации о местонахождении файлов.
· В HPFS предусмотрены специальные расширенные атрибуты файлов, позволяющие управлять доступом к файлам и каталогам.
Файловая система ОС UNIX
В мире UNIX существует несколько разных видов файловых систем со своей структурой внешней памяти. Корневой каталог в UNIX состоит из следующих каталогов: bin Двоичные коды наиболее важных команд, boot Статические файлы загрузчика boot, dev Файлы устройств, etc Файлы настройки конфигурации системы, home Домашние каталоги пользователей, lib Разделяемые библиотеки, mnt Точка монтирования временно подключаемых систем, proc Псевдо-файловая система с информацией о процессах, root Домашний каталог (пользователя) root, sbin Наиболее важные системные двоичные коды, tmp Временные файлы, usr Вторая главная иерархия, var Переменные данные
Наиболее известны традиционная файловая система UNIX System V (s5) и файловая система семейства UNIX BSD (ufs). Рассмотрим s5.
Файл имеет такую структуру, которую налагает на него пользователь.
Файловая система имеет древовидную структуру. Вершинами (промежуточными узлами) дерева являются каталоги со ссылками на другие каталоги или файлы. Листья дерева соответствуют файлам или пустым каталогам.
Структура диска
Диск разделен на блоки. Размер блока данных определяется при форматировании файловой системы командой mkfs и может быть установлен 512, 1024, 2048, 4096 или 8192 байтов.
Считаем по 512 байт (размер сектора).
Дисковое пространство делится на следующие области (см. рис.):
· загрузочный блок;
· управляющий суперблок;
· массив i-узлов;
· область для хранения содержимого (данных) файлов;
· совокупность свободных блоков (связанных в список);
Блок начальной загрузки содержит программу раскрутки, которая служит для первоначального запуска ОС UNIX. В файловых системах s5 реально используется boot-блок только корневой файловой системы. В дополнительных файловых системах эта область присутствует, но не используется.
Суперблок содержит оперативную информацию о состоянии файловой системы, а также данные о параметрах настройки файловой системы.
Список свободных i-узлов. Это буфер, состоящий из 100 элементов. В нем находится информация о 100 номерах i-узлов, которые свободны в данный момент.