Тема_1 (1122328), страница 3
Текст из файла (страница 3)
Базы данных.27 Технология БД. ФунФайловые системы (14)Логическая структура ФС и именование файлов (4)Другой крайний вариант был реализован в ФС операционнойсистемы Multics (http://www.multicians.org/).В ФС Multics пользователям обеспечивалась возможностьпредставлять всю совокупность каталогов и файлов в видеединого дерева.Полное имя файла начиналось с имени корневого каталога,и пользователь не обязан был заботиться об установке надисковое устройство каких-либо конкретных дисков.Сама система, выполняя поиск файла по его имени,запрашивала у оператора установку необходимых дисков.Такую файловую систему можно назвать полностьюцентрализованной.03.09.2009С.Д.
Кузнецов. Базы данных.28 Технология БД. ФунФайловые системы (15)Логическая структура ФС и именование файлов (5)Во многом централизованные ФС удобнее изолированных: системауправления файлами выполняет больше рутинной работы:администратор ФС автоматически оповещается о потребности установкитребуемых дисковых пакетов;система обеспечивает равномерное распределение памяти на известных ейдисковых томах;возможна организация автоматического перемещения редко используемыхфайлов на более медленные носители внешней памяти; облегчается рутиннаяработа, связанная с резервным копированием.Но в таких системах возникают существенные проблемы, если требуетсяперенести поддерево ФС на другую вычислительную установку.Поскольку файлы и каталоги любого логического поддерева могут бытьфизически разбросаны по разным дисковым пакетам и даже магнитнымлентам, для такого переноса требуется специальная утилита, собирающаявсе объекты требуемого поддерева на одном внешнем носителе, невходящем в состав штатных устройств централизованной ФС.Даже при наличии такой утилиты выполнение процедуры физическойсборки требует существенного времени.03.09.2009С.Д.
Кузнецов. Базы данных.29 Технология БД. ФунФайловые системы (16)Логическая структура ФС и именование файлов (6)Компромиссное решение применяетсяв ФС ОС UNIX. На базовом уровнев этих ФС поддерживаютсяизолированные архивы файлов.Один из таких архивов объявляетсякорневой ФС.Это делается на этапе генерацииоперационной системы, и послезапуска операционная система «знает», на каком дисковомустройстве (физическом или логическом) располагаетсякорневая ФС.После запуска системы можно «смонтировать» корневую ФСи ряд изолированных ФС в одну общую ФС.Технически это осуществляется посредством создания вкорневой ФС специальных пустых каталогов (точекмонтирования).03.09.2009С.Д.
Кузнецов. Базы данных.30 Технология БД. ФунФайловые системы (17)Логическая структура ФС и именование файлов (7)Специальный системный вызов mount ОС UNIX позволяетподключить к одному из пустых каталогов корневой каталогуказанного архива файлов.Выполнение такого действия приводит к «наложению» корневогокаталога монтируемой ФС на каталог точки монтирования:корневой каталог приобретает имя каталога точки монтирования.После монтирования общей ФС именование файлов производитсятак же, как если бы она с самого начала была централизованной.Поскольку обычно монтирование ФС производится при раскруткесистемы (при выполнении стартового командного файла),пользователи ОС UNIX, как правило, и не задумываются опроисхождении общей ФС.Кроме того, поддерживается системный вызов unmount,«отторгающий» ранее смонтированную ФС от общей иерархии.Конечно, все это заметно облегчает перенос частей ФС на другиеустановки.03.09.2009С.Д.
Кузнецов. Базы данных.31 Технология БД. ФунФайловые системы (18)Авторизация доступа к файлам (1)Поскольку файловая система является общим хранилищемфайлов, принадлежащих, вообще говоря, разным пользователям,системы управления файлами должны обеспечивать авторизациюдоступа к файлам.В общем виде подход состоит в том, что для каждогозарегистрированного пользователя и для каждого существующегофайла файловой системы указываются действия, выполнениекоторых над данным файлом разрешено или запрещено данномупользователю (так называемый мандатный способ защиты – укаждого пользователя имеется или не имеется отдельный мандатдля работы с каждым файлом).Применение мандатного способа авторизации доступа влечет засобой существенные накладные расходы, связанные спотребностью хранения избыточной информации ииспользованием этой информации для проверки правомочностидоступа.03.09.2009С.Д.
Кузнецов. Базы данных.32 Технология БД. ФунФайловые системы (19)Авторизация доступа к файлам (2)Поэтому в большинстве современных систем управленияфайлами применяется упрощенный подход к авторизациидоступа к файлам, традиционно поддерживаемый,например, в ОС UNIX (так называемый дискреционныйподход).При использовании этого подхода с каждымзарегистрированным пользователем связывается парацелочисленных идентификаторов: идентификатор группы, ккоторой относится пользователь, и его собственныйидентификатор.Этими же идентификаторами снабжается каждый процесс,запущенный от имени данного пользователя и имеющийвозможность обращаться к системным вызовам файловойсистемы.03.09.2009С.Д.
Кузнецов. Базы данных.33 Технология БД. ФунФайловые системы (20)Авторизация доступа к файлам (3)При каждом файле хранится полный идентификатор пользователя(собственный идентификатор плюс идентификатор группы),который создал этот файл, и помечается:Для каждого файла контролируется возможность выполнения трехдействий: чтение, запись и выполнение.Хранимая информациякакие действия с файлом может производить он сам,какие действия с файлом доступны для остальных пользователей тойже группыи что могут делать с файлом пользователи других групп.очень компактна (два целых числа для представленияидентификаторов и шкала из 9 бит для характеристики возможныхдействий),при проверке требуется небольшое количество действий,Этот способ контроля доступа в большинстве случаевудовлетворителен.03.09.2009С.Д.
Кузнецов. Базы данных.34 Технология БД. ФунФайловые системы (21)Синхронизация многопользовательского доступа (1)Если операционная система поддерживаетмногопользовательский режим, можетвозникнуть ситуация, когда два или болеепользователей (процессов) одновременнопытаются работать с одним и тем же файлом.Если все эти пользователи собираются толькочитать файл, ничего страшного не произойдет.Но если хотя бы один из них будет изменятьфайл, для корректной работы этой группытребуется взаимная синхронизация.03.09.2009С.Д. Кузнецов. Базы данных.35 Технология БД. ФунФайловые системы (22)Синхронизация многопользовательского доступа (2)В ФС обычно применяется следующий подход.В операции открытия файла (первой и обязательнойоперации, с которой должен начинаться сеанс работы сфайлом) помимо прочих параметров указывается режимработы (чтение или изменение).Если к моменту выполнения этой операции от именинекоторого процесса A файл уже открыт некоторым другимпроцессом B, причем существующий режим открытиянесовместим с требуемым режимом (совместимы толькорежимы чтения), то в зависимости от особенностей системы либо процессу A сообщается о невозможности открытияфайла в нужном режиме, либо процесс A блокируется до тех пор, пока процесс B невыполнит операцию закрытия файла.03.09.2009С.Д.
Кузнецов. Базы данных.36 Технология БД. ФунФайловые системы (23)Области разумного применения файлов (1)Чаще всего файлы используются для хранения текстовых данных:документов, текстов программ и т. д.Такие файлы обычно создаются и модифицируются с помощьюразличных текстовых редакторов.Эти редакторы могут быть очень простыми, такими, как ed в миреUNIX или утилиты редактирования Far Manager, WordPad и другихинтерактивных сред Windows.Они могут быть сложными и многофункциональными,синтаксически ориентированными, как, например, GNU Emacs.Но обычно структура текстовых файлов очень проста (c точкизрения ФС):либо последовательность записей, содержащих строки текста,либо последовательность байтов, среди которых встречаютсяспециальные символы (например, символы конца строки).Конечно же, сложность логической структуры текстового файлаопределяется текстовым редактором, но в любом случае ФС она невидна.03.09.2009С.Д.
Кузнецов. Базы данных.37 Технология БД. ФунФайловые системы (24)Области разумного применения файлов (2)Файлы, содержащие тексты программ, используются каквходные файлы компиляторов (чтобы правильно воспринятьтекст программы, компилятор должен понимать логическуюструктуру текстового файла), которые, в свою очередь,формируют файлы, содержащие объектные модули.С точки зрения ФС объектные файлы также обладают оченьпростой структурой – последовательность записей илибайтов.Система программирования накладывает на такую структуруболее сложную и специфичную для этой системылогическую структуру объектного модуля.Логическая структура объектного модуля ФС неизвестна; этаструктура поддерживается инструментами системыпрограммирования.03.09.2009С.Д.
Кузнецов. Базы данных.38 Технология БД. ФунФайловые системы (25)Области разумного применения файлов (3)Аналогично обстоит дело с файлами, формируемымиредакторами связей (редактор связей должен пониматьлогическую структуру файлов объектных модулей) исодержащими образы выполняемых программ.Логическая структура таких файлов остается известнойтолько редактору связей и загрузчику – программеоперационной системы.Ситуация аналогична и в других случаях: например, присоздании и использовании файлов, содержащихграфическую, аудио- и видеоинформацию.03.09.2009С.Д.