Операции с файлами

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

хранять и извлекать информацию. Далее рассматриваются наиболее распространенные

системные вызовы, относящиеся к работе с файлами.

♦ Create (Создать). Создает файл без данных. Цель вызова состоит в объявлении о появлении нового файла и установке ряда атрибутов.

♦ Delete (Удалить). Когда файл больше не нужен, его нужно удалить, чтобы освободить дисковое пространство. Именно для этого и предназначен этот системный вызов.

♦ Open (Открыть). Перед использованием файла процесс должен его открыть. Цель системного вызова open — дать возможность системе извлечь и поместить в оперативную память атрибуты и перечень адресов на диске, чтобы ускорить доступ к ним при последующих вызовах.

♦ Close (Закрыть). После завершения всех обращений к файлу потребность в его атрибутах и адресах на диске уже отпадает, поэтому файл должен быть закрыт, чтобы освободить место во внутренней таблице. Многие системы устанавливают максимальное количество открытых процессами файлов, определяя смысл существования этого вызова. Информация на диск пишется блоками, и закрытие файла вынуждает к записи последнего блока файла, даже если этот блок и не заполнен.

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

♦ Write (Произвести запись). Запись данных в файл, как правило, с текущей позиции. Если эта позиция находится в конце файла, то его размер увеличивается. Если текущая позиция находится где-то в середине файла, то новые данные пишутся поверх существующих, которые утрачиваются навсегда.

♦ Append (Добавить). Этот вызов является усеченной формой системного вызова write.

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

♦ Seek (Найти). При работе с файлами произвольного доступа нужен способ указания места, с которого берутся данные. Одним из общепринятых подходов является применение системного вызова seek, который перемещает указатель файла к определенной позиции в файле. После завершения этого вызова данные могут считываться или записываться с этой позиции.

♦ Get attributes (Получить атрибуты). Процессу для работы зачастую необходимо считать атрибуты файла. К примеру, имеющаяся в UNIX программа make обычно используется для управления проектами разработки программного обеспечения, состоящими из множества сходных файлов. При вызове программа make проверяет время внесения последних изменений всех исходных и объектных файлов и для обновления проекта обходится компиляцией лишь минимально необходимого количества файлов. Для этого ей необходимо просмотреть атрибуты файлов, а именно время внесения последних изменений.

♦ Set attributes (Установить атрибуты). Значения некоторых атрибутов могут устанавливаться пользователем и изменяться после того, как файл был создан. Такую возможность дает именно этот системный вызов. Характерным примером может
послужить информация о режиме защиты. Под эту же категорию подпадает большинство флагов.

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

4.1.7.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Операции с файлами:

  1. ОПЕРАЦИЯ ФОРМАЛЬНАЯ
  2. ОПЕРАЦИЯ
  3. ОПЕРАЦИЯ ИНТЕЛЛЕКТУАЛЬНАЯ
  4. ОПЕРАЦИЯ КОНКРЕТНАЯ
  5. ОПЕРАЦИЯ СОЗНАТЕЛЬНАЯ
  6. Действия, операции и психологические приемы.
  7. ОПЕРАЦИЯ ПРИСПОСОБИТЕЛЬНАЯ
  8. § 2. Правовое регулирование валютных операций
  9. 6. Договоры об отдельных транспортно-экспедиционных операциях и услугах
  10. 5. Внешнеэкономические подрядные операции с давальческим сырьем
  11. Статья 1068. Операции со счетом, которые выполняются банком
  12. Статья 213. Нарушение порядка осуществления операций с металлоломом
  13. Статья 1101. Сообщение о проведенных операциях
  14. 4.1. Содержание основных задач и операций, выполняемых специалистом:
  15. § 3. Операции по продаже и покупке иностранной валюты на внутреннем валютном рынке Российской Федерации
  16. Статья 1073. Правовые последствия ненадлежащего выполнения банком операций по счету клиента