Физическая организация данных
Физическая организация данных Linux file System ( UFS ) была разработана на основе файловой системы S5 ( одной из ранних версий LINUX ) и расширяет возможности S5 по поддержке больших дисков и файлов. В ОС LINUX физическая организация данных имеет название ext2, ext3 и основана на файловой организации данных UFS. Диск разделен на блоки ( кластеры ), обычно по 8 кбайт.
Загрузочный блок | |
Superblock | Содержит служебную информацию: - Размер области индексных дескрипторов; - Число индексных дескрипторов; - Список свободных блоков; - Список свободных индексных дескрипторов; |
Область индексных дескрипторов | ИД расположены по порядку номеров |
Область данных | Содержит данные: Обычные файлы; Каталоги; Файлы устройств представлены записью спец. формата |
Основной особенностью физической организации данных UFS является отделение имени файла от его характеристик. Характеристика файла хранятся в отдельной структуре – индексном дескрипторе, который содержит:
- Тип файла;
- Владельца файла;
- Атрибуты файла ( права доступа );
- Время создания, последней модификации, последнего обращения;
- Размер файла в байтах;
- Номера блоков на диске, которые занимает этот файл.
Каждый индексный дескриптор имеет свой номер, ИД располагаются в области ИД по порядку, ИД однозначно определяет уникальное имя файла. Соответствие между уникальным именем файла и символьным именем файла устанавливается с помощью иерархии каталогов.
Система ведет список свободных номеров ИД, при создании файла ему выделяется номер из этого списка, при уничтожении файла номер ИД возвращается в список свободных.
Для хранения адреса выделено 15 полей по 4 байта. В первые 12 полей записываются номера блоков, в которых хранятся данные файла – прямая адресация.
Если 12 блоков недостаточно, т. е. файл имеет длину более 12 * 8 кбайт = 98304 байт, то выделяется еще одно поле, в котором содержится адрес следующих 12 полей. Используется косвенная адресация.
Косвенная адресация
Если тринадцать блоков недостаточно, то первые двенадцать блоков содержат адреса данных – прямая адресация. Тринадцатый блок содержит адрес следующих двенадцати полей, в которых содержатся данные – косвенная адресация. Четырнадцатый блок содержит адрес следующих 12 полей, в которых записаны адреса блоков, которые содержат адреса следующих 12 полей, которые содержат уже адреса данных - двойная косвенная адресация.
Для очень больших файлов может использоваться тройная косвенная адресация, максимальный размер файла - 7 * 10 13 байт.
Дата добавления: 2015-08-11; просмотров: 724;