Наверх Системное программирование
Предыдущий раздел Оглавление Следующий раздел

5.3.2.3. Размещение с помощью связанного списка, использующего таблицу в памяти

Рис

Рис. 5.6. Размещение с помощью
связанного списка,
использующего таблицу размещения
файлов в оперативной памяти

Недостатки размещения файлов, которое осуществляется с помощью связанных списков, устраняются переносом слов указателя каждого дискового блока в находящуюся в памяти таблицу. Таблица для файлов, показанных на рис. 5.5, представлена на рис. 5.6. Файл A использует дисковые блоки 4, 7, 2, 10 и 12, а файл B — блоки 6, 3, 11 и 14. Можно пройти всю цепочку блоков, используя таблицу размещения файлов. Каждая цепочка блоков заканчивается специальным маркером (например, –1), который не может использоваться для обозначения номера блока. Данная таблица размещения файлов называется FAT (File Allocation Table).

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

То, что таблица размещения файлов должна находиться в оперативной памяти постоянно, является основным недостатком этого метода. Например, для диска размером в 1 Тбайт, блоки которого имеют размер 1 Кбайт, может потребоваться таблица размером около 2,4 Гбайт (около миллиарда записей). С практической точки зрения такое использование оперативной памяти недопустимо. Очевидно, что идея FAT для дисков больших размеров не подходит.

Предыдущий раздел Оглавление Следующий раздел