Работа с массивом свободных ИД
Массив номеров свободных индексных дескрипторов содержит оперативный набор номеров свободных индексных дескрипторов. Размер массива - Nиндекс.
При освобождении индексного дескриптора, если есть свободное место в массиве, то номер освободившегося индексного дескриптора записывается в соответствующий элемент массива. Если свободного места в массиве нет, то этот номер «забывается».
При запросе нового индексного дескриптора осуществляется поиск в массиве, если массив не пустой, то все в порядке, если массив пустой – происходит операция обновления его содержимого (происходит просмотр области индексных дескрипторов и занесение в массив обнаруженных свободных). Т.е. массив свободных индексных дескрипторов – это своеобразный буфер.
Индексный дескриптор (ИД) – описатель файла, содержит все необходимые для работы с файлом служебные атрибуты.
Через ИД осуществляется доступ к содержимому файлов. Любое имя файла в системе ассоциировано с единственным ИД, но это соответствие неоднозначно. Т.е. ИД может соответствовать произвольное количество имен.
|
|
Структура индексного дескриптора:
•тип файла, права, атрибуты выполнения (если = 0, то ИД свободен);
•число имен, которые ассоциированы с данным ИД;
•идентификаторы владельца-пользователя, владельца-группы;
•размер файла в байтах;
•время последнего доступа к файлу;
•время последней модификации содержимого файла;
•время последней модификации ИД (за исключением времени доступа и времени модификации файла)
•массив номеров блоков файла.