Операции над файлами
В многих операционных системах операции над файлами имеют много общего, хотя отличаются по форме выражения требований.
Общие операции над файлами можно разделить на три группы:
- операции над файлами как над единым целым;
- операции для обмена данными между файлом и программой, инициирующей обмен;
- служебные операции.
К первой группе относятся следующие файловые операции: открытие файла; закрытие файла; копирование файла; объединение файлов; перемещение файла; удаление файла.
Операции открытия и закрытия файла являются наиболее важными среди операций первой группы, поэтому рассмотрим их подробно.
Для процесса, который желает работать с файлом, файл выступает как ресурс, который необходимо получить, прежде чем начать с ним работать. Поэтому пользователь обязан выполнить операцию открытия файла в своей программе, прежде чем начать выполнять с файлом некоторые допустимые действия.
Действия, выполняемые операционной системой при обработке операции открытия файла, чрезвычайно разнообразны и объемны. По отношению к другим операциям над файлами операция открытия файла является самой длительной операцией, обеспечивающей возможность выполнения последующих действий над файлом достаточно быстро (в предположении их частого выполнения). Действия по открытию файла связаны с проведением подготовительных работ в составе файловой системы к дальнейшему взаимообмену между данными и программой или по управлению файлом. Одними из основных являются действия по подготовке к пересылке информации, которые осуществляются средствами программного или аппаратного канала. Чтобы составить программу для работы канала, система должна располагать информацией о соответствующих характеристиках открываемого файла. Прежде всего необходимо знать его месторасположение. Поэтому, если файл каталогизирован, то осуществляется обращение к системе каталогов, находится и считывается необходимая информация о файле (в каталоге или дескрипторе). Если система не обнаруживает при поиске требуемый файл, то она выдает об этом соответствующее сообщение.
Характерным приемом, применяемым при открытии файла, является копирование учетной информации о нем из каталога или из дескриптора файла в некоторую структуру данных (различную в разных файловых системах), расположенную в первичной памяти. Это позволяет далее оперативно работать с учетной информацией при организации фактического доступа пользователя к файлу, без многократного обращения к внешней памяти.
Операция закрытия файла противоположна по смыслу операции открытия. Ее назначение – разорвать логическую связь между файлом и соответствующей программой.
Ко второй группе относятся следующие операции над файлами: чтение составных элементов файла; запись составных элементов файла.
Если файловая система поддерживает файлы с различной структурой, то команды записи и чтения будут разными по форме и содержанию. Можно использовать асинхронный и синхронный способ доступа к данным.
Синхронный способ чтения или записи данных в файл возможен только в случае, если файл имеет последовательную структуру. После выдачи запроса, реализованного в виде макрокоманды, на ввод или вывод одной логической записи (минимально различимый элемент файла) программный процесс переводится системой принудительно в состояние ожидания. Перевод программного процесса обратно в активное состояние операционная система выполняет только тогда, когда файловая система ОС закончит пересылку данных между файлом и указанной в макрокоманде областью первичной памяти.
При асинхронном способе файловая система после восприятия запроса от программного процесса на ввод или вывод данных передает управление программному процессу без перевода его в состояние ожидания. Вместе с тем файловая система предоставляет программному процессу средства для последующей проверки окончания операции ввода-вывода. Используя асинхронный способ, можно работать с любой структурой файлов, допустимой в файловой системе.
Состав операций, составляющих третью группу, в разных файловых системах различен. Например, к этой группе относят операции по переименованию файлов, изменению атрибутов файлов, управлению правами доступа к файлам, созданию и удалению каталогов. К этой же группе можно отнести операции, обеспечивающие просмотр и печать содержимого каталогов и файлов, поиска файлов и каталогов по дереву каталогов и т.п.
Файловая система
Дата добавления: 2017-01-26; просмотров: 8753;