Таблица размещения файлов
В процессе работы компьютера содержимое диска меняется: добавляются новые файлы, удаляются ненужные, изменяется объем файлов и т.д. Для выполнения этих операций необходимо отслеживать распределение пространства диска между файлами. В MS DOS эта задача решается с помощью таблицы размещения файлов. Для каждого файла в FAT создается цепочка элементов, каждый из которых указывает область фиксированной длины (кластер), занимаемую частью файла на диске. В каталоге, содержащем имя файла, имеется указатель к началу цепочки. При стирании файла элементы FAT и адресуемые ими области данных освобождаются (помечаются как свободные) и могут быть использованы для другого файла.
Достоинством такой организации является возможность осуществления прямого доступа к данным файла. Недостатком является постепенное фрагментирование диска
63
при активной работе г файловой системой но уничтожению, созданию п изменению объемов файлов. П рн этом занимаемое файлами пространство "разорвано" но всему диску. Фрагментпроваппе значительно увеличивает время доступа к данным на диске.
Область данных занимает большую часть диска - от конца корневого каталога до последнего сектора. Участки памяти из области данных выделяются группами из одного пли нескольких последовательных секторов, называемых кластерами. Размер сектора составляет 512 байтов.
Размеры кластера (число секторов) определяются операционной системой в зависимости от размера логического привода (размера раздела диска, если диск разбит на несколько разделов). Использование кластеров большой длины уменьшает фрагментированпе диска. Кроме того, уменьшается размер FAT, что увеличивает быстродействие. С другой стороны, слишком большой размер кластера ведет к неэффективному использованию пространства диска при наличии большого числа файлов небольшой длины (табл. 3.2).
Таблица 3.2
Потери дискового пространства
Размер раздела диска, Мб |
Размер кластера, кб |
Потери на 1000 файлов, Мб |
16-127,9 |
2 |
1 |
128-255,9 |
4 |
2 |
256-511,9 |
8 |
4 |
512-999,9 |
16 |
8 |
<
Данные из табл. 3. 2 целесообразно учитывать при принятии решения, стоит ли разбивать жесткий диск на несколько логических приводов.
Для повышения быстродействия при выполнении операций поиска в FAT последняя копируется в оперативную память. При большой FAT и относительно малой оперативной памяти возможны проблемы ее нехватки.
Для надежности сохраняются две копни FAT, расположенные одна за другой вслед за загрузочной записью. Однако MS DOS вторую копию FAT не использует. Элементы таблицы размещения файлов имеют длину 12 пли 16 битов. Последний вариант используется в дисках с более чем 4080 кластерами, например в дисках емкостью 20 Мбайтов.
FAT содержит информацию о расположении файлов, свободном пространстве па диске п неисправных блоках, а также код формата диска. В первых двух элементах FAT первый байт задает код формата диска, остальные 2 пли 3 байта всегда содержат FFh. Приведем примеры кодов, используемых для обозначения формата дисков:
F0h - DS(Double Sided - двухсторонняя)/НD(Нigh Density - высокой плотности) - дискета 3.5 дюйма (18 секторов);
F8h - жесткий диск;
F9h - DS/QD (Quadraple Density - учетверенной плотности)-дискеты 5.25 или 3.5 дюйма (9 секторов).
64
Каждому кластеру диска ставится в соответствие элемент FAT с тем же номером. Два элемента FAT (нулевой и первый) используются для задания кода формата диска, поэтому нумерация элементов таблицы начинается с 2. Для удобства нумерация кластеров при расчетах также начинается с 2.
Каждый элемент FAT представляет собой код из трех (12-битовая таблица) или четырех (16-битовая) шестнадцатеричных цифр. При этом используются следующие коды:
(0)000h - кластер свободен;
(0)003h-(F)FEFh - номера очередных кластеров файла;
(F)FF7h - дефектный кластер;
(F)FF0h-(F)FF9h - резервные кластеры.
На рис. 3.6 показан фрагмент FAT с цепочкой, описывающей расположение файла pr1 .txt.
Рис. 3.6. Пример цепочки FAT
Как видно из рис. 3.6, в каталоге для данного файла содержится помер первого кластера, занимаемого файлом.Этот номер одновременно определяет точку входа в FAT. Находящийся в ней элемент FAT указывает одновременно на очередной кластер файла и на очередной элемент FAT и т.д. до элемента таблицы, содержащего признак конца файла.
65
63 :: 64 :: 65 :: Содержание
Содержание раздела