Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Лекция 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; Нарушение авторского права страницы