Операция VFS_ROOT используется при разборе
Операция VFS_ROOT используется при разборе полного имени файла, когда встречается дескриптор vnode, который связан со смонтированной на него файловой системой. Операция VFS_ROOT помогает найти vnode, который является корнем смонтированной файловой системы. Операция VFS_STATVFS позволяет получить независимую от типа файловой системы информацию о размере блока файловой системы, о количестве блоков и количестве свободных блоков в единицах этого размера, о максимальной длине имени файла и т.п. Операция VFS_SYNC выталкивает содержимое буферов диска из оперативной памяти на диск. Операция VFS_MOUNTROOT позволяет смонтировать корневую файловую систему, то есть систему, содержащую корневой каталог / общего дерева. Для указания того, какая файловая система будет монтироваться как корневая, в UNIX System V Release 4 используется переменная rootfstype, содержащая символьное имя корневой файловой системы, например "ufs".
Таким образом, в UNIX System V Release 4 одновременно в единое дерево могут быть смонтированы несколько файловых систем различных типов, поддерживающих операцию монтирования (рисунок 5.6).
VOP_OPEN | - открыть файл
|
VOP_CLOSE | - закрыть файл
|
VOP_READ | - читать из файла
|
VOP_WRITE | - записать в файл
|
VOP_IOCTL | - управление в/в
|
VOP_SETFL | - установить флаги статуса
|
VOP_GETATTR | - получить атрибуты файла
|
VOP_SETATTR | - установить атрибуты файла
|
VOP_LOOKUP | - найти vnode по имени файла
|
VOP_CREATE | - создать файл
|
VOP_REMOVE | - удалить файл
|
VOP_LINK | - связать файл
|
VOP_MAP | - отобразить файл в память
|
Рис. 5.7. Абстрактные операции над файлами
Кроме операций над файловой системой в целом, для каждого типа файловой системы (s5, ufs и т.д.), установленной в ОС, необходимо описать способ реализации абстрактных операций над файлами, которые допускаются в VFS. Этот способ описывается для каждого типа файловой системы в структуре vnodeops, состав которой приведен на рисунке 5.7. Как видно из состава списка абстрактных операций, они образованы объединением операций, характерных для наиболее популярных файловых систем UNIX.
Содержание Назад Вперед