Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Физическая организация и адресация файла



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

Основными критериями эффективности физической организации файлов являются:

- скорость доступа к данным;

- объем адресной информации файла;

- степень фрагментации дискового пространства;

- максимально возможный размер файла.

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

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

Рис. 7.5. Физическая организация файла:

а – непрерывное размещение; б – связанный список блоков;

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

Р азмещение в виде связанного списка кластеров дисковой памяти (рис. 7.5, б). При таком способе физической организации в начале каждого кластера содержится указатель на следующий кластер. В этом случае адрес файла также может быть задан одним числом – номером первого кластера. В отличие от предыдущего способа, каждый кластер может быть присоединен в цепочку какого-либо файла, следовательно, фрагментация отсутствует. Файл может изменяться во время своего существования, наращивая число кластеров. Недостатком является сложность доступа к произвольно заданному месту файла: чтобы прочитать пятый кластер файла, необходимо последовательно прочитать четыре первых кластера, прослеживая цепочку номеров кластеров. Кроме того, при этом способе количество данных файла, содержащихся в одном кластере, не равно степени двойки (одно слово израсходовано на номер следующего кластера), а многие программы читают данные кластерами, размер которых равен 2 n.

Связанный список индексов. Этот популярный способ задания физического расположения файла является модификацией предыдущего способа. Он применяется, например, в файловой системе FAT. Файлу также выделяется память в виде связанного списка кластеров (рис. 7.5, в). Номер первого кластера запоминается в записи каталога, где хранятся характеристики этого файла. Остальная адресная информация отделена от кластеров файла. С каждым кластером диска связывается некоторый элемент – индекс. Индексы располагаются в отдельной области диска – в MS-DOS это таблица FAT (Fie Allocation Table), занимающая один кластер. Когда память свободна, все индексы имеют нулевое значение. Если некоторый кластер N назначен некоторому файлу, то индекс этого кластера становится равным либо номеру М следующего кластера данного файла, либо принимает специальное значение, являющееся признаком того, что этот кластер является для файла последним. Индекс же предыдущего кластера файла принимает значение N, указывая на вновь назначенный кластер.

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

*ПРИМЕЧАНИЕ. При отсутствии фрагментации на уровне кластеров на диске все равно имеется определенное количество областей памяти небольшого размера, которые невозможно использовать, то есть фрагментация все же существует. Эти фрагменты представляют собой неиспользуемые части последних кластеров, назначенных файлам, поскольку объем файла в общем случае не кратен размеру кластера. На каждом файле в среднем теряется половина кластера. Это потери особенно велики, когда на диске имеется большое количество маленьких файлов, а кластер имеет большой размер. Размеры кластеров зависят от размера раздела и типа файловой системы. Примерный диапазон, в котором может меняться размер кластера, составляет от 512 байт до десятков килобайт.

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

Метод перечисления адресов кластеров файла задействован, например, в файловой системе NTFS (ОС Windows). Здесь он дополнен приемом, сокращающим объем адресной информации: адресуются не кластеры файла, а непрерывные области, состоящие из смежных кластеров диска. Каждая такая область называется отрезком (экстентом) и описывается с помощью двух чисел: начальный номер кластера и количество кластеров в отрезке.





Дата публикования: 2015-01-26; Прочитано: 2007 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...