Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция «файлы С Точки Зрения Пользователя» По Системному По (Морозов Б. А.).doc
Скачиваний:
6
Добавлен:
07.10.2014
Размер:
135.17 Кб
Скачать

11.8 Операции над директориями

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

  • Create. Создание директории. Вновь созданная директория включает записи с именами '.' и '..', однако считается пустой.

  • Delete. Удаление директории. Удалена может быть только пустая директория.

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

  • Closedir. Закрытие директории после ее чтения для освобождения места во внутренних системных таблицах.

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

  • Rename. Имена директорий можно менять, также как и имена файлов.

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

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

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

11.9 Защита файлов.

Общие проблемы безопасности ОС рассмотрены в гл. 15-16. Информация в компьютерной системе должна быть защищена как от физического разрушения (reliability), так и от несанкционированного доступа (protection).

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

11.9.1 Контроль доступа к файлам

Наличие в системе многих пользователей предполагает организацию контролируемого доступа к файлам. Выполнение любой операции над файлом должно быть разрешено только в случае наличия у пользователя соответствующих привилегий. Обычно контролируются следующие операции: Read,Write,Execute,Append,Delete,List

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