Структура хранения данных
Файл (от англ. file — папка) — это именованная совокупность любых данных, размещенная на внешнем запоминающем устройстве и хранимая, пересылаемая и обрабатываемая как единое целое.
В различных операционных системах применяются различные версии файловой системы, отличающиеся способом размещения файлов на жестком диске. Например, в Windows 98/ME используется файловая система FAT32, семейство же Windows NT/2000/Net/XP/Vista/Win7 использует более стабильную и надежную систему NTFS (которая за счет надежности работает значительно медленнее).
Физическая организация файла описывает правила расположения файла на устройстве внешней памяти.
2.1. Файловая система FAT
Файловая система построена на основе таблицы размещения файлов (File Allocation Table - FAT).
Данные о месте записи файла на диске хранятся в системной области диска в специальных таблицах размещения файлов(FAT-таблицах). Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора.
Цилиндр - это совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения.
Сектор - наименьшая физическая единица хранения данных.Размер сектора для DOS равен 512 байт. Другие операционные системы устанавливают свои объемы секторов.
Поскольку размер FAT-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры (блоки).
Кластер - наименьшая единица адресации к данным.Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
Секторы, не содержащие пользовательских данных (файлов), не отражены в FAT. К таким секторам относятся загрузочные секторы, таблицы размещения файлов и секторы корневого каталога.
Поскольку нарушение FAT-таблицы приводит к невозможности воспользоваться данными, она существует в двух экземплярах, идентичность которых регулярно контролируется средствами операционной системы.
При записи файла на диск, информация о нем записывается в корневой каталог. Этот раздел несет информацию о типе файлов, их названиях, размерах, дате создания. Кроме этого, для каждого файла в корневом каталоге есть номер кластера, с которого начинается файл. По этому номеру, система обращается в ячейку таблицы, в ней записывается адрес следующего кластера. И так далее, до тех пор, пока не будет описано расположение всего файла на диске. Запись закончится командой "стоп", то есть на этом кластере файл заканчивается.
Считывание происходит так же. Сначала считывается информация о файле, затем по указателю система переходит в таблицу и там, считывает остальные номера кластеров, которые занимает файл.
Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска. Файловая система ОС, реализующих 16-разрядные поля в таблицах размещения файлов, называется FAT 16. Она позволяет разместить в FAT-таблицах не более 216 записей о местоположении единиц хранения данных и, соответственно, для дисков объемом от 1 до 2 Гбайт длина кластера составляет 32 Кбайт (64 сектора).
Файловая система ОС, реализующих 32-разрядные поля в таблицах размещения файлов, называется FAT 32.
Для современных жестких дисков потери, связанные с неэффективностью файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов.
2.2. Файловая система NTFS
Файловая система NTFS (New Technology File Sistem) была выпущена вместе с Windows NT 3.5 в 1993 году. По сравнению с FAT, NTFS обладает достоинствами: эффективность, надежность и совместимость. Файловая система NTFS применяется в операционной системе Windows NT/2000/XP/Vista/Win7.
Как и любая другая система, 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 - файл.
Рисунок 5
Третья зона, в свою очередь, делит диск пополам. Существует копия первых трех записей в третьей зоне. Это сделано для надежности, в случае утери информации в MFT - файле, всегда можно восстановить информацию. Все остальные файлы в MFT - зоне могут располагаться произвольно.
Главный каталог диска на NTFS - корневой - ничем не отличается от обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT. Он представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске.
Каталог представляет собой бинарное дерево, т.е. в каталоге информация о данных на диске расположена таким образом, что при поиске какого-либо файла каталог разбивался на две части и ответ заключался в том, в какой именно части находиться искомое. Затем та же самая операция повторяется в выбранной половине. И так до тех пор, пока не будет найден нужный файл.
NTFS - отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний - действие либо совершено, либо отменено.
Система восстановления NTFS гарантирует корректность файловой системы, а не данных.
ЛЕКЦИЯ 4
Дата добавления: 2021-03-18; просмотров: 375;