Общие сведения о файловых системах

Реферат

по дисциплине: «Информатика»

на тему: «Файловая система»

Выполнил студент группы РТбз1-5

Кудряшов Игорь Николаевич

Проверил: Кузьменко Алла Сергеевна

 

Оценка:

 

Таганрог 2016

Содержание

 

1. Общие сведения о файловых системах

 

2. Файловая система FAT

 

3. Файловая система FAT 32

 

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

 

Список литературы

 

Общие сведения о файловых системах

 

Совокупность каталогов и системных структур данных, отслеживающих размещение файлов на диске и свободное дисковое пространство, называется файловой системой. Основной структурной единицей любой файловой системы является файл и каталог.

 

Файл - минимальная структурированная именованная последовательность данных. Каталог (папка) является своеобразной объединяющей структурой для расположенных на диске файлов. Каталог может содержать в себе файлы и другие (вложенные) каталоги. Каталоги и файлы образуют на диске древовидную иерархическую структуру - дерево каталогов. Единственный каталог не входящий ни в одну из директорий называется корневым каталогом.

 

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

 

Рис. 1 Структура поверхности магнитного диска

 

Поверхность диска разбита на дорожки, представляющие собой окружности (рис. 1). Дорожки разделены на секторы. Размер сектора обычно составляет 512 байт.

 

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

 

Один физический жесткий диск может быть разделен на несколько разделов - логических дисков (томов). Каждый логический диск представляет собой как бы отдельное устройство. Следовательно, на нем может быть своя файловая система и свой корневой каталог.

 

В операционных системах MS-DOS и Windows каждое дисковое устройство обозначается латинской буквой. Для имени логического диска используются буквы от A до Z. Буквы A и B обозначают дисководы гибких магнитных дисков (FDD). Начиная с буквы C, именуются разделы жесткого диска (HDD), дисководы оптических дисков и виртуальные диски. Для обращения к файлу используется следующая спецификация:

 

Устройство :путь имя файла. расширение

 

Здесь путь - список каталогов, входящих друг в друга, в последнем из которых и содержится указанный файл. Если путь не указан, следует что, файл находится в корневом каталоге данного диска. В MS-DOS имя файла состоит из 8 символов, точки и 3 символов расширения имени файла. Точка отделяет собственно имя от расширения. Имя файла может состоять из латинских букв, цифр 0 - 9, некоторых других символов, и не может содержать пробел. В Windows поддерживаются длинные имена файлов (от 1 до 255 символов), имя может содержать пробелы. При использовании файловых систем HPFS и NTFS имя файла может содержать несколько точек.

 

В именах файлов нельзя использовать символы “ * ” и “ ? ”, так как они используются в масках имен при поиске файлов.

 

Расширение имени необходимо для определения типа файла и связывания файла с определенной программой, с помощью которой он может быть открыт. Хотя имя файла может и не иметь расширения.

 

Различают следующие типы файлов:

 

1) Текстовые файлы. Текстовые файлы могут содержать простой или размеченный текст, в кодировке ASCII, ANSI или UNICODE. Текст без разметки содержит только отображаемые символы и простейшие управляющие символы (возврат каретки и табуляции). Размеченный текст содержит бинарную и символьную разметку (межстрочный интервал, новая страница и т.п.), может содержать таблицы и рисунки;

 

2) Графические файлы - файлы, содержащие точечные или векторные изображения;

 

3) Файлы мультимедиа - различают файлы содержащие оцифрованный звук (файлы аудио) и фалы видео (содержат изображение и звук);

 

4) Исполняемые файлы - программы готовые к исполнению (файлы с расширением exe и com).

 

5) Архивные файлы - файлы архивов rar, tar, zip, cab и т.п.

 

6) Файлы библиотек - файлы с расширением DLL, OCX и LIB;

 

7) Файлы данных - бинарные или текстовые файлы с различным расширением, используемые программами во время работы.

 

Информация о логической организации физического жесткого диска

 

(числе логических дисков, их размере) расположена в главной загрузочной записи (MBR). MBR расположена в самом первом секторе жесткого диска и не входит в структуру файловой системы.

 

В операционных системах семейства UNIX разделение на логические диски отсутствует, а используется понятие корневого каталога файловой системы. Спецификация обращения к файлу выглядит следующим образом:

 

/путь/имя файла.тип

 

В операционной системе RSX (RSX-11) дисковые устройства идентифицируются кодами: групповой идентификатор, порядковый номер в группе, двоеточие (например, DKx, DMx или DPx). Спецификация обращения к файлу выглядит следующим образом:

 

устройство:[g,n] имя.расширение

 

где:устройство - идентификатор устройства (DKx, DMx, DPx - магнитные диски; MTx - магнитные ленты; ТТх - терминал ЭВМ, LPx - принтер);

 

[g,n] - каталог.

 

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

 

1) Проверку типа монтируемой файловой системы; проверку целостности файловой системы;

 

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

 

3) Включение новой файловой системы в общее пространство имен. Многие пользователи MS DOS никогда не сталкивались с понятием монтирования. Дело в том, что эта система (как и многие другие ДОС, например RT-11) выполняет упрощенную процедуру монтирования при каждом обращении к файлу.

Файловая система FAT

 

Файловая система FAT представляет собой таблицу размещения файлов, в которой указываются:

 

1) непосредственно адреса участков логического диска, предназначенные для размещения файлов;

 

2) свободные области дискового пространства;

 

3) дефектные области диска.

 

В этой таблице каждому блоку, предназначенному для хранения данных, соответствует 16-битовое значение. Если блок свободен, то значение будет нулевым. Если же блок принадлежит файлу, то значение равно адресу следующего блока этого файла. Если это последний блок в файле, то значение -- OxFFF (рис. 2). Существует также специальный код для обозначения плохого блока, не читаемого из-за дефекта физического носителя. В каталоге хранится номер первого блока и длина файла, измеряемая в байтах. Емкость диска при использовании 12-битовой FAT ограничена 4096 блоками (2 Мбайт), что приемлемо для дискет, но совершенно не годится для жестких дисков и других устройств большой емкости. На таких устройствах DOS использует FAT с 16-битовыми элементами. На еще больших (более 32 Мбайт) дисках DOS выделяет пространство не блоками, а кластерами из нескольких блоков.

 

Рис. 2 Структура файловой системы FAT

 

В таблице FAT кластеры, принадлежащие файлу или каталогу, связываются в цепочки. В 16-разрядной FAT можно иметь до 65536 кластеров. В операционных системах Windows NT/2000/XP разделы FAT могут иметь до 4097 Мб. В этом случае кластер занимает 128 секторов диска.

 

Логическое объединение секторов в кластеры позволяет уменьшить размер таблицы FAT и ускорить доступ к файлу. Однако слишком большой размер кластера приводит к неэффективному использованию области данных, особенно при большом количестве маленьких файлов. Например, при размере кластера в 32 сектора (16 Кб) средняя величина потерь на файл составляет 8 Кб. Поэтому в современных файловых системах размер кластера не превышает 4 Кб.

 

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

 

Таблица FAT является основой данной файловой системы, поэтому она хранится на диске в двух экземплярах. Обновляются копии FAT одновременно, а для работы используется только первый экземпляр. Если он окажется поврежденным, то произойдет обращение ко второму экземпляру. Утилиты проверки и восстановления файловой системы при обнаружении несоответствия первичной и резервной таблицы FAT осуществляет восстановление основной таблицы, используя данные из её копии.

 

Система FAT очень проста и имеет одно серьезное достоинство: врожденную устойчивость к сбоям. В то же время у нее есть и ряд серьезных недостатков. Первый недостаток состоит в том, что при каждой операции над файлами система должна обращаться к FAT. Это приводит к частым перемещениям головок дисковода и в результате к резкому снижению производительности. Действительно, исполнение программы на одной и той же машине под MS DOS и под DOS-эмулятором систем UNIX или OS/2 различается по скорости почти в 1,5 раза. Особенно это заметно при архивировании больших каталогов.

 

Файловая система FAT 16 может иметь не более 65535 кластеров на логический диск, и это приводит к ограничению размера логического диска. С увеличением размера диска приходится увеличивать размер кластеров, что приводит к крайне неэффективному и бесполезному расходу дискового пространства.

 

В файловой системе FAT дисковое пространство логического диска делится на системную область и область данных. Системная область создается и инициализируется при форматировании диска, а в последующем обновляется при работе. Область данных содержит файлы и каталоги, которые образуют на диске иерархическое дерево каталогов, с единственной директорией не входящей в другие - корневым каталогом. Область данных доступна через пользовательский интерфейс операционной системы. Системная область содержит загрузочную запись, зарезервированные сектора, таблицу размещения файлов и корневой каталог. Для каждого файла и каталога в файловой системе хранится справочная информация. Каждый элемент такого справочника занимает 32 байта и содержит: имя файла или каталога, расширение имени файла, атрибуты файла - системный, архивный, только для чтения и др., дату и время создания и последнего изменения файла, номер начального кластера, размер файла.

 

Файловая система FAT 32

 

По мере развития операционных систем к 16-разрядной FAT добавились ещё две файловые системы, используемые в широко распространенных операционных системах от Microsoft: VFAT (виртуальная система FAT), используемая в Windows 95 и Windows NT, и FAT 32 используемая в Windows 98 и одной из версий Windows 95 (OEM Service Release 2, она же Windows 95 OSR2). В настоящее время файловая система FAT 32 поддерживается современными операционными системами

 

Windows ME/2000/XP. Имеются реализации FAT 32 для Windows NT и Linux.

 

Файловая система VFAT впервые появилась в Windows 3.11 (Windows for Workgroups). С появлением Windows 95 в VFAT добавилась поддержка длинных имен файлов.

 

Файловая система VFAT имеет совместимость с FAT 16. Поэтому при работе с VFAT необходимо использовать утилиты обслуживающие именно её. Более ранние файловые утилиты DOS запросто модифицируют то, что кажется им исходной структурой FAT. Это может привести к потере длинных имен файлов. Основными недостатками файловых систем FAT 16 и VFAT, которые привели к необходимости создания новой файловой системы, являются большие потери на кластеризацию и ограничения на размер логического диска.

 

Файловая система FAT 32 является полностью самостоятельной 32-разрядной файловой системой и имеет более совершенную структуру.

 

FAT 32 намного эффективнее расходует дисковое пространство. Кластеры в этой файловой системе меньше, чем кластеры в предыдущих версиях FAT. Следовательно, для дисков размером до 8 Гб FAT 32 может использовать кластеры размером 4 Кб. Таблица размещения файлов в FAT 32 может содержать до кластеров (в 32-разрядном коде, используемом для представления номера кластера, фактически используются только 28 разрядов). Система FAT 32 также может перемещать корневой каталог и использовать резервную копию FAT вместо стандартной. Расширенная загрузочная запись позволяет создавать копии важных структур данных. Это повышает устойчивость файловой системы к нарушениям структуры таблицы размещения данных. Корневой каталог представлен в виде обычной цепочки кластеров и может находиться в произвольном месте диска. Файловая система FAT 32 имеет ряд усовершенствований структуры корневого каталога. Для представления длинных имен используются элементы корневого каталога.

 

Для этого число файлов в нем увеличено с 512 до 2048. Кроме того, для того чтобы снизить расход элементов каталога на описание файлов с длинными именами, рекомендуется не давать файлам слишком длинные имена.

 

Длинное имя файла в VFAT представлено следующим образом.

 

Первые 11 байт элемента каталога DOS используются для хранения имени файла. Такое имя состоит из двух частей: в первых восьми байтах хранятся символы собственно имени, а в последних трех - символы расширения имени файла. Если имя состоит менее чем из восьми символов, то в элементе каталога оно дополняется символами пробела, для того чтобы полностью заполнить все восемь байтов. При работе с именем файла необходимость в отображении точки, которая используется для отделения имени файла от расширения, отпадает. В 12-ом байте элемента каталога хранятся атрибуты файла:

 

1) А - архив. Показывает, что файл был открыт программой имеющей возможность изменить его содержимое.

 

2) D - каталог. Показывает, что данный элемент указывает на подкаталог (папку), а не на файл.

 

3) V - том (volume). Применяется только к одному элементу каталога в корневом каталоге. В нем собственно и хранится имя дискового тома.

 

4) S - системный. Показывает, что файл является частью операционной системы или специально помечен подобным образом.

 

5) H - скрытый. К скрытым файлам относятся также системные файлы.

 

6) R - только для чтения. Указывает, что данный файл не следует изменять. Этот атрибут используется для примитивной защиты от ошибок пользователя.

 

На дисках с FAT 12 или FAT 16 следующие 10 байт не используются. На диске с FAT 32 они содержат различную информацию о файле. Тринадцатый байт зарезервирован для Windows NT и в подсистеме DOS не используется.

 

Для длинного имени файла используется несколько элементов каталога. Таким образом, применение длинных имен приводит к уменьшению количества файлов, находящихся в корневом каталоге. Длинное имя может содержать до 256 символов и всего один файл с полным длинным именем займет до 25 элементов таблицы FAT. При этом на диске с файловой системой FAT 16 максимальное число файлов в корневом каталоге сократится до 21. Поэтому необходимо избегать длинных имен файлов в корневом каталоге. Длинна полной спецификации файла, включающая в себя путь к файлу и его имя, также ограничена. В файловой системе FAT 32 успешно решена проблема длинных имен в корневом каталоге, но проблема с ограничением длинны полной файловой спецификации остается. Поэтому рекомендуется ограничивать длинные имена 75-80 символами, для того чтобы оставить достаточно места для пути к файлу.

 

Файловая система NTFS

 

Файловая система NTFS (файловая система новой технологии), как и многие другие файловые системы, делит дисковое пространство тома на кластеры размером от 512 байт до 64 Кб. На практике размер кластера обычно не превышает 4Кб. Все дисковое пространство в NTFS делится на две неравные части (рис.4). Первые 12% диска отводятся под зону MFT - главной таблицы файлов. Эта таблица представляет собой специальный файл, содержащий информацию о размещении всех остальных файлов. Остальные 88% тома представляют собой обычное пространство для записи файлов.

 

MFT

 

Зона MFT

 

Зона для размещения

 

Файлов и каталогов

 

Копия первых 16 записей MFT

 

Зона для размещения

 

файлов и каталогов

 

Рис. 3 Структура тома 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.

 

Разрешения NTFS - это набор специальных расширенных атрибутов файла или каталога, заданных для ограничения доступа пользователей к этим объектам. Например, одному пользователю можно позволить считывать и изменять файл, другому только считывать, третьему вообще запретить доступ. Рекомендуется устанавливать разрешения, используя не учетные записи отдельных пользователей, а учетные записи групп пользователей. У каждого файла имеется два списка разрешения. Первым является DACL - дискреционный список управления доступом. Этот список описывает ограничения на доступ к файлу, перечисляя пользователей и указывая запрещенные или разрешенные для них операции. Этот список может изменить любой пользователь, имеющий разрешение на изменение разрешений для данного файла. Второй список называется SACL - системный список управления доступом. Этот список может составлять и редактировать только администратор системы. Обрабатываться элементы этого списка будут, если в системе включен аудит на доступ к файлам. Операционная система, при обращении пользователя к файлам, сравнивает записи в SACL с запросом и с записями в списке DACL и фиксирует в журнале безопасности соответствующее событие.

 

Файловая система NTFS рассчитана на работу с дисками большого объема. Максимально возможный теоретический размер тома - 16 экзабайт! Один экзабайт равен байт (приблизительно 16 000 миллиардов гигабайт)!

 

Количество файлов в корневом и других каталогах не ограничено.

 

Файловая система NTFS обладает высокой надежностью. Система NTFS содержит две копии MFT (аналог FAT). Но в отличие от FAT, MTF больше напоминает базу данных. Система NTFS имеет различные механизмы проверки целостности данных, включая ведение журналов транзакции, позволяющих воспроизвести операции записи файлов по специальному системному журналу. В начале операции, связанной с изменением файловой структуры, делается соответствующая пометка. Если происходит какой-либо сбой, то операция остается помеченной как незавершенная. При выполнении проверки целостности файловой системы после перезагрузки машины эти незавершенные действия отменяются, и файлы возвращаются в исходное состояние. Если запись данных в файл прошла без ошибок, запись из журнала транзакции удаляется. В NTFS, как и в HPFS имеется механизм аварийной замены дефектных секторов жесткого диска.

 

В файловой системе NTFS 5 в отличие от предыдущей версии (NTFS 4) имеется возможность квотирования - ограничение объема дискового пространства для пользователя, которое он сможет использовать. При этом вовсе необязательно чтобы все его файлы хранились в одном месте, они могут быть распределены по всем дискам. Другое отличие - возможность поиска файла по имени его владельца. В NTFS 5 добавлена функция точки монтирования. С помощью этой технологии можно присоединить любой дисковый ресурс в любое место файловой системы. Например, можно присоединить логический диск D: в любой из каталогов на диске C:, например C:disk. Теперь зайдя в директорию C:disk можно будет видеть содержимое корневого каталога диска D:. Все изменения, которые будут произведены в этой директории, будут произведены и на диске D:.

 

В системе NTFS могут быть созданы динамические диски. Это физический диск, на котором созданы динамические разделы. Динамические разделы могут быть следующих видов:

 

1) Простые - разделы практически не отличаются от обычных разделов;

 

2) Составные - состоят из нескольких динамических дисков, которые представлены как один диск. Данные пишутся и читаются последовательно;

 

3) Чередующиеся - несколько динамических дисков, представленные как один диск. Данные пишутся и читаются одновременно на несколько дисков. Этот метод обеспечивает более высокую скорость дисковых операций.

 

4) Зеркальные - эти разделы состоят из двух физических дисков. Данные, записываемые на один из дисков, автоматически дублируются на другом. Это не дает никаких преимуществ по скорости, но повышает степень надежности сохранности данных.

 

5) RAID 5 - состоит из трех и более дисков. Данные пишутся на два диска, в два блока, а на третий диск и в третий блок записывается код коррекции ошибок, с помощью которого по информации любого из блоков можно восстановить содержимое второго блока. Код коррекции записывается попеременно на каждый диск. Это экономит дисковое пространство, но работает медленнее.

 

Обычный диск (базовый) может быть конвертирован в динамический, а обратный процесс конвертирования динамического диска в базовый не всегда возможен. Например, если диск с самого начала создавался как динамический, то на нем отсутствует привычная таблица разделов. Кроме этого, если удалить на динамическом диске несколько разделов, то свободное место не объединяется и новый раздел, равный по размеру удаленным, будет состоять из нескольких мелких разделов, объединенных под одной буквой.

 

Список литературы

 

1. Гордеев А.В., “Операционные системы”, СПб: Питер, 2006 г.

 

2. Попов И.И., “Операционные системы, среды и оболочки”, Москва: Инфра-М, 2003 г.

 

3. Бойс Д., “От установки до оптимизации работы Windows XP”, Москва: НТ Пресс, 2007 г.

 

4. Столлингс В., “Операционные системы”, Москва: Вильямс, 2002 г.