VFS является модулем?

Во время изучения VFS этот вопрос появился у меня в голове. Можно ли думать о VFS как о модуле?

Причина, по которой я так думал, заключается в том, что VFS обладает характеристикой упрощения фактического управления файлами для пространства ядра / пользователя. Это казалось бы чем-то вроде драйвера устройства, и это заставило меня задуматься.

Но опять же, если VFS – это то, что статически компилируется в ядре, я думаю, это нельзя рассматривать как модуль.

2 Solutions collect form web for “VFS является модулем?”

Вы не указываете, какую операционную систему вы спрашиваете, но ответ, вероятно, будет одинаковым для всех основных приложений общего назначения.

TL; DR : VFS не является модулем.

В общем, VFS слишком много интегрален с базовыми функциями ядра, чтобы быть настроенным как (дополнительный) модуль. Все, что связано с файлами и именами путей, точками подключения и файловыми системами, в основном подключено к VFS. Каждый системный вызов, который принимает имя пути или файловый дескриптор, от open() до rename() до execve() подключается к VFS. Без этого последнего вы не сможете, ну … запустите любое программное обеспечение.

Существуют операционные системы, у которых нет VFS или где VFS является необязательным компонентом, но тогда эти операционные системы не имеют понятия файлов с именами. Подумайте о микроконтроллерах, таких как «операционная система» в вашем цифровом термостате.

В Solaris (обратите внимание, что VFS был изобретен Sun SunOS-3.x в середине 1980-х годов), все возможное динамически загружается в ядро ​​… с 1992 года. Однако VFS статически связана с /kernel/genunix . Даже krtld ядра ядра загружен, но genunix должен иметь возможность раннего монтирования корневой файловой системы как одну из первых операций, поэтому нет возможности сделать эту загружаемую.

  • Инструмент для сброса суперблока Linux VFS
  • Выбросы кеша Linux
  • Как слить (без копирования) два каталога?
  • Linux и Unix - лучшая ОС в мире.