Эксперимент по использованию бинарных модулей ядра NetBSD в Linux

14 декабря 2012 года

Разработчики проекта NetBSD продолжили эксперименты с запуском компонентов ядра NetBSD во внешних окружениях. После успешного запуска ядра системы под управлением web-браузера, была предпринята попытка обеспечения работы модулей ядра NetBSD в Linux. В качестве полезного с практической стороны использования модулей NetBSD в Linux приведён пример задействования модуля с реализацией файловой системы FFSv2, а также других специфичных возможностей NetBSD, не поддерживаемых в Linux.

В проекте задействованы недавно внесённые в подсистему RUMP (Runnable Userspace Meta Program) улучшения, позволяющие запустить собранное в режиме RUMP ядро NetBSD на платформах, отличных от NetBSD. После небольшой доработки удалось обеспечить запуск rump-ядра в форме пользовательского процесса в Linux и реализовать функции загрузки модулей, собранных для ядра NetBSD. Для демонстрации разработки подготовлено небольшое приложение, запускающее в Linux процесс с ядром NetBSD и позволяющее монтировать разделы с файловой системой FFS, используя для работы с ними модуль ffs.kmod из состава NetBSD. При этом используется уже собранный для NetBSD набор модулей и загрузка модулей rump-ядром происходит динамически.

Напомним, что режим RUMP даёт возможность организовать выполнение частей ядра NetBSD в адресном пространстве пользователя. В частности, RUMP позволяет в виде оформленного в стиле микроядра серверного процесса выполнять в пространстве пользователя драйверы, изначально работающие на уровне монолитного ядра системы. По сути rump-ядро является частично паравиртуализированным ядром, запускаемым поверх высокоуровневного гипервизора. Указанная возможность позволяет легко портировать NetBSD под различные системы, так как для обеспечения работы rump-ядра достаточно подготовить для платформы только соответствующий небольшой гипервизор.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Эксперимент по использованию бинарных модулей ядра NetBSD в Linux», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.