<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Разработанный проектом NetBSD гипервизор Rump портирован для Linux]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=27953&amp;type=atom" />
	<updated>2013-04-24T14:30:51Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=27953</id>
		<entry>
			<title type="html"><![CDATA[Разработанный проектом NetBSD гипервизор Rump портирован для Linux]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=342430#p342430" />
			<content type="html"><![CDATA[<p>Разработчики NetBSD <a href="http://blog.netbsd.org/tnf/entry/a_rump_kernel_hypervisor_for">продолжили</a> эксперименты с подсистемой <a href="http://www.netbsd.org/docs/rump/">RUMP</a> (Runnable Userspace Meta Program), позволяющей организовать выполнение частей ядра NetBSD на сторонних платформах и в обособленных окружениях. Новым достижением является <a href="https://github.com/anttikantee/rumpuser-linuxkernel">портирование</a> гипервизора RUMP для работы на уровне ядра Linux, что позволяет обеспечить поддержку прямой загрузки ядром Linux частей ядра NetBSD.</p><p>Представленные наработки позволяют загружать ядром Linux немодифицированные драйверы, написанные для ядра NetBSD. Запускаемые компоненты NetBSD выполняются в виде RUMP-ядер, работающих поверх гипервизора RUMP, который предоставляет высокоуровневый интерфейс к возможностям хост-системы, таким как распределение памяти и создание нитей. В данном случае хост-системой является ядро Linux, а запуск rump-ядра осуществляется через загрузку специально подготовленного модуля для ядра Linux.</p><p>Для демонстрации возможностей rump-гипервизора в Linux-окружении осуществлен запуск TCP/IP-стека NetBSD, что позволило организовать функцинирование отдельного TCP/IP стека NetBSD параллельно с TCP/IP-стеком Linux. Аналогичным образом могут быть запущены и другие подсистемы ядра NetBSD, такие как драйверы файловых систем. В качестве возможных применений представленной разработки называется возможность использования немодифицированных драйверов NetBSD во встраиваемых прошивках, для чего достаточно интегрировать в прошивки компоненты с реализацией легковесной прослойки для обеспечения работы гипервизора RUMP.</p><p>Pежим RUMP также даёт возможность организовать выполнение частей ядра NetBSD в адресном пространстве пользователя. В частности, RUMP позволяет в виде оформленного в стиле микроядра серверного процесса выполнять в пространстве пользователя драйверы, изначально работающие на уровне монолитного ядра системы. По сути rump-ядро является частично паравиртуализированным ядром, запускаемым поверх высокоуровневного гипервизора. Указанная возможность позволяет легко портировать NetBSD под различные системы, так как для обеспечения работы rump-ядра достаточно подготовить для платформы только соответствующий небольшой гипервизор.</p><p>Напомним, что ранее уже была <a href="http://www.opennet.ru/opennews/art.shtml?num=35602">обеспечена возможность</a> использования модулей ядра NetBSD в Linux (например, можно было использовать драйверы с реализацией поддержки файловой системы FFS), но при этом RUMP-компоненты запускались в форме пользовательских процессов. Также ядро и драйверы NetBSD <a href="http://www.opennet.ru/opennews/art.shtml?num=35268">были адаптированы</a> для запуска в web-браузере, путём их компиляции в JavaScript при помощи пакета Emscripten.</p><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=36768">http://www.opennet.ru/opennews/art.shtml?num=36768</a></p>]]></content>
			<author>
				<name><![CDATA[Rizado]]></name>
				<uri>https://linuxforum.ru/profile.php?id=23158</uri>
			</author>
			<updated>2013-04-24T14:30:51Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=342430#p342430</id>
		</entry>
</feed>
