<<
>>

Операции с каталогами

Системные вызовы, управляющие каталогами, значительно отличаются от системы к системе (в отличие от системных вызовов для работы с файлами). Чтобы дать представление о том, что они собой представляют и как выполняются, приведем следующий пример (взятый из UNIX).

create

Создание каталога. Только что созданный каталог пуст и не содержит других записей, кроме точки (.) и двух точек ( . .), помещаемых в каталог операционной системой автоматически или в некоторых случаях программой mkdir. delete

Удаление каталога. Может быть удален только пустой каталог. Записи точка (.) и две точки (. .) файлами не являются и удалены быть не могут.

opendir

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

closedir

Закрытие каталога.

Когда каталог прочитан, его следует закрыть, чтобы освободить место во внутренней таблице системы.

readdir

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

rename

Переименование каталога. Во многих отношениях каталоги аналогичны файлам и могут переименовываться так же, как и файлы.

link

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

unlink

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

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

5.3.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Операции с каталогами:

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