Системный вызов mount запрашивает объект vnode для каталога, являющегося точкой монтирования при помощи функции lookuppn().
Вызов удостоверяется, что структура vnode представляет каталог, и никакая другая файловая система не была раньше смонтирована на этот каталог. (Заметим, что функция
lookuppn()
запрашивает ссылку на каталог, которая освобождается только после размонтирования системы.) Затем происходит поиск в таблице vfssw[] на предмет обнаружения элемента, совпадающего с именем type.
Также может иметь смысл заглянуть на сайт kran-dostavka.ru, ведь именно там можно узнать много нового на тему http://kran-dostavka.ru/manipulatory.html. Тема аренда манипулятора может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт kran-dostavka.ru, и тема аренда манипулятора начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема аренда манипулятора очень подробно представлена на сайте kran-dostavka.ru. Трудно найти более детальное освещение темы аренда манипулятора чем это сделано на сайте kran-dostavka.ru. Спасибо сайту kran-dostavka.ru за такое доскональное преподнесение темы аренда манипулятора.
После обнаружения необходимого элемента переключателя ядро загружает для него операцию vswjnit. Этот вызов является операцией, зависящей от конкретной используемой файловой системы. Он производит размещение структур данных и ресурсов, необходимых для функционирования файловой системы. Затем ядро размещает новую структуру vfs и инициализирует ее.
1. Добавляет структуру в связанный список с головным элементом rootvfs.
2. Задает в поле vfs_op ссылку на вектор vfsops, указанный в элементе переключателя.
3. Задает в поле vfs_vnodecovered ссылку на vnode каталога, являющегося точкой монтирования.
Затем ядро сохраняет указатель на структуру vfs в поле v_vfsmountedhere структуры vnode покрываемого каталога. Процесс монтирования завершается вызовом VFS_M0UNT применительно к vfs, которая выполняет часть действий вызова mount, зависящих от типа подключаемой файловой системы.
Действия операции VFS_MOUNT
Каждая файловая система обладает собственной реализацией операции VFS_ MOUNT.
Эта функция должна выполнять следующие операции:
♦ проведение проверки привилегий на операцию;
♦ размещение и инициализация закрытого объекта данных файловой системы;
♦ сохранение указателя на него в поле vfs_data объекта vfs;
♦ доступ к корневому каталогу файловой системы и инициализация его структуры vnode в памяти. Единственным способом доступа ядра к корню монтированной файловой системы является применение операции VFS_R00T. Часть vfs, зависящая от типа файловой системы, должна поддерживать информацию, необходимую для обнаружения корневого каталога.
Локальные файловые системы обычно реализуют
VFS_M0UNT
путем чтения метаданных файловой системы (таких как суперблок для s5fs) с диска, в то время как распределенные варианты систем могут посылать запрос на монтирование файл-серверу.
В этом разделе будет рассмотрена реализация некоторых файловых операций в архитектуре vnode/vfs. Вы увидите описание системных вызовов open и read, а начнем мы разговор с методики преобразования полных имен файлов.
Опубликовал katy
July 08 2015 09:26:54 ·
0 Комментариев ·
3784 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.