Понятие файловой системы
Файл (от англ. file — папка) — это именованная совокупность любых данных, размещенная на внешнем запоминающем устройстве и хранимая, пересылаемая и обрабатываемая как единое целое.
Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
В широком смысле понятие "файловая система" включает:
- совокупность всех файлов на диске,
- наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
- комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.
Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).
С точки зрения операционной системы (ОС), весь диск представляет собой набор кластеров (как правило, размером 512 байт и больше). Драйверы файловой системы организуют кластеры в файлы и каталоги (реально являющиеся файлами, содержащими список файлов в этом каталоге). Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.
Основные функции любой файловой системы нацелены на решение следующих задач:
- именование файлов;
- программный интерфейс работы с файлами для приложений;
- отображения логической модели файловой системы на физическую организацию хранилища данных;
- организация устойчивости файловой системы к сбоям питания, ошибкам аппаратных и программных средств;
- содержание параметров файла, необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр.).
В многопользовательских системах появляется ещё одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя, а также обеспечение совместной работы с файлами, к примеру, при открытии файла одним из пользователей, для других этот же файл временно будет доступен в режиме «только чтение».
21.2.1 Обзор файловой системы FAT
Файловая система построена на основе таблицы размещения файлов (File Allocation Table - FAT).
Данные о месте записи файла на диске хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах). Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора.
Цилиндр – это совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения.
Сектор – наименьшая физическая единица хранения данных. Размер сектора для DOS был равен 512 байт. Другие операционные системы устанавливают свои объемы секторов.
Поскольку размер FAT–таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры (блоки).
Кластер – наименьшая единица адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
Секторы, не содержащие пользовательских данных (файлов), не отражены в FAT. К таким секторам относятся загрузочные секторы, таблицы размещения файлов и секторы корневого каталога.
Поскольку нарушение FAT–таблицы приводит к невозможности воспользоваться данными, она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы.
При записи файла на диск, информация о нем записывается в корневой каталог. Этот раздел несет информацию о типе файлов, их названиях, размерах, дате создания. Кроме этого, для каждого файла в корневом каталоге есть номер кластера, с которого начинается файл. По этому номеру, система обращается в ячейку таблицы, в ней записывается адрес следующего кластера. И так далее, до тех пор, пока не будет описано расположение всего файла на диске. Запись закончится командой "стоп", то есть на этом кластере файл заканчивается.
Считывание происходит так же. Сначала считывается информация о файле, затем по указателю система переходит в таблицу и там, считывает остальные номера кластеров, которые занимает файл.
Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска. Файловая система ОС, реализующих 16-разрядные поля в таблицах размещения файлов, называется FAT 16. Она позволяет разместить в FAT–таблицах не более 216 записей о местоположении единиц хранения данных и, соответственно, для дисков объемом от 1 до 2 Гбайт длина кластера составляет 32 Кбайт (64 сектора). Это не вполне рациональный расход рабочего пространства, поскольку любой файл (даже очень маленький) полностью оккупирует весь кластер, которому соответствует только одна адресная запись в таблице размещения файлов. С дисками же размером более 2 Гбайт файловая система FAT 16 вообще работать не может.
Файловая система ОС, реализующих 32-разрядные поля в таблицах размещения файлов, называется FAT 32
Каталог FAT не имеет определенной структуры, и файлы записываются в первом обнаруженном свободном месте на диске. Кроме того, файловая система FAT поддерживает только четыре файловых атрибута: «Системный», «Скрытый», «Только чтение» и «Архивный».
Для современных жестких дисков потери, связанные с неэффективностью файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов.
21.2.2 Обзор файловой системы NTFS
Файловая система NTFS (New Technology File Sistem) была выпущена вместе с Windows NT 3.5 в 1993 году. По сравнению с FAT, NTFS обладает достоинствами: эффективность, надежность и совместимость. Файловая система NTFS применяется в операционной системе Windows NT/2000/XP/6/7.
Как и любая другая система, NTFS делит все полезное место на кластеры. NTFS поддерживает почти любые размеры кластеров – от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт.
При установке NTFS, диск разделяется на три неравные части: первая отводиться под MFT (Master File Table – общая таблица файлов), называется MFT –зоной и занимает порядка 12% от общего размера диска. MFT лежит в начале диска и занимает около 1 Кбайт, каждая запись в MFT соответствует какому-либо файлу. По своей сути это каталог всех файлов находящихся на диске. Любой элемент данных в NTFS рассматривается как файл, даже MFT.
MFT–зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте.
Вторую часть диска представляют собой обычное пространство для хранения файлов.
Свободное место диска, однако, включает в себя всё физически свободное место – незаполненные куски MFT–зоны туда тоже включаются. Механизм использования MFT–зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT–зона просто сокращается (в текущих версиях ОС в два раза), освобождая, таким образом, место для записи файлов. При освобождении места в обычной области MFT зона снова расширится.
Первые 16 файлов (метафайлы) в MFT – зоне являются особой кастой. В них содержится служебная информация, они имеют фиксированное положение и они недоступны даже операционной системе. Кстати, первым из этих 16 является сам MFT – файл.
Рисунок 21.1
Третья зона, в свою очередь, делит диск пополам. Существует копия первых трех записей в третьей зоне. Это сделано для надежности, в случае утери информации в MFT – файле, всегда можно восстановить информацию. Все остальные файлы в MFT – зоне могут располагаться произвольно.
Главный каталог диска на NTFS – корневой – ничем не отличается от обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT. Он представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога.
Каталог представляет собой бинарное дерево, т.е. в каталоге информация о данных на диске расположена таким образом, что при поиске какого-либо файла каталог разбивался на две части и ответ заключался в том, в какой именно части находиться искомое. Затем та же самая операция повторяется в выбранной половине. И так до тех пор, пока не будет найден нужный файл.
В NTFS используется шифрование данных. Таким образом, если пришлось по каким – либо причинам переустановить систему заново, то зашифрованные файлы без соответствующей санкции прочитать невозможно.
NTFS – отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция – действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний – действие либо совершено, либо отменено.
Система восстановления NTFS гарантирует корректность файловой системы, а не данных.
Дата добавления: 2021-03-18; просмотров: 430;