В. Столлингс - Операционные системы (1114679), страница 120
Текст из файла (страница 120)
Управление файлами Рис. 12.5. Пример древовидной структуры каталога Часть 5. Оиерации ввода-эь4иодй. и Фаилъ1,:, В многопользовательской системе практически всегда необходи ность совместного использования Файлов пользователями. При этом два вопроса: права доступа и управление одновременным доступом. Файловая система должна обеспечить возможность управляемого доступа ь Файлу со стороны множества пользователей. Обычно права доступа к Файлу пре доставляются пользователям или группам пользователей.
Используется широкими диапазон прав доступа. В приведенном списке указаны права доступа, которьв могут быть предоставлены определенному пользователю по отношению к неко торому файлу. ° Отсутствие. Пользователь не может обнаружить даже существование файла не говоря уже о доступе к нему. Для обеспечения такого ограничения нуж но запретить пользователю чтение пользовательского каталога, содержаще го этот Файл. ° Знание. Пользователь может обнаружить существование Файла и устано вить его владельца.
После этого пользователь может обратиться к владель цу для получения дополнительных прав доступа к файлу. е Выполнение. Пользователь может загрузить и выполнить программу, одна ко выполнить копирование Файла не может. Пользовательские программь часто бывают доступны с таким ограничением.
в Чтение. Пользователь может осуществить чтение Файла для любой цели, включая копирование и выполнение. Некоторые системы могут разли чать чтение и копирование. В таком случае содержимое файла може~ быть выведено на дисплей, однако выполнить копирование Файла поль зователю не удастся. ° Добавление. Пользователь может добавить данные в Файл, часто только в ег< конец, но произвести изменение или удаление содержимого файла ему не уда стся. Это право полезно при накоплении данных из различных источников.
Обновление. Пользователь может выполнять изменение, удаление или добавле ние данных в файле Обычно сюда относятся операции начальной записи ~ Файл, полной или частичной перезаписи, полного или частичного удалени~ данных, Некоторые системы различают разные степени обновления. Изменение защиты. Пользователь может изменять права доступа, предос. тавленные другим пользователям. Обычно это право принадлежит толью владельцу Файла. В некоторых системах пользователь может распростра.
нить это право на других пользователей. Для защиты от злоупотреблениэ этим механизмом владелец файла может определять, какие права могу~ быть изменены. ° Удаление. Пользователь может удалить файл из файловой системы. Эти права могут рассматриваться как определенная иерархия, где обладание одним ним правом доступа влечет за собой обладание всеми предшествующими ему в ие иерархии правами. Так если конкретный пользователь обладает правом ° э обновления Файла, то этому пользователю принадлежат также права знания, выполнения, чтения и добавления.
Владелец данного Файла обычно создает этот Файл. Владелец обладает всеми перечисленными правами и может предоставлять права остальным пользователям. Доступ может быть предоставлен различным классам пользователей. е Конкретный пользователь. Индивидуальные пользователи, определяемые посредством своих идентификаторов. е Группы пользователей. Множество пользователей, не определенных индивидуально. Система должна обладать некоторым способом отслеживания членства пользователей в группе. е Все. Все пользователи, имеющие доступ к системе.
Файлы общего пользования доступны для всех пользователей. Одновременный доступ Если права доступа позволяют добавлять или обновлять Файл более чем одному пользователю, то в этом случае операционной системой или системой упра правления Файлами должен быть организован определенный порядок работы пользователей с файлом. Грубый подход дает возможность пользователю заблокировать весь файл на время его обновления. Более тонкий подход управления заключается в блокировании индивидуальных записей при обновлении. Эта задача читателей~писателей рассматривалась в главе б, "Параллельные вычисления: взаимоисключения и многозадачность". На этапе проектирования совместно используемого доступа необходимо решать вопросы взаимного исключения и взаимоблокировки.
Как показано на рис. 12 2, записи представляют собой логическую единицу доступа к Файлу, в то время как единицами ввода-вывода при сохранении во внешней памяти являются блоки. Для выполнения операций ввода-вывода необходимо организовать записи в блоки. При этом возникают два вопроса.
Первый из них: какой длины должны быть блоки — Фиксированной или переменной. В большинстве систем блоки имеют Фиксированную длину. Это упрощает ввод-вывод, размещение буфера в основной памяти и организацию блоков при хранении на внешних носителях. Второй вопрос: каким должен быть размер блоков относительно среднего размеРа записи. Дело в том, что чем больше размер блока, тем большее количество записей будет передано одной операцией ввода/вывода.
Это является преимуществом при последовательной обработке или последовательном поиске в Файле, поскольку с использованием блоков большого размера количество операций ввода-вывода уменьшается, что приводит к увеличению скорости обработки. С другой стороны, если доступ к записям происходит произвольно.
использование блоков больших размеров приведет к нежелательной пересылке неиспользуемых Часть 5. Оиерациц ваода-выводи и'файлы записей. Однако в целом можно утверждать что использование блоко бо Ф ов льшет размера уменьшает время передачи данных при вводе-выводе. Тем не е менее бл~ кам большого размера необходимы большие буфера ввода/вывода чт о приводи к усложнению управления ими. Для данного размера блока могут использоваться три метода группирования.
° Фиксированное группирование. Используются записи Фиксированно длины, и в блоке хранится целое количество записей. При этом в конп каждого блока может появиться неиспользуемое простр странств (внутренняя фрагментация). е Сцепленное группирование переменной длины. Используются запис переменной длины, причем их упаковка в блоки происходит без нал~ чия неиспользуемого пространства. Так, некоторые записи должны сц~ плять два блока. ° Группирование переменной длины без сцепления.
Используются запис переменной длины без сцепления. В большинстве блоков имеются ся пу< тые пространства, что вызвано невозможностью использования част б лока, когда размер следующей записи больше, чем оставшееся неис пользуемое пространство. Эти методы показаны на рис.
12.6. Предполагается, что файл сохраняетс на диске в виде последовательности блоков. При использовании иной схем размещения Файлов эффект группирования не изменится (см. раздел 12.6). Группирование фиксированной длины — самый распространенный режи| для последовательных файлов с записями Фиксированной длины. Группировани переменной длины со сцеплением эффективно в плане экономии места при хр~ нении и не ограничивает размер записей.
Однако эта технология сложна в рее лизации. Записи, сцепляющие два блока, требуют две операции ввода-выводе что вызывает сложности при обновлении независимо от используемой организе ции файла. Группирование переменной длины без сцепления приводит к появле нию пустого пространства и ограничению размера записи размером блока. Технология группирования записей может взаимодействовать с аппаратны.
обеспечением виртуальной памяти, если таковое применяется. В среде с виртсу алькой памятью желательно, чтобы единицей пересылки данных была странице Страницы обычно довольно малы, поэтому практически нет возможности ряс сматривать страницу в качестве блока для группирования без сцепления. Сооз ветственно, некоторые системы объединяют несколько страниц для создани блока большего размера, предназначенного для Файлового ввода-вывода.
Тако: подход используется в файлах 7ВАМ мэйнфреймов 1ВМ. Глава 12. Управление Файлами Размещение файлов Дорожка 1 Дорожка 2 Первменноетруппирование:сцепленное Дорожка 1 ЯБ Переменное группирование: без сцепления Пустая область при размещении записи в блоке Е3 Интервалы, связанные с аппаратным обеспечением Я Пустая область при размещении в блоке записей Фиксированной длины Пустая область при размещении блока на дорожке И Рис. 12.6. Мептоды группироеания записей 1Й'1Е0871 ви':--.-в!::::жо~вфжк."::-,':в"., "; '- -"-:"':::--::,,-, - ~ Файл, хранящийся в устройстве внешней памяти, состоит из набора блоков. За выделение блоков файлам отвечает либо операционная система, либо система управления файлами, что порождает две проблемы, связанные с Управлением. Первая проблема — пространство вторичной памяти должно Распределяться между файлами, а вторая — при этом необходим контроль за доступным для распределения пространством.