Работа с массивами номеров свободных блоков — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Работа с массивами номеров свободных блоков

2017-11-18 407
Работа с массивами номеров свободных блоков 0.00 из 5.00 0 оценок
Заказать работу

В суперблоке файловой системы размещается массив номеров свободных блоков, этот массив является началом полного списка содержащего номера всех свободных блоков файловой системы.

Все свободные блоки ФС организованы в однонаправленный список, структурная организация которого следующая: 1-й элемент этого списка – это есть массив из Ν ссылок, которые размещаются в суперблоке. Ν зависит от конкретной ОС, пусть это будет 100. 0-й элемент этого массива есть номер блока из пространства блоков ФС, в котором находится продолжение этого списка. Соответственно 0-й элемент этого блока есть ссылка на следующий массив из Ν ссылок и т.д. ФС оперативно работает с этим массивом. Если в нем есть свободные места, то при освобождении блоков, они записываются на свободные места, если требуются новые блоки, то они выбираются из этого массива. Если массив исчерпывается, то информация берется из следующего блока. Если массив полностью заполнен, т.е. освобождается много блоков, то выбирается следующий свободный блок и этот массив скидывается на этот блок. Это достаточно важная информация, которая в каждый момент отражает состояние ФС.

Оперативный доступ к списку осуществляется посредством использования массива в суперблоке.

 

 

Работа с массивом свободных ИД

 

Массив номеров свободных индексных дескрипторов содержит оперативный набор номеров свободных индексных дескрипторов. Размер массива - Nиндекс.

При освобождении индексного дескриптора, если есть свободное место в массиве, то номер освободившегося индексного дескриптора записывается в соответствующий элемент массива. Если свободного места в массиве нет, то этот номер «забывается».

При запросе нового индексного дескриптора осуществляется поиск в массиве, если массив не пустой, то все в порядке, если массив пустой – происходит операция обновления его содержимого (происходит просмотр области индексных дескрипторов и занесение в массив обнаруженных свободных). Т.е. массив свободных индексных дескрипторов – это своеобразный буфер.

 

Индексные дескрипторы

 

Индексный дескриптор (ИД) – описатель файла, содержит все необходимые для работы с файлом служебные атрибуты.

 

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

 

Структура индексного дескриптора:

•тип файла, права, атрибуты выполнения (если = 0, то ИД свободен);

•число имен, которые ассоциированы с данным ИД;

•идентификаторы владельца-пользователя, владельца-группы;

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

•время последнего доступа к файлу;

•время последней модификации содержимого файла;

•время последней модификации ИД (за исключением времени доступа и времени модификации файла)

•массив номеров блоков файла.

 

Адресация блоков файла

 

Для простоты изложения будем считать, что размер блока равен 512 байт.

Размещение данных файла задается списком его блоков.

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

 

Ключом, задающим подобное расположение служит массив номеров блоков файла, содержащий список из 13 номеров блоков на диске, хранящихся в ИД.

Первые десять указывают на десять блоков некоторого файла.

Если файл занимает более 10 блоков, то 11 элемент указывает на косвенный блок, содержащий до 128 адресов дополнительных блоков файла (это еще 70656 байт).

Большие файлы используют 12-ый элемент, который указывает на блок, содержащий 128 указателей на блоки, каждый из которых содержит по 128 адресов блоков файла.

Еще в больших файлах аналогично используется 13 элемент.

 

Трехкратная косвенная адресация позволяет создавать файлы длиной (10+128+128*128+128*128*128)*512 байт.

 

Таким образом,

если файл меньше 512 байт, то необходимо одно обращение к диску,

если длина файла находится в пределах 512-70565 байт, то - два и так далее.

 

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

 

При открытиифайла соответствующий ИД считывается в память и системе становятся доступны все номера блоков данного файла.

Для одного и того же файла, открываемого несколько раз, в памяти находится только один ИД.

Система фиксирует число открытий данного файла и, когда этот счетчик обнуляется, резидентный образ ИД переписывается на диск. Если при этом изменений в файле не было и не модифицировался ИД, то запись не выполняется.

 

Указанные особенности существенно влияют на эффективность файловой системы.

 

 

Файл каталог

. Файл каталог для ФС System V представляет собой таблицу, каждая запись которой состоит из 16 байтов. Первые 2 байта – это номер индексного дескриптора. Последующие 14 байтов – это поле для имени файла. Соответственно имеется предопределенные записи в этих полях – это первые две строчки. 1-я строчка – это ссылка на самого себя, т.е. в этой строчке находится имя «.» (точка) и номер индексного этого файла каталога. Следующая запись – это ссылка на родительский каталог, соответственно в нем имеется номер индексного дескриптора и имя «..» (две точки).Содержимое файла – таблица. 1-е поле – это номер индексного дескриптора (ИД), которому соответствует имя Name из второго поля.

 


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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.