Файловые системы

Автор работы: Пользователь скрыл имя, 25 Апреля 2010 в 18:03, Не определен

Описание работы

1.Общие сведения о файловых системах
2.Файловая система FAT
3.Файловая система FAT32
4.Файловая система HPFS
5.Файловая система NTFS
6.Файловая система ОС семейства UNIX

Файлы: 1 файл

файловые сис-мы.doc

— 163.50 Кб (Скачать файл)

     4. Файловая система  HPFS 

     Файловая  система HPFS (высокопроизводительная файловая система) впервые появилась в операционной системе OS/2. HPFS является файловой системой для многозадачного режима работы, поддерживает длинные имена файлов, и обеспечивает высокую производительность при работе с дисками большого объема. Она, как и FAT, имеет древовидную структуру каталогов, но в ней еще предусмотрены автоматическая сортировка каталогов и специальные расширенные атрибуты, упрощающие обеспечение безопасности на файловом уровне и создание множественных имен. Расширенные атрибуты позволяют хранить дополнительную информацию о файле. Например, каждому файлу может быть сопоставлено его индивидуальное графическое изображение (значок).

     По  сравнению с FAT HPFS обладает более высокой производительностью, надежностью, и эффективнее использует дисковое пространство. Еще одна особенность заключается в том, что пространство, освобожденное стертым файлом, обычно используется не сразу и файл можно восстановить.

     Для достижения более этого в HPFS применяется:

  • размещение каталогов в середине дискового пространства;
  • используется метод бинарных сбалансированных деревьев, для ускорения поиска информации о файле;
  • информация о местоположении файловых записей рассредоточена по всему диску, при размещении самого файла (по возможности) в смежных секторах и вблизи от данных об их местоположении.

     Файлы и каталоги в HPFS базируются на файловом узле. Файловый узел – это структура, содержащая информацию о расположении файла и о его расширенных атрибутах. Каждый файл и каталог имеет свой файловый узел. Каждый файловый узел занимает один сектор и всегда располагается вблизи своего файла (обычно непосредственно перед файлом).

     Файловый  узел содержит размер файла и первые 15 символов имени файла, специальную  служебную информацию, статистику доступа  к файлу, расширенные атрибуты файла  и список управления доступом.

     Сокращенное имя файла используется, когда файл с длинным именем копируется на диск с файловой системой FAT, не допускающей подобных имен. В этом случае используются первые восемь символов оригинального имени и первые три символа расширения. Если имя файла содержит несколько точек, что допустимо в HPFS, то используются три символа после последней из этих точек.

     Файловая  система HPFS при записи файла на диск стремится избежать фрагментации. Если файл непрерывен то, его размещение описывается двумя 32-разрядными числами. Первое число представляет собой указатель на первый блок файла, а второе – длину экстента, то есть число следующих друг за другом блоков, принадлежащих файлу. Из этого следует, что максимальный объем диска в HPFS составляет 2 Тб. Если файл фрагментирован, то размещение его экстентов описывается дополнительными парами 32-разрядных чисел. Фрагментация происходит, когда на диске нет непрерывного свободного участка, достаточного для размещения файла целиком. В этом случае файл делится на несколько частей и располагается в разных местах диска. Файловая система HPFS старается поместить части фрагментированного файла как можно ближе друг к другу, для того чтобы сократить время позиционирования головок чтения/записи при чтении файла с жесткого диска. Также файловая система старается резервировать минимум 4 Кб места в конце файлов подлежащих изменению.

     Пользовательская  программа может указать размер файла при его создании. В этом случае система сразу попытается выделить место под файл так, чтобы  он занимал как можно меньше экстентов. Если программа не сообщила размера файла, используется значение по умолчанию. Фактически, HPFS размещает место, под файл, начиная выделение с наибольшего непрерывного участка свободного пространства. В результате фрагментированными оказываются только файлы, длина которых увеличивалась многократно или же те, которые создавались при почти заполненном диске. При нормальной работе файл редко занимает больше 3-4 экстентов.

     В файловом узле можно поместить информацию о 8 экстентах файла. Если их больше, то в файловый узел этого файла записывается указатель на блок размещения, который может содержать до 40 указателей на экстенты или другие блоки размещения.

     Большое значение для увеличения производительности HPFS имеет метод сбалансированных двоичных деревьев, используемый для хранения и поиска информации о местонахождении файлов. В файловой системе FAT каталог имеет линейную неупорядоченную структуру и при поиске файла необходимо последовательно просматривать его с самого начала. В HPFS структура каталога представляет собой сбалансированное дерево с записями, расположенными в алфавитном порядке. Каждая запись содержит атрибуты файла, указатель на соответствующий файловый узел, информацию о времени и дате создания, последнего изменения и обращения к файлу, о размере файла, счетчик обращения к файлу, информацию о длине имени файла и само имя, и другая подобная информация. Таким образом, при поиске файла в каталоге просматриваются только необходимые ветви двоичного дерева. Записи каталога заведомо не относящиеся к искомому файлу не рассматриваются.

     При переименовании файлов может возникнуть перебалансировка дерева. Попытка переименования может закончиться неудачей из-за недостатка дискового пространства, даже если файл в размере не увеличится. Для предотвращения этого HPFS имеет маленький пул свободных блоков, используемых при недостатке места. Указатель на этот пул хранится в резервном блоке.

     Файловая  система HPFS для исправления ошибок, возникающих при записи файлов на диск, использует механизм аварийного замещения. Информация, предназначенная для записи в сектор, оказавшийся дефектным, сохраняется в одном из запасных секторов, заранее зарезервированных на этот случай. Их список хранится в резервном блоке файловой системы. Затем происходит обновление карты аварийного замещения. Она представляет собой пары 32-разрядных чисел. Первое число такой пары указывает на дефектный сектор, а второе на сектор его замещающий. Очистка карты аварийного замещения выполняется программой CHKDISK при проверке тома HPFS. Для каждого замещенного блока (сектора) выделяется новый сектор в наиболее подходящем месте. Затем данные записываются в этот сектор, и обновляется информация о положении файла. После этого программа вносит поврежденный сектор в список дефектных блоков, и возвращает освобожденный сектор в список свободных запасных секторов резервного блока. После этого происходит удаление записей из карты аварийного замещения.

     Существует  еще одна реализация HPFS для работы на серверах – HPFS386.IFS. Ее отличие в том, что она позволяет посредством более полного использования расширенных атрибутов, организовать ограничение доступа к файлам, с помощью списков управления доступом. Также в этой системе нет ограничения на объем памяти, выделяемой для кэширования файловых записей. В HPFS этот объем не может превышать 2 Мб.

     В 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 клиентов файл-серверов Windows NT.

Информация о работе Файловые системы