Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Структура данных на магнитных дисках в системе FAT






ОРГАНИЗАЦИЯ ХРАНЕНИЯ ДАННЫХ

НА МАГНИТНЫХ ДИСКАХ В СИСТЕМЕ FAT

Структура данных на магнитных дисках в системе FAT

Любой файл на диске занимает определенное место и имеет соответствующий адрес. Любой диск разбивается на совокупность дорожек, а каждая дорожка разбивается на несколько секторов. Размер информационной части каждого сектора равен 512 байтам (0.5 Кбайт). Разбиение диска на дорожки и секторы называется форматированием диска и осуществляется с помощью специальных программ. Обычные дискеты диаметром 3.5¢ ¢ имеют по 80 дорожек на каждой из двух сторон и 18 секторов на каждой дорожке. Общая емкость такого гибкого диска составляет Кбайт (1.44 Мбайт). Если учесть, что 1 Кбайт = 1024 байт, то, более точно, емкость гибкого диска равна 1457664 байта. Емкость жестких дисков измеряется мегабайтами (1 Мбайт = 1024 Кбайт) или гигабайтами (1 Гбайт = 1024 Мбайт). Число секторов и дорожек на них больше, чем у гибких дисков, и зависит от емкости диска.

На дисках есть несколько специальных областей:

- загрузочная запись (boot record - блок начальной загрузки);

- таблица размещения файлов (file Allocation Table - FAT);

- каталог файлов;

- область пользовательских файлов.

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

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

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

Число секторов в кластере зависит от типа диска. Обычно на гибком диске в кластер входит 1 - 2 сектора, на жестком диске кластер содержит 4 - 64 сектора. Так, для жесткого диска емкостью 2 Гбайта кластер равен 32 Кбайта. Однако каким бы маленьким ни был файл, он все равно займет на диске целый кластер, и все неиспользуемые в нем секторы просто пропадут.

Начиная с Windows 95, таблица размещения файлов FAT использует для кодирования адреса файла 32 бита, что позволяет более эффективно использовать дисковое пространство. Например, диски объемом до 8 Гбайт имеют размер кластера 4 Кбайта.

 

Таблица размещения файлов FAT

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

Если емкость диска не превышает 10 Мбайт, то длина элемента FAT составляет 12 бит. При емкости диска более 10 Мбайт длина элемента FAT равна 16 бит. В Windows 95 используется FAT, элементы которой имеют длину 32 бита. Значения, которые могут принимать элементы FAT, приведены в табл. 1.

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

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

 

Таблица 1

16-битный элемент FAT Описание
  Свободный
0001-FFEF Занятый
FFF0-FFF6 Зарезервирован DOS
FFF7 Дефектный
FFF8-FFFF Конец цепи кластеров

 

 

Для каждого файла в каталоге находятся имя файла и номер его начального кластера . В элементе FAT с номером содержится номер следующего кластера искомого файла, в элементе FAT с номером содержится номер следующего кластера файла и т.д. Если кластер является последним кластером файла, то в элементе FAT с номером будет содержаться индикатор конца файла (FFF или FFFF). Таким образом, для нахождения всех кластеров файла нужно знать лишь только номер первого кластера, который хранится в каталоге на диске. На рис.1 показано, что файл MYFILE записан в кластерах 004, 005, 006, 008.

 

Рис. 1

 

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.