The design of the UNIX Operating System 70 страница



• Закрытие файла. Если работа с файлом завершена, его атрибуты и адреса блоков на диске больше не нужны. В этом случае файл нужно закрыть, чтобы освободить место во внутренних таблицах файловой системы.

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


Основы операционных систем 104

• Чтение данных из файла. Обычно это делается с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить для них буфер в оперативной памяти.

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

 

Есть и другие операции, например переименование файла, получение атрибутов файла и т. д.

 

Существует два способа выполнить последовательность действий над файлами [Олифер, 2001].

 

В первом случае для каждой операции выполняются как универсальные, так и уникальные действия (схема stateless). Например, последовательность операций может быть такой: open, read1, close, ... open, read2, close, ... open, read3, close.

 

Альтернативный способ - это когда универсальные действия выполняются в начале и в конце последова-тельности операций, а для каждой промежуточной операции выполняются только уникальные действия. В этом случае последовательность вышеприведенных операций будет выглядеть так: open, read1, ... read2,

 

... read3, close.

 

Большинство ОС использует второй способ, более экономичный и быстрый. Первый способ более устой-чив к сбоям, поскольку результаты каждой операции становятся независимыми от результатов предыду-щей операции; поэтому он иногда применяется в распределенных файловых системах (например, Sun NFS).

 

Директории. Логическая структура файлового архива

 

Количество файлов на компьютере может быть большим. Отдельные системы хранят тысячи файлов, за-нимающие сотни гигабайтов дискового пространства. Эффективное управление этими данными подра-зумевает наличие в них четкой логической структуры. Все современные файловые системы поддержива-ют многоуровневое именование файлов за счет наличия во внешней памяти дополнительных файлов со специальной структурой - каталогов (или директорий).

 

Каждый каталог содержит список каталогов и/или файлов, содержащихся в данном каталоге. Каталоги имеют один и тот же внутренний формат, где каждому файлу соответствует одна запись в файле дирек-тории (см., например, рис.11.3).

 

Число директорий зависит от системы. В ранних ОС имелась только одна корневая директория, затем появились директории для пользователей ( по одной директории на пользователя). В современных ОС ис-пользуется произвольная структура дерева директорий.

 

Рис. 11.3. Директории

 

Таким образом, файлы на диске образуют иерархическую древовидную структуру (см. рис. 11.4).


Основы операционных систем 105

 

 

Рис. 11.4. Древовидная структура файловой системы

 

Существует несколько эквивалентных способов изображения дерева. Структура перевернутого дерева, приведенного на рис. 11.4, наиболее распространена. Верхнюю вершину называют корнем. Если элемент дерева не может иметь потомков, он называется терминальной вершиной или листом ( в данном случае является файлом). Нелистовые вершины - справочники или каталоги содержат списки листовых и нелис-товых вершин. Путь от корня к файлу однозначно определяет файл.


Дата добавления: 2021-01-21; просмотров: 128; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!