Смекни!
smekni.com

Файловая система 2 (стр. 2 из 3)

- В некоторых системах пользователи могут быть разделены на отдельные категории.

- Для всех пользователей одной категории определяются единые права доступа.

Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.

6. Права доступа к файлу

6. Права доступа к файлу

Различают два основных подхода к определению прав доступа:

- избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;

- мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.

6. Права доступа к файлу
Linux

Особенности:

- Linux - это многопользовательская система: каждый файл является исключительной собственностью одного пользователя и одной группы.

- Каждый пользователь владеет личным каталогом (называемым домашним каталогом).

- Пользователь является владельцем этого каталога и всех создаваемых в нем файлов.

- С ними также ассоциируется группа, которая является основной группой, к которой принадлежит пользователь.

- Пользователь может быть членом нескольких групп одновременно.

- Как владелец файла, пользователь может устанавливать права на файлы.

6. Права доступа к файлу
Linux

права распределяются между тремя категориями пользователей:

- владельцем файла;

- всеми пользователями, являющимися членами группы, ассоциированной с файлом (также называемой группой владельца), но не являющимися владельцами;

- остальными, куда входят все остальные пользователи, которые не являются ни владельцами, ни членами группы владельца.

6. Права доступа к файлу
Linux

- Существует три разновидности прав:

- Права на чтение (Read, r): пользователю разрешается читать содержимое файла. По отношению к каталогу это означает, что пользователь может просмотреть его содержимое (т.е. список файлов этого каталога).

- Права на запись (Write, w): разрешает изменять содержимое файла. По отношению к каталогу право на запись дает пользователю возможность добавлять или удалять файлы из этого каталога, даже если он не является владельцем этих файлов.

- Права на выполнение (eXecute, x): разрешает запуск файла (обычно только исполняемые файлы имеют этот тип прав доступа). По отношению к каталогу это дает пользователю возможность проходить его, что означает войти в этот каталог или пройти сквозь него. Обратите внимание, что это отличается от доступа на чтение: вы в состоянии пройти через каталог, но прочитать его содержимое все-таки не можете!

6. Права доступа к файлу
Linux

- Возможны любые комбинации этих прав.

- Ниже представлено выполнение команды ls -l в командной строке:

ls -l

total 1

-rw-r----- 1 queen users 0 Jul 8 14:11 a_file

drwxr-xr-- 2 peter users 1024 Jul 8 14:11 a_directory/

6. Права доступа к файлу
Linux

- Есть одно исключение из этих правил - root.

- root может изменять атрибуты (права доступа, владельца и группу) всех файлов, даже если он не является владельцем, и поэтому сможет сделать себя владельцем файла!

- root может читать файлы, для которых у него нет прав на чтение, проходить через каталоги, к которым у него, будь он обычным пользователем, не было бы доступа и т.д.

- Если root'у не хватает прав, ему нужно просто добавить их.

- root имеет полный контроль над системой, что влечет за собой определенный уровень доверия к человеку, знающего его пароль.

6. Права доступа к файлу
Linux

- Имя файла может содержать любые символы, включая непечатаемые, за исключением ASCII-символа 0, который означает конец строки, и /, который является разделителем каталога. Кроме того, вследствие чувствительности к регистру в UNIX® файлы readme и Readme будут разными, потому что под буквами r и R в системах на базе UNIX® подразумеваются два разных символа.

- Имя файла не обязательно должно иметь расширение, если только вам не захочется так называть свои файлы. В GNU/Linux расширения файлов не определяют их содержимого, а также на большинстве операционных систем. Тем не менее, так называемые «расширения файлов» довольно удобны. В UNIX® точка (.) - это просто один из символов, но он также имеет одно специальное назначение. В UNIX® файлы с именами, начинающимися с точки, являются «скрытыми»; это также касается и каталогов, чьи имена начинаются с .

7. Кэширование диска

- Кэш-память, или просто кэш (cache), — это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, а с другой стороны, экономить более дорогую быстродействующую память.

7. Кэширование диска

7. Кэширование диска

- Неотъемлемым свойством кэш-памяти является ее прозрачность для программ и пользователей. Система не требует никакой внешней информации об интенсивности использования данных; ни пользователи, ни программы не принимают никакого участия в перемещении данных из ЗУ одного типа в ЗУ другого типа, все это делается автоматически системными средствами.

- Кэш-памятью, или кэшем, называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств — «быстрое» ЗУ. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем. «Медленное» ЗУ далее будем называть основной памятью, противопоставляя ее вспомогательной кэш-памяти.

7. Кэширование диска

- В некоторых ФС запросы к внешним устройствам, в которых адресация осуществляется блоками (диски, ленты), перехватываются промежуточным программным слоем-подсистемой буферизации.

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

- Каждый буфер пула имеет размер, равный одному блоку.

- При поступлении запроса на чтение некоторого блока подсистема буферизации просматривает свой буферный пул и, если находит требуемый блок, то копирует его в буфер запрашивающего процесса.

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

- Очевиден выигрыш во времени доступа к файлу.

- Если же нужный блок в буферном пуле отсутствует, то он считывается с устройства и одновременно с передачей запрашивающему процессу копируется в один из буферов подсистемы буферизации.

- При отсутствии свободного буфера на диск вытесняется наименее используемая информация.

- Таким образом, подсистема буферизации работает по принципу кэш-памяти.

8. Общая модель файловой системы

Функционирование любой ФС можно представить многоуровневой моделью:

- Каждый уровень модели предоставляет некоторый интерфейс (набор функций) вышележащему уровню

- Каждый уровень модели для выполнения своей работы использует интерфейс (обращается с набором запросов) нижележащего уровня

8. Общая модель файловой системы

8. Общая модель файловой системы
Символьный уровень

- Задача: определение по символьному имени файла его уникального имени.

- В ФС, в которых каждый файл может иметь только одно символьное имя (MS-DOS), этот уровень отсутствует, так как символьное имя является одновременно уникальным и может быть использовано ОС.

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

- В ФС UNIX, например, уникальным именем является номер индексного дескриптора файла (i-node).

8. Общая модель файловой системы
Базовый уровень

- По уникальному имени файла определяются его характеристики: права доступа, адрес, размер и другие.

- Характеристики файла могут входить в состав каталога или храниться в отдельных таблицах.

- При открытии файла его характеристики перемещаются с диска в оперативную память, чтобы уменьшить среднее время доступа к файлу.

- В некоторых ФС (например, HPFS) при открытии файла вместе с его характеристиками в оперативную память перемещаются несколько первых блоков файла, содержащих данные.

8. Общая модель файловой системы
Уровень проверки прав доступа

- Сравниваются полномочия пользователя или процесса, выдавших запрос, со списком разрешенных видов доступа к данному файлу

- Если запрашиваемый вид доступа разрешен, то выполнение запроса продолжается

- Если нет – выдается сообщение о нарушении прав доступа

8. Общая модель файловой системы
Логический уровень

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

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

- Алгоритм работы данного уровня зависит от логической организации файла. Например, если файл организован как последовательность логических записей фиксированной длины l, то n-ая логическая запись имеет смещение l(n-1) байт.

- Для определения координат логической записи в файле с индексно-последовательной организацией выполняется чтение таблицы индексов (ключей), в которой непосредственно указывается адрес логической записи.

8. Общая модель файловой системы
Физический уровень

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

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