Как устроено микроядро?

Думаю, вы знаете о нескольких типах ядра системы. Первый - монолитное ядро, типичные представители - современные Unix, а также Linux. Второй - микроядерная ОС, типичный представитель - MINIX, ещё парочка малоизвестных ОС. Конечно, MINIX opensource: однако я её не видел ни в виде img/ISO образа, ни в виде загружаемого для QEMU zImage. Попробую, конечно, собрать ОС из исходников, и посмотреть, что там, да как... Есть ещё GNU Hurd - это скорее ядро, как Linux. Есть даже сборки Debian с Hurd ядром. Читать исходники - это, конечно, хорошо, но хочется увидеть рабочее ядро хотя бы в QEMU.

Просто, смотрите. В чем особенность микроядра? Есть базовое ядро, которое обеспечивает самые базовые вещи - хоть какую-то работу с PCI, портами ввода-вывода, управления памятью. Все остальное - поддержка файловых систем, внешних устройств - осуществляется уже, по сути, отдельным процессом в userspace. Ну, условно это выглядит так:

/init
| /sbin/wifi-driver
| /sbin/keyboard-driver

[Поправьте, если я где-то ошибся, ибо в теме микроядер особо не разбираюсь].

Тут вопрос именно к, по сути, "драйверу файловой системы". Чтобы его запустить, нужно смонтировать раздел, где он лежит. Но чтобы смонтировать раздел - нужен драйвер/модуль ядра! Но ведь в микроядерных ОС файловая система работает в userspace -> т е есть условный /sbin/fsmgr. Но откуда он берётся, если файловой системы для ядра нету, если ничего не смонтировано?


Ответы (0 шт):