русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Архитектура виртуальной файловой системы.


Дата добавления: 2013-12-23; просмотров: 1653; Нарушение авторских прав


Несмотря на то, что различные типы файловых систем существенно отличаются по внутренней архитектуре, современные версии UNIX обеспечивают одновременную работу с несколькими типами файловых систем. Среди них можно выделить локальные файловые системы различной архитектуры, удаленные и даже отличные от файловой системы UNIX, например DOS. Такое сосуществование обеспечивается путем разделения каждой файловой системы на зависимый и независимый от реализации уровни, последний из которых является общим и представляет для остальных подсистем ядра некоторую абстрактную файловую систему. Независимый уровень также называется виртуальной файловой системой. При этом дополнительные файловые системы различных типов могут быть встроены в ядро UNIX подобно тому, как это происходит с драйверами устройств.

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

Каждая подключенная файловая система представлена на независимом уровне в виде структуры vfs. Структуры vfs всех подключенных файловых систем организованны в виде односвязного списка. Первой записью списка всегда является корневая файловая система. Структура vfs содержит следующие поля:

« Vfs_next: следующая файловая система в списке монтирования;

« Vfs_op: операции файловой системы;

« Vfs_vnodecovered: (vnode) виртуальный индексный дескриптор, перекрываемый файловой системой. Структура данных vnode одинакова для всех файлов, независимо от типа реальной файловой системы, где фактически располагается файл.

« Vfs_flag: флаги;

« Vfs_bsize: размер блока файловой системы;

« Vfs_data: указатель на специфические данные, относящиеся к реальной файловой системе.

Поле vfs_data содержит указатель на данные реальной файловой системы. Например для s5fs, это поле указывает на операции файловой системы, которые называются виртуальными методами объекта vfs. Поля vfs_op заполняются указателями на соответствующие функции реальной файловой системы при её монтировании.



Для инициализации и монтирования реальной файловой системы UNIX хранит коммутатор файловых систем, адресующий процедурный интерфейс для каждого типа файловой системы, поддерживаемой ядром. UNIX System V для этого использует глобальную таблицу, каждый элемент которой соответствует определенному типу реальной файловой системы.

Монтирование файловой системы производится системным вызовом mount(2). В качестве аргументов передаются тип монтируемой файловой системы, имя каталога, к которому подключается файловая система (точка монтирования), флаги (например доступ к файловой системе только для чтения) и дополнительные данные, вид и содержимое которых зависит от реализации реальной файловой системы. После подключения файловая система может быть адресована по имени точки монтирования.

 



<== предыдущая лекция | следующая лекция ==>
Файловая система FFS. | Атрибуты процесса.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.