Файловая система FAT


Основой является FAT таблица, содержащая сведения о кластерной области данных

Разделяют: FAT. FAT16. FAT32. exFAT

Раздел диска, отформатированный под FAT включает в себя:

 

Таблица FAT (как основная копия, так и резервная) состоит из массива индексных указателей, количество которых равно количеству кластеров области данных. Между кластерами и индексными указателями имеется взаимно однозначное соответствие — нулевой указатель соответствует нулевому кластеру и т. д.

Индексный указатель может принимать следующие значения, характеризующие состояние связанного с ним кластера:

• кластер свободен (не используется);

• кластер используется файлом и не является последним кластером файла; в этом случае индексный указатель содержит номер следующего кластера файла;

• последний кластер файла;

• дефектный кластер;

• резервный кластер.

 

 

Файлы в ОС UNIX

Информация о файле предоставляется пользователю в следующем формате:

 

ABBBBBBBBB C DDDD EEEEEEEE FFFFF GGGGGGGGGGGG HHHHH

Символ Информация Дополнительно
A   Тип файла - обычный файл; d каталог (фактически, каталог - это специальный файл, в котором перечислены файлы этого каталога); l символическая связь (файл, содержащий имя другого файла - является ссылкой на этот файл; подробности ниже в команде ln); c символьное устройство (устройство, с которым операции чтения-записи производятся побайтно); b блочное устройство (операции чтения-записи буферизуются). Некоторые устройства являются только символьными (например, последовательный порт), а некоторые представлены в обоих вариантах (например, диск). p конвейер (pipe; программный канал, организованный в виде очереди, для передачи данных между двумя процессами).  
B   Права на использование файла Следующие после типа файла 9 символов представляют собой права на использование файла: первая тройка символов - для пользователя-владельца файла, вторая - для группы-владельца, третья - для всех остальных. Наличие буквы в каждой тройке означает наличие соответствующего права: для обычных файлов: r - право на чтение содержимого файла w - право на изменение содержимого файла x - право на исполнение (запуск) файла для каталогов: r - право на получение списка файлов каталога w - право на создание и удаление файлов в каталоге x - право на "поиск" в каталоге   Набор прав --x для каталога позволяет войти в него и прочитать файл, имя которого заранее известно (при условии наличия прав чтения этого файла). Можно также выполнить команды ls и ls -l для этого файла. При этом получить список файлов (ls (-l) для каталога), а также создать или удалить файл нельзя. Право r-- для каталога позволяет произвести чтение каталога, то есть получить список имен его файлов. При этом ни войти в каталог, ни узнать атрибуты файлов (ls -l), ни прочесть файл (даже при наличии прав чтения этого файла) нельзя. Создать или удалить файл, естественно, нельзя. Модификация файла требует прав на запись в файл, так как это операция над файлом. Удаление файла требует прав на запись в каталог, в котором находится этот файл - это операция над каталогом. Наличие права записи в файл не обязательно означает возможность его удалить (хотя можно размер файла уменьшить до нуля).  
С   Число связей Число жестких связей (имён) файла - подробнее см. ниже команду ln. Для каталога - число его подкаталогов (как минимум два - '.' точка и '..' две точки. Текущий каталог обозначается точкой; родительский каталог, которому принадлежит текущий, обозначается двумя точками).
D   Пользователь-владелец файла  
E   Группа-владелец файла Группа - это именованное множество пользователей; группы составляются администратором. Каждый пользователь является членом как минимум одной группы. Пользователь-владелец файла (далее - просто владелец) не обязательно является членом группы-владельца, хотя и может быть таковым.
F   Размер файла в байтах  
G Дата последней модификации файла    
H   Имя файла  

 

Например,

-rwxr-xr-- 1 asoi students 24380 Feb 3 2014 hello

 

Структура индексного дескриптора (i-node)

• идентификатор владельцев файла;

• тип файла, файл может быть файлом обычного типа, каталогом, специальным файлом, конвейером и символьной связью;

• права доступа к файлу;

• временные характеристики: время последней модификации файла, время последнего обращения к файлу, время последней модификации индексного дескриптора;

• число ссылок на данный индексный дескриптор равно количеству псевдонимов файла;

• адресная информация ;

• размер файла в байтах.

Копирование индексного дескриптора входит в процедуру открытия файла. При открытии файла ядро выполняет следующие действия:

• Проверяет, существует ли файл; если не существует, то можно ли его создать. Если существует, то разрешен ли к нему доступ требуемого вида.

• Копирует индексный дескриптор с диска в оперативную память; если с указанным файлом уже ведется работа, то новая копия индексного дескриптора не создается.

• Создает в области ядра структуру, предназначенную для отображения текущего состояния операции обмена данными с указанным файлом. Эта структура, называемая file, содержит данные о типе операции (чтение, запись или чтение и запись), о числе считанных или записанных байтов, указатель на байт файла, с которым проводится операция.

• Делает отметку в контексте процесса, выдавшего системный вызов на операцию с данным файлом.

 

Поиск файла /bin/ my_shell/print

1. просматривается корневой каталог с целью поиска первого составляющего символьного имени – это bin. Определяется номер индексного дескриптора каталога – это 6, адрес корневого каталога системе известен;

2. из области индексных дескрипторов считывается дескриптор №6, начальный адрес дескриптора определяется на основании известных системе номера начального сектора номера индексного дескриптора и размера индексного дескриптора. Из индексного дескриптора 6 определяется физический адрес каталога bin.

3. просматривается каталог bin, целью поиска имени my_shell и определяется его номер – это 25;

4. считывается индексный дескриптор 25, определяется физический адрес каталога /bin/ my_shell/print;

5. просматривая каталог /bin/ my_shell/print, определяется номер индексного дескриптора файла print – это 131;

6. из индексного дескриптора131 определяются номера блоков данных и другие характеристики искомого файла.



Дата добавления: 2021-01-26; просмотров: 385;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.