Сделай Сам Свою Работу на 5

Основные файловые операции

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

Ø Удаление файла и освобождение занимаемого им дискового пространства.

Ø Открытие файла. Перед использованием файла процесс должен его открыть. Цель данного системного вызова - разрешить системе проанализировать атрибуты файла и проверить права доступа к нему, а также считать в оперативную память список адресов блоков файла для быстрого доступа к его данным.

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

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

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

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

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

Вопросы для проверки

1. Назовите виды организации файлов.

2. Назовите виды доступа к файлам.

3. Расскажите о файловых операциях.

 

 

ДИРЕКТОРИИ. ЛОГИЧЕСКАЯ СТРУКТУРА ФАЙЛОВОГО АРХИВА

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

Эффективное управление файлами подразумевает наличие в них четкой логической структуры.

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



Каждый каталог содержит список каталогов и/или файлов, содержащихся в данном каталоге.

Каталоги имеют один и тот же внутренний формат, где каждому файлу соответствует одна запись в файле директории (см., например, рис. 2.3).

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

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

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

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

Существует несколько эквивалентных способов изображения дерева. Структура перевернутого дерева, приведенного на рис. 2.4, наиболее распространена:

· Верхнюю вершину называют корнем.

· Если элемент дерева не может иметь потомков, он называется терминальной вершиной или листом (в данном случае является файлом).

· Нелистовые вершины - справочники или каталоги содержат списки листовых и нелистовых вершин.

Путь от корня к файлу однозначно определяет файл.

Внутри одного каталога имена листовых файлов уникальны.

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

Для того чтобы однозначно определить файл по его имени (избежать коллизии имен), принято именовать файл так называемым абсолютным или полным именем (pathname).

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

Полное имя включает цепочку имен - путь к файлу, например /usr/games/doom.

Такие имена уникальны.

Компоненты пути разделяют различными символами: "/" (слэш) в Unix или обратными слэшем в MS-DOS (в Multics - ">").

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

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

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

Для получения доступа к файлу и локализации его блоков система должна выполнить навигацию по каталогам.



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.