В HPFS386.IFS при установке режимов работы файлового КЭШа, есть возможность упорядочить запись на диск. Наиболее эффективен алгоритм, при котором операции записи данных из КЭШа на диск предварительно упорядочиваются так, чтобы сократить время, затрачиваемое на позиционирование головок чтения (записи).
5. Файловая система NTFS
Файловая система NTFS (файловая система новой технологии), как и многие другие файловые системы, делит дисковое пространство тома на кластеры размером от 512 байт до 64 Кб. На практике размер кластера обычно не превышает 4Кб. Все дисковое пространство в NTFS делится на две неравные части (рис.2). Первые 12% диска отводятся под зону MFT – главной таблицы файлов. Эта таблица представляет собой специальный файл, содержащий информацию о размещении всех остальных файлов. Остальные 88% тома представляют собой обычное пространство для записи файлов.
MFT | Зона MFT | Зона для размещения Файлов и каталогов | Копия первых 16 записей MFT | Зона для размещения файлов и каталогов |
Рис. 2 Структура тома NTFS
Таблица 1. Метафайлы NTFS
Имя метафайла | Описание |
$MFT | Файл с таблицей MFT |
$MFTmirr | Копия первых 16 записей табл.MFT, размещеннаяпосередине тома |
$LogFile | Файл журнала |
$Volume | Служебная информация – метка тома, версия ФС и т.д. |
$AttrDef | Список стандартных атрибутов файлов на томе |
$ | Корневой каталог |
$Bitmap | Битовая карта свободного места тома |
$Boot | Загрузочный сектор (если раздел загрузочный) |
$Quota | Файл, с записями прав пользователей на работу с данными |
$Upcase | Файл с таблицей соответствия строчных и прописных букв в именахфайлов. В NTFS имена файлов в Unicode. |
Таблица файлов поделена на записи фиксированного размера в 1 Кб. Каждая запись соответствует конкретному файлу. Первые 16 файлов тома являются служебными и недоступны через интерфейс операционной системы. Эти файлы называются метафайлами, причем самый первый метафайл – это сам файл MFT. Часть диска, содержащая метафайлы, является единственной частью диска имеющей строго фиксированное положение. Копии этих файлов (для надежности, поскольку они очень важны) хранится в середине тома. Оставшаяся часть MFT может располагаться в произвольном месте диска. Определить её положение можно с помощью самого файла MFT. Метафайлы находятся в корневом каталоге тома NTFS. Их имена начинаются с символа « $ ». Основные метафайлы приведены в таблице 1.
В таблице MFT хранится вся информация о файлах: имя файла, его размер, расположение на диске и т.п. Если для размещения информации не хватает одной записи MFT, то используется несколько таких записей, причем необязательно последовательных. Если файл маленький, то информация, содержащаяся в нем, хранится прямо в соответствующей записи MFT в оставшемся от служебных данных месте. Таким образом, файлы, занимающие не более сотни байтов, обычно не записываются в основную файловую область – вся информация таких файлов хранится прямо в таблице MFT.
Файл на томе NTFS идентифицируется файловой ссылкой, которая представляет собой 64-разрядное число. Файловая ссылка состоит из номера файла, соответствующего позиции его файловой записи в таблице MFT, и номера последовательности. Номер последовательности увеличивается каждый раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки своей целостности.
Каждый файл в NTFS представлен с помощью потоков данных. В них содержатся собственно данные файла, атрибуты файла, дополнительная информация об авторе и содержании файла. Файлу можно назначить еще один поток данных и записать в него любые данные. Интересно, что эти дополнительные потоки не видны стандартными средствами работы с файлом: наблюдаемый размер файла – это лишь размер потока основных данных. Например, можно удалить файл нулевой длинны, и при этом освободится несколько мегабайт места на диске, просто потому, что какая-нибудь программа назначила этому файлу поток дополнительных данных такого большого объёма.
Атрибуты файлов в системе NTFS:
1) Стандартная информация о файле – стандартные атрибуты (только для чтения, скрытый, архивный, системный), размер файла, время и дата создания и последнего изменения;
2) Список атрибутов – список атрибутов файла и ссылка на запись в таблице MFT. Файловая ссылка используется, если файлу необходимо более одной записи в MFT;
3) Имя файла – имя в кодировке Unicode. Файл может иметь несколько имен (как в Unix) если у файла есть автоматически сгенерированное имя формата 8.3 или имеется связь POSIX к этому файлу;
4) Дескрипторы защиты – структура данных соответствующая списку управления доступом (ACL) и защищает файлы от неправомерного доступа;
5) Данные – собственно содержимое файла;
6) Корень индекса, размещение индекса и битовая карта (только для каталогов) – атрибуты, используемые для индексов имен файлов в больших каталогах;
7) Расширенные атрибуты HPFS – атрибуты для реализации расширенных атрибутов HPFS для системы OS/2, а также для OS/2 клиентов файл-серверов WindowsNT.
Разрешения NTFS – это набор специальных расширенных атрибутов файла или каталога, заданных для ограничения доступа пользователей к этим объектам. Например, одному пользователю можно позволить считывать и изменять файл, другому только считывать, третьему вообще запретить доступ. Рекомендуется устанавливать разрешения, используя не учетные записи отдельных пользователей, а учетные записи групп пользователей. У каждого файла имеется два списка разрешения. Первым является DACL – дискреционный список управления доступом. Этот список описывает ограничения на доступ к файлу, перечисляя пользователей и указывая запрещенные или разрешенные для них операции. Этот список может изменить любой пользователь, имеющий разрешение на изменение разрешений для данного файла. Второй список называется SACL – системный список управления доступом. Этот список может составлять и редактировать только администратор системы. Обрабатываться элементы этого списка будут, если в системе включен аудит на доступ к файлам. Операционная система, при обращении пользователя к файлам, сравнивает записи в SACL с запросом и с записями в списке DACL и фиксирует в журнале безопасности соответствующее событие.
Файловая система NTFS рассчитана на работу с дисками большого объема. Максимально возможный теоретический размер тома – 16 экзабайт! Один экзабайт равен
байт (приблизительно 16 000 миллиардов гигабайт)!Количество файлов в корневом и других каталогах не ограничено.
Файловая система NTFS обладает высокой надежностью. Система NTFS содержит две копии MFT (аналог FAT). Но в отличие от FAT, MTF больше напоминает базу данных. Система NTFS имеет различные механизмы проверки целостности данных, включая ведение журналов транзакции, позволяющих воспроизвести операции записи файлов по специальному системному журналу. В начале операции, связанной с изменением файловой структуры, делается соответствующая пометка. Если происходит какой-либо сбой, то операция остается помеченной как незавершенная. При выполнении проверки целостности файловой системы после перезагрузки машины эти незавершенные действия отменяются, и файлы возвращаются в исходное состояние. Если запись данных в файл прошла без ошибок, запись из журнала транзакции удаляется. В NTFS, как и в HPFS имеется механизм аварийной замены дефектных секторов жесткого диска.
6. Файловая система ОС семейства UNIX
Файл в операционной системе UNIX представляет собой множество символов с произвольным доступом. В файле могут содержаться любые данные, и файл не имеет никакой иной структуры, кроме той какую создаст в нем пользователь. В семействе UNIX трактуют понятие файла более широко – там файлом называется любой объект, имеющий имя в файловой системе. Однако файлы, не являющиеся совокупностями данных (каталоги, внешние устройства, псевдоустройства, именованные программные каналы, семафоры Xenix), часто называют не простыми файлами, а "специальными".
Информация на диске размещается блоками. Минимальный размер блока 512 байт. В современных файловых системах, разработанных для конкретной версии UNIX размер блока несколько больше. Это позволяет повысить быстродействие файловых операций. Раздел на диске разделяется на следующие области (рис.3): загрузочный блок; управляющий блок (суперблок) в котором хранится размер логического диска и границы других областей; i-список, состоящий из описаний файлов; область для хранения содержимого файлов.
Загрузочный блок |
Суперблок |
i-узел 1 |
i-узел 2 |
i-узел 3 |
… |
i-узел n |
Блок с данными файла |
Блок с данными файла |
Блок с данными файла |
Свободный блок |
Файл |
Свободный блок |
Рис. 3 Организация файловой системы в UNIX
Каждый i-узел содержит: идентификатор владельца, идентификатор группы владельца, биты защиты, физические адреса на диске, время создания файла, время его последнего изменения, время последнего изменения атрибутов файла, число связей-ссылок указывающих на файл, идентификатор типа файла – каталог, обычный или специальный файл. За i-списком расположены блоки для хранения содержимого файлов. Пространство, не заполненное файлами, образует связанный список свободных блоков.
Таким образом, файловая система UNIX содержит управляющий суперблок с описанием файловой системы в целом, массив i-узлов, в котором определены все файлы, сами файлы и совокупность свободных блоков.