Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лекция 16. Файловая система USIX . Средства защиты от несанкционированного доступа.



Файловая система

Файловая система USIX состоит из двух частей: структуры данных на диске и файлового сервера.

Ядро USIX не зависит от конкретного типа файловой системы и формата хранения данных на диске. Таким образом, возможно создание файловых серверов для любых файловых структур: S5, UFS (UNIХ FILE SYSTEM), FFS (Fast File System) и др. В системе USIХ реализован собственный сервер файловой структуры 'sб'.

Файловая система USIX обладает рядом характерных особен­ностей: наличием альтернативных структур данных (суперблок тома, заголовок индексного файла); возможностью контроля корректности данных с использованием контрольных сумм; воз­можностью создания непрерывных файлов; древовидной струк­турой расположения файлов и др. В качестве единицы передава­емой информации для устройств с прямым доступом использует­ся кластер, размер которого устанавливается равным одному (или нескольким) дисковому блоку. Определение размера кластера осуществляется при инициализации устройства.

Структура данных на дисках. Файловая система USIX поддер­живает структуру данных на дисках, основу которой составляет индексный файл. Индексный файл располагается в произволь­ной области диска. Первый блок индексного файла содержит ин­формацию о самом диске, карту планирования индексного фай­ла, заголовок индексного файла и собственно данные индексно­го файла.

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

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

Файловый сервер. Он отвечает за ведение каталоговой струк­туры и распределение пространства на диске.

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

При открытии файла ядро получает от файлового сервера ге­ометрию файла (список блоков данных файла) и создает соответ­ствующий объект памяти. После получения запроса на чтение ядро создает временный сегмент, в который отображает часть ре­гиона, и пытается переписать данные этого сегмента пользовате­лю. Так как первоначально данные в регионе отсутствуют, проис­ходит отказ страницы, и система виртуальной памяти выдает за­прос дисковому драйверу на чтение этой страницы. Если к этому времени страница файла уже находилась в памяти, обращение к диску отсутствует. Такой же алгоритм используется и при записи данных в файл. При этом модификация и расширение файла, как правило, происходят первоначально в памяти. Запись данных ре­гиона на диск осуществляется по запросу 'fsynс' или по периоди­чески выполняемой операции 'sync'.

Для удовлетворения различных требований файловый сервер предоставляет следующие возможности синхронизации работы с файлами:

• отсутствие явной синхронизации (режим, обычно используе­мый в UNIХ);

• синхронизация операций с индексным файлом. Любые опера­ции с индексным файлом немедленно приводят к изменениям на диске;

• синхронизация операций с каталогами и индексным файлом — на этом уровне файловая система защищена от сбоев питания или случайного отключения машины;

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

Режим синхронизации выбирается пользователем на этапе монтирования тома и может изменяться динамически.

Для удовлетворения требований реального времени в USIX обеспечивается возможность создания непрерывных файлов. Доступ к ним наиболее эффективно осуществляется путем отобра­жения файла в виртуальное адресное пространство пользователя. В этом случае ядро USIХ обеспечивает поддержку соответствия между данными на диске и областью адресного пространства пользователя. Кроме того, пользователь может получить геомет­рию файла на диске и выполнять обмен данными, непосредст­венно обращаясь к драйверу дискового устройства.

Если в вычислительной системе имеется несколько контрол­леров дисков, обеспечивающих параллельную работу каналов ввода-вывода, USIХ позволяет их монтировать с помощью не­скольких файловых серверов одного или разных типов. Данная возможность в сочетании с возможностью одновременной рабо­ты серверов существенно увеличивает производительность фай­ловой подсистемы в многопроцессорных системах.

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

Кэширование имен. Для ускорения доступа к файлам ядро USIХ поддерживает динамический кэш имен файлов и других объектов. Величина кэша имен задается пользователем при за­грузке системы и может настраиваться для различных режимов работы. Обновление кэша осуществляется в результате удаления «старых» имен после удаления последнего объекта, связанного с этим именем.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 166; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь