Сравнение файловых систем



 

 

Хакасский государственный университет им. Н. Ф. Катанова

Институт информатики и телематики

Кафедра информационных технологий и систем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Курсовая работа

по дисциплине «Операционные системы»

                           

Сравнение файловых систем.

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                    Выполнила:

                                                                                                                                                       студентка группы № 471

Кудряшова В.А.

«___» ____________ 2009 г.

______________________

подпись студента

Проверил:

Майнагашева Е.Г..

«___» ____________2009 г.

______________________

примечания преподавателя

______________________

оценка

______________________

 

 

 

 

 

 

Саяногорск 2009г.



 

ВВЕДЕНИЕ

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

Поскольку на IBM PC – совместимых компьютерах информация храниться в основном на дисках, то применяемые на них файловые системы определяют организацию данных именно на дисках (точнее, на логических дисках).

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

1) Рассмотреть разные файловые системы;

2) Рассмотреть общую модель файловой системы;

3) Сравнительные характеристики файловых систем;

4) Обзор файловых систем FAT, HPFS и NTFS

5) Сделать выводы по файловым системам;

В ходе написания курсовой работы, были взяты для рассмотрения четыре разные файловые системы – FAT, FAT 32, HPFS, NTFS.

Объектом исследования являются файловые системы, предметом работы выступает сравнение файловых систем.

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

Практическая значимость работы заключается в том, что она может служить неким

 

советом пользователям при выборе и установке наиболее подходящей для них

файловой системы на компьютер.

При написании курсовой работы использованы книги  В.Э. Фигурнова «IBM PC для пользователя», М. Гук «Аппаратные средства IBM PC », в которых дается определение, описание, использование и подробная характеристика файловых систем.

Структура курсовой работы:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.ПОНЯТИЕ ФАЙЛОВ

1.1. Общие понятия файловой системы

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

Информация на дисках записывается в секторах фиксированной длины, и каждый сектор и расположение каждой физической записи (сектора) на диске однозначно определяется тремя числами: номерами поверхности диска, цилиндра и сектора на дорожке. И контроллер диска работает с диском именно в этих терминах. Пользователь желает использовать не сектора, цилиндры и поверхности, а файлы и каталоги.

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

Файловая система — часть операционной системы, управляющая размещением и доступом к файлам и каталогам на диске.

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

Правила формирования файловой структуры диска. При формировании файловой структуры диска операционная система MS DOS соблюдает ряд правил:

файл или каталог могут быть зарегистрированы с одним и тем же именем в разных каталогах, но в одном и том же каталоге только один раз;

порядок следования имен файлов и подкаталогов в родительском каталоге произвольный;

файл может быть разбит на несколько частей, для которых выделяются участки

 

дискового пространства одинакового объема на разных дорожках и секторах.

В разных файловых системах могут использоваться в качестве атрибутов разные характеристики, например:

информация о разрешенном доступе,

пароль для доступа к файлу,

владелец файла,

создатель файла,

признак "только для чтения",

признак "скрытый файл",

признак "системный файл",

признак "архивный файл",

признак "двоичный/символьный",

признак "временный" (удалить после завершения процесса),

признак блокировки,

длина записи,

указатель на ключевое поле в записи,

длина ключа,

времена создания, последнего доступа и последнего изменения,

текущий размер файла, максимальный размер файла.

1.2. Общая модель файловой системы

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

Задачей символьного уровня является определение по символьному имени файла его уникального имени. В файловых системах, в которых каждый файл может иметь только одно символьное имя (например, MS-DOS), этот уровень отсутствует, так как символьное имя, присвоенное файлу пользователем, является одновременно уникальным и может быть использовано операционной системой.

а - непрерывное размещение; б - связанный список блоков;
в - связанный список индексов; г - перечень номеров блоков

 

В других файловых системах, в которых один и тот же файл может иметь несколько

символьных имен, на данном уровне просматривается цепочка каталогов для определения уникального имени файла. В файловой системе UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

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

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

На логическом уровне определяются координаты запрашиваемой логической записи в

файле, то есть требуется определить, на каком расстоянии (в байтах) от начала файла

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

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

 

Рисунок 1.2.2 иллюстрирует работу физического уровня для простейшей физической

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

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

1.3. Современные архитектуры файловых систем

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

Новая файловая система имеет многоуровневую структуру (рисунок 1.3), на верхнем уровне которой располагается так называемый переключатель файловых систем (в Windows 95, например, такой переключатель называется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.

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

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

Для выполнения своих функций драйверы файловых систем обращаются к подсистеме ввода-вывода, образующей следующий слой файловой системы новой архитектуры.

 

Подсистема ввода вывода - это составная часть файловой системы, которая отвечает за

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

системы, что позволяет им осуществлять запросы к конкретным устройствам.

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

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

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

1.4. Определение файловой системы

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

участками (секторами) дисков.

Файловая система определяет:

Как хранятся файлы и каталоги на диске;

Какие сведения хранятся о файлах и каталогах;

Как можно узнать, какие участки диска свободны, а какие – нет;

Формат каталогов и другой служебной информации на диске.

 

Для использования дисков, записанных (размеченных) с помощью некоторой файловой

системы, операционная система или специальная программа должна поддерживать эту файловую систему.

Распределенная файловая система (Distributed file system) файловая система:

Функционирующая на нескольких компьютерах;

Предоставляющая пользователю логически единообразный доступ ко всем файлам сети.

Поскольку на IBM PC – совместимых компьютерах информация храниться в основном на дисках, то применяемые на них файловые системы определяют организацию данных именно на дисках (точнее, на логических дисках). В ходе написания курсовой работы, были рассмотрены четыре файловые системы – FAT, FAT 32, HPFS, NTFS.

Выводы.

1.      Разобрали понятие файловой системы в узком и широком смысле.

2.      Разобрали многоуровневую архитектуру файловой системы, расписали принцип ее работы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. ВИДЫ ФАЙЛОВЫХ СИСТЕМ

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

FAT (File Allocation Table) - FAT является наиболее простой из поддерживаемых Windows NT файловых систем. Основой файловой системы FAT является таблица размещения файлов, которая помещена в самом начале тома. На случай повреждения на диске хранятся две копии этой таблицы. Кроме того, таблица размещения файлов и корневой каталог должны храниться в определенном месте на диске (для правильного определения места расположения файлов загрузки).

Существует несколько типов файловой системы FAT - FAT 12, FAT 16 и FAT 32. Они отличаются количеством цифр, используемых в таблице размещения файлов.

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

FAT 12, используется в разделах емкостью не более 16 Мбайт (например, дискета);

FAT 16, используется в разделах емкостью от 16 Мбайт до 2 Гбайт;

FAT 32, используется (необязательно) в разделах емкостью от 512 Мбайт до 2 Тбайт.

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

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

Каталог FAT не имеет определенной структуры, и файлы записываются в первом обнаруженном свободном месте на диске. Кроме того, файловая система FAT поддерживает только четыре файловых атрибута: «Системный», «Скрытый», «Только чтение» и «Архивный».

Загрузочный сектор главного раздела (или главная загрузочная запись (Master

Boot Record - MBR)) является первым сектором на жестком диске (цилиндр 0,

 

головка 0, сектор 1) и состоит из двух элементов.

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

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

Главный загрузочный код. Небольшая программа, которая выполняется системой BIOS. Основная функция этого кода - передача управления в раздел, который обозначен как активный (или загрузочный).

Загрузочный сектор - это первый сектор на любом логическом диске DOS. Например, на дискете или на диске Zip это самый первый физический сектор, так как дискету нельзя разбить на разделы и она имеет только один логический диск. На жестком диске загрузочный сектор (секторы) располагается в начале каждого раздела, не являющегося дополнительным, или в начале любой области диска, распознаваемой как логический диск DOS.

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

Для работы с большими дисками была разработана новая файловая система FAT32. Microsoft впервые представляет файловую систему FAT32 в операционной системе Windows 95 OSR2. В этой ФС, как следует из названия разрядность указателя на кластер увеличивается до 32 бит, что значительно увеличивает количество поддерживаемых кластеров, и, следовательно, позволяет уменьшить их размер. Вы видите, что разрядность указателя составляет 32 бита и, даже используя кластер 512 байт, эта файловая система может поддерживать диски в 127,9 Гбайт. А при использовании кластера 32 Кбайт она может поддерживать диски до 2 Тбайт.

На первый взгляд может показаться, что теперь можно использовать кластер размеров в один блок (512 байт), уменьшив тем самым потери в хвостах файлов почти до нуля, но использование таких малых кластеров все же не выгодно из соображений производительности. Вы помните, что информация о расположении файла по кластерам содержится в FAT таблице. Чем меньше размер кластера, тем больше кластеров займет файл и тем больше записей появится в таблице и соответственно тем дольше будет происходить считывание информации о расположении файла при

 

доступе к нему.

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

Быстродействие системы FAT32 можно повысить, увеличив размер кластера. Увеличивая кластер в два раза, мы сокращаем область FAT тоже в два раза. В FAT32 это очень важная для быстродействия область занимает несколько Мбайт. Сокращение области FAT в несколько раз даст заметное увеличение быстродействия, так как объем системных данных файловой системы сильно сократится - уменьшится и время, затрачиваемое на чтение данных о расположении файлов. Обратная сторона – существенно возрастают потери дискового пространства.

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

В Windows XP/2000 максимальный размер раздела, который можно отформатировать с помощью FAT32, равен 32 Гбайт, не смотря на теоретический предел в 4 Тбайт. Видимо, Microsoft нашла ту точку, дальше которой идти не имеет смысла. Несмотря на это, вы можете работать с разделами FAT32 более 32 Гбайт, если они были отформатированы с помощью другой ОС.

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

Корневой каталог в FAT32 больше не располагается в определенном месте, вместо

 

этого хранится указатель на начальный кластер корневого каталога. В результате снимается ранее существовавшее ограничение на число записей в корневом каталоге.

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

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

Файловая система HPFS впервые была использована для операционной системы OS/2 1.2, чтобы обеспечить доступ к появлявшимся в то время на рынке дискам большого размера. Кроме того, назрела необходимость расширения существующей системы имен, улучшения организации и безопасности для удовлетворения растущих потребностей рынка сетевых серверов. В файловой системе HPFS поддерживается структура каталогов FAT и добавлена сортировка файлов по именам. Имя файла может содержать до 254 двухбайтовых символов.

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

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

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

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

 

распределения ближайшего блока.
Кроме того, файловая система HPFS содержит два уникальных объекта данных.

Суперблок

Суперблок располагается в логическом секторе 16 и содержит указатель на FNODE корневого каталога. В этом кроется главная опасность использования HPFS: если сектор суперблока помечен как поврежденный, это приводит к потере всех данных раздела даже на неповрежденных участках диска. Для восстановления данных их необходимо скопировать на другой диск с неповрежденным сектором 16 и воссоздать суперблок. Это очень сложная задача.

Запасной блок

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