МГТУГА

Категории раздела

История воздухоплавания [31]
Системное программное обеспечение [55]
Сети 3-4 курс [41]
Методы и средства защиты информации [17]
Вычислительный системы [42]
про САПР [41]
Безопасность жизнедеятельности. БЖД. [46]
Интернет-технологии ГА [49]

Статистика


Онлайн всего: 7
Гостей: 7
Пользователей: 0

Форма входа

Каталог статей

Главная » Статьи » Системное программное обеспечение

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

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

Процесс

Read(); write(); ioctl()  Интерфейс

системных вызовов

Интерфейс виртуальной файловой системы vfs

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

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

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

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

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

Дисковые носители

Монитор

Принтер

Сеть


UNIX – обеспечивает работу с различными типами файловых систем. Это достигается с помощью разделения файловой системы на зависимый и независимый от реализации уровни , последний  - общий и представляет для некоторых подсистем ядра некоторую абстрактную файловую систему.Независимый уровень также называется – Виртуальная файловая система (рис). При этом дополнительные файловые системы различных типов могут быть встроены в ядро UNIX подобно драйверам устройств.

Виртуальные индексные дескрипторы

 

Дисковый файл обычно имеет связанную с ним структуру данных называемую метаданными или inode, где хранятся основные характеристики данного файла и с помощью которой обеспечивается доступ к его данным. Интерфейс работы с файлами – vnode ( виртуальный индексный дескриптор). Основные поля vnode:

U_short          vflag

Флаги vnode

U_short          v_count

Число ссылок на vnode

Struct filock  *v_filocks

Блокировки файла

Struct vfs    *v_vfsmountedhere

Указатель на подключенную файловую систему, если vnode – точка монтирования

Struct vfs       *v_vfsp

Указатель на файловую систему в которой находится файл

Enum vtype    v _type

Тип vnode: обычный файл, каталог, специальный файл устройства, символическая связь, сокет

Caddr_t           v_data

Указатель на данные, относящиеся к реальной файловой системе

Struct vnodeops *v_op

Операции vnode

 

Монтирование файловой системы.

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

Struct vfs

*vfs_next

Следующая файловая система в таблице монтирования

Struct vfsops

*vfs_op

Операции файловой системы

Struct vnode

*vfs_vnodecovered

Vnode , перекрываемый файловой системой

Int

Vfs_flag

Флаги: только для чтения, запрещенный бит SUID и  тд

Int

Vfs_bsize

Размер блока файловой системы

Caddr_t

Vfs_data

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

 

Категория: Системное программное обеспечение | Добавил: mgtuga (15.01.2009)
Просмотров: 1296 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:

Поиск

Дисциплины