Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 21:11, реферат
Представление пользователя о файловой системе как об иерархически организованном множестве информационных объектов имеет мало общего с порядком хранения файлов на диске. Файл, имеющий образ цельного, непрерывающегося набора байт, на самом деле очень часто разбросан «кусочками» по всему диску, причем это разбиение никак не связано с логической структурой файла, например, его отдельная логическая запись может быть расположена в несмежных секторах диска. Логически объединенные файлы из одного каталога совсем не обязаны соседствовать на диске. Принципы размещения файлов, каталогов и системной информации на реальном устройстве описываются физической организацией файловой системы. Очевидно, что разные файловые системы имеют разную физическую организацию.
ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ФАЙЛОВОЙ СИСТЕМЫ
ДИСКИ, РАЗДЕЛЫ, СЕКТОРЫ, КЛАСТЕРЫ
ФЛЭШ-ПАМЯТЬ
Использованная Литература
СОДЕРЖАНИЕ
1.
ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ
ФАЙЛОВОЙ СИСТЕМЫ
Представление
пользователя о файловой системе
как об иерархически организованном
множестве информационных объектов
имеет мало общего с порядком хранения
файлов на диске. Файл, имеющий образ
цельного, непрерывающегося набора байт,
на самом деле очень часто разбросан
«кусочками» по всему диску, причем
это разбиение никак не связано
с логической структурой файла, например,
его отдельная логическая запись
может быть расположена в несмежных
секторах диска. Логически объединенные
файлы из одного каталога совсем не
обязаны соседствовать на диске.
Принципы размещения файлов, каталогов
и системной информации на реальном
устройстве описываются физической
организацией файловой системы. Очевидно,
что разные файловые системы имеют
разную физическую организацию.
2.
ДИСКИ, РАЗДЕЛЫ, СЕКТОРЫ,
КЛАСТЕРЫ
Основным типом устройства, которое используется в современных вычислительных системах для хранения файлов, являются дисковые накопители. Эти устройства предназначены для считывания и записи данных на жесткие и гибкие магнитные диски. Жесткий диск состоит из одной или нескольких стеклянных или металлических пластин, каждая из которых покрыта с одной или двух сторон магнитным материалом. Таким образом, диск в общем случае состоит из пакета пластин (рис. 1).
На каждой стороне каждой пластины размечены тонкие концентрические кольца — дорожки (traks), на которых хранятся данные. Количество дорожек зависит от типа диска. Нумерация дорожек начинается с 0 от внешнего края к центру диска. Когда диск вращается, элемент, называемый головкой, считывает двоичные данные с магнитной дорожки или записывает их на магнитную дорожку.
Рис.
1. Схема устройства жесткого диска
Головка
может позиционироваться над
заданной дорожкой. Головки перемещаются
над поверхностью диска дискретными
шагами, каждый шаг соответствует
сдвигу на одну дорожку. Запись на диск
осуществляется благодаря способности
головки изменять магнитные свойства
дорожки. В некоторых дисках вдоль
каждой поверхности перемещается одна
головка, а в других — имеется
по головке на каждую дорожку. В первом
случае для поиска информации головка
должна перемещаться по радиусу диска.
Обычно все головки закреплены на
едином перемещающем механизме и
двигаются синхронно. Поэтому, когда
головка фиксируется на заданной
дорожке одной поверхности, все
остальные головки
Совокупность
дорожек одного радиуса на всех поверхностях
всех пластин пакета называется цилиндром
(cylinder). Каждая дорожка разбивается на
фрагменты, называемые секторами (sectors),
или блоками (blocks), так что все дорожки
имеют равное число секторов, в которые
можно максимально записать одно и то
же число байт. Сектор имеет фиксированный
для конкретной системы размер, выражающийся
степенью двойки. Чаще всего размер сектора
составляет 512 байт. Учитывая, что дорожки
разного радиуса имеют одинаковое число
секторов, плотность записи становится
тем выше, чем ближе дорожка к центру. Сектор
— наименьшая адресуемая единица обмена
данными дискового устройства с оперативной
памятью. Для того чтобы контроллер мог
найти на диске нужный сектор, необходимо
задать ему все составляющие адреса сектора:
номер цилиндра, номер поверхности и номер
сектора. Так как прикладной программе
в общем случае нужен не сектор, а некоторое
количество байт, не обязательно кратное
размеру сектора, то типичный запрос включает
чтение нескольких секторов, содержащих
требуемую информацию, и одного или двух
секторов, содержащих наряду с требуемыми
избыточные данные (рис. 2).
Рис.
2. Считывание избыточных данных при обмене
с диском
Операционная система при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (cluster). При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске 3 кластера.
Дорожки
и секторы создаются в
Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровневого, или логического, форматирования. При высокоуровневом форматировании определяется размер кластера и на диск записывается информация, необходимая для работы файловой системы, в том числе информация о доступном и неиспользуемом пространстве, о границах областей, отведенных под файлы и каталоги, информация о поврежденных областях. Кроме того, на диск записывается загрузчик операционной системы — небольшая программа, которая начинает процесс инициализации операционной системы после включения питания или рестарта компьютера.
Прежде чем форматировать диск под определенную файловую систему, он может быть разбит на разделы. Раздел — это непрерывная часть физического диска, которую операционная система представляет пользователю как логическое устройство (используются также названия логический диск и логический раздел). Логическое устройство функционирует так, как если бы это был отдельный физический диск. Именно с логическими устройствами работает пользователь, обращаясь к ним по символьным именам, используя, например, обозначения А, В, С, SYS и т. п. Операционные системы разного типа используют единое для всех них представление о разделах, но создают на его основе логические устройства, специфические для каждого типа ОС. Так же как файловая система, с которой работает одна ОС, в общем случае не может интерпретироваться ОС другого типа, логические устройства не могут быть использованы операционными системами разного типа. На каждом логическом устройстве может создаваться только одна файловая система.
В частном случае, когда все дисковое пространство охватывается одним разделом, логическое устройство представляет физическое устройство в целом. Если диск разбит на несколько разделов, то для каждого из этих разделов может быть создано отдельное логическое устройство. Логическое устройство может быть создано и на базе нескольких разделов, причем эти разделы не обязательно должны принадлежать одному физическому устройству. Объединение нескольких разделов в единое логическое устройство может выполняться разными способами и преследовать разные цели, основные из которых: увеличение общего объема логического раздела, повышение производительности и отказоустойчивости. Примерами организации совместной работы нескольких дисковых разделов являются так называемые RAID-массивы, подробнее о которых будет сказано далее. На разных логических устройствах одного и того же физического диска могут располагаться файловые системы разного типа. На рис. 3 показан пример диска, разбитого на три раздела, в которых установлены две файловых системы NTFS (разделы С и Е) и одна файловая система FAT (раздел D).
Все разделы одного диска имеют одинаковый размер блока, определенный для данного диска в результате низкоуровневого форматирования. Однако в результате высокоуровневого форматирования в разных разделах одного и того же диска, представленных разными логическими устройствами, могут быть установлены файловые системы, в которых определены кластеры отличающихся размеров.
Операционная система может поддерживать разные статусы разделов, особым образом отмечая разделы, которые могут быть использованы для загрузки модулей операционной системы, и разделы, в которых можно устанавливать только приложения и хранить файлы данных. Один из разделов диска помечается как загружаемый (или активный) Именно из этого раздела считывается загрузчик операционной системы.
Рис.
3. Разбиение диска на разделы
Важным компонентом физической организации файловой системы является физическая организация файла, то есть способ размещения файла на диске. Основными критериями эффективности физической организации файлов являются:
скорость доступа к данным;
объем адресной информации файла;
степень фрагментированности дискового пространства;
максимально возможный размер файла.
Непрерывное
размещение — простейший вариант
физической организации (рис. 4, а), при
котором файлу предоставляется последовательность
кластеров диска, образующих непрерывный
участок дисковой памяти. Основным достоинством
этого метода является высокая скорость
доступа, так как затраты на поиск и считывание
кластеров файла минимальны. Также минимален
объем адресной информации — достаточно
хранить только номер первого кластера
и объем файла Данная физическая организация
максимально возможный размер файла не
ограничивает. Однако этот вариант имеет
существенные недостатки, которые затрудняют
его применимость на практике, несмотря
на всю его логическую простоту. При более
пристальном рассмотрении оказывается,
что реализовать эту схему не так уж просто
Действительно, какого размера должна
быть непрерывная область, выделяемая
файлу, если файл при каждой модификации
может увеличить свой размер? Еще более
серьезной проблемой является фрагментация.
Спустя некоторое время после создания
файловой системы в результате выполнения
многочисленных операций создания и удаления
файлов пространство диска неминуемо
превращается в «лоскутное одеяло», включающее
большое число свободных областей небольшого
размера. Как всегда бывает при фрагментации,
суммарный объем свободной памяти может
быть очень большим, а выбрать место для
размещения файла целиком невозможно.
Поэтому на практике используются методы,
в которых файл размещается в нескольких,
в общем случае несмежных областях диска.
Рис.
4. Физическая организация файла: непрерывное
размещение (а); связанный список кластеров
(б); связанный список индексов (в); перечень
номеров кластеров (г)
Следующий
способ физической организации —
размещение файла в виде связанного
списка кластеров дисковой памяти (рис.
7.11, б). При таком способе в начале
каждого кластера содержится указатель
на следующий кластер. В этом случае
адресная информация минимальна: расположение
файла может быть задано одним
числом — номером первого кластера.
В отличие от предыдущего способа
каждый кластер может быть присоединен
к цепочке кластеров какого-
Популярным способом, применяемым, например, в файловой системе FAT, является использование связанного списка индексов (рис. 4, б). Этот способ является некоторой модификацией предыдущего. Файлу также выделяется память в виде связанного списка кластеров. Номер первого кластера запоминается в записи каталога, где хранятся характеристики этого файла. Остальная адресная информация отделена от кластеров файла. С каждым кластером диска связывается некоторый элемент — индекс. Индексы располагаются в отдельной области диска — в MS-DOS это таблица FAT (File Allocation Table), занимающая один кластер. Когда память свободна, все индексы имеют нулевое значение. Если некоторый кластер N назначен некоторому файлу, то индекс этого кластера становится равным либо номеру М следующего кластера данного файла, либо принимает специальное значение, являющееся признаком того, что этот кластер является для файла последним. Индекс же предыдущего кластера файла принимает значение N, указывая на вновь назначенный кластер.
При
такой физической организации сохраняются
все достоинства предыдущего
способа: минимальность адресной информации,
отсутствие фрагментации, отсутствие
проблем при изменении размера.
Кроме того, данный способ обладает
дополнительными
ПРИМЕЧАНИЕ
Необходимо отметить, что при отсутствии фрагментации на уровне кластеров на диске все равно имеется определенное количество областей памяти небольшого размера, которые невозможно использовать, то есть фрагментация все же существует. Эти фрагменты представляют собой неиспользуемые части последних кластеров, назначенных файлам, поскольку объем файла в общем случае не кратен размеру кластера. На каждом файле в среднем теряется половина кластера. Это потери особенно велики, когда на диске имеется большое количество маленьких файлов, а кластер имеет большой размер. Размеры кластеров зависят от размера раздела и типа файловой системы Примерный диапазон, в котором может меняться размер кластера, составляет от 512 байт до десятков килобайт.
Еще один способ задания физического расположения файла заключается в простом перечислении номеров кластеров, занимаемых этим файлом (рис. 4, г). Этот перечень и служит адресом файла. Недостаток данного способа очевиден: длина адреса зависит от размера файла и для большого файла может составить значительную величину. Достоинством же является высокая скорость доступа к произвольному кластеру файла, так как здесь применяется прямая адресация, которая исключает просмотр цепочки указателей при поиске адреса произвольного кластера файла. Фрагментация на уровне кластеров в этом способе также отсутствует.