Разработчики NetBSD продолжили (http://blog.netbsd.org/tnf/entry/a_rump_kernel_hypervisor_for) эксперименты с подсистемой
RUMP (http://www.netbsd.org/docs/rump/) (Runnable Userspace Meta Program), позволяющей организовать выполнение частей ядра NetBSD на сторонних платформах и в обособленных окружениях. Новым достижением является портирование (https://github.com/anttikantee/rumpuser-linuxkernel) гипервизора RUMP для работы на уровне ядра Linux, что позволяет обеспечить поддержку прямой загрузки ядром Linux частей ядра NetBSD.
Представленные наработки позволяют загружать ядром Linux немодифицированные драйверы, написанные для ядра NetBSD. Запускаемые компоненты NetBSD выполняются в виде RUMP-ядер, работающих поверх гипервизора RUMP, который предоставляет высокоуровневый интерфейс к возможностям хост-системы, таким как распределение памяти и создание нитей. В данном случае хост-системой является ядро Linux, а запуск rump-ядра осуществляется через загрузку специально подготовленного модуля для ядра Linux.
Для демонстрации возможностей rump-гипервизора в Linux-окружении осуществлен запуск TCP/IP-стека NetBSD, что позволило организовать функцинирование отдельного TCP/IP стека NetBSD параллельно с TCP/IP-стеком Linux. Аналогичным образом могут быть запущены и другие подсистемы ядра NetBSD, такие как драйверы файловых систем. В качестве возможных применений представленной разработки называется возможность использования немодифицированных драйверов NetBSD во встраиваемых прошивках, для чего достаточно интегрировать в прошивки компоненты с реализацией легковесной прослойки для обеспечения работы гипервизора RUMP.Pежим RUMP также даёт возможность организовать выполнение частей ядра NetBSD в адресном пространстве пользователя. В частности, RUMP позволяет в виде оформленного в стиле микроядра серверного процесса выполнять в пространстве пользователя драйверы, изначально работающие на уровне монолитного ядра системы. По сути rump-ядро является частично паравиртуализированным ядром, запускаемым поверх высокоуровневного гипервизора. Указанная возможность позволяет легко портировать NetBSD под различные системы, так как для обеспечения работы rump-ядра достаточно подготовить для платформы только соответствующий небольшой гипервизор.
Напомним, что ранее уже была обеспечена возможность (http://www.opennet.me/opennews/art.shtml?num=35602) использования модулей ядра NetBSD в Linux (например, можно было использовать драйверы с реализацией поддержки файловой системы FFS), но при этом RUMP-компоненты запускались в форме пользовательских процессов. Также ядро и драйверы NetBSD были адаптированы (http://www.opennet.me/opennews/art.shtml?num=35268) для запуска в web-браузере, путём их компиляции в JavaScript при помощи пакета Emscripten.URL: http://blog.netbsd.org/tnf/entry/a_rump_kernel_hypervisor_for
Новость: http://www.opennet.me/opennews/art.shtml?num=36768
Тащат всякую каку в ядро, даже не задумываясь нужно ли это :)
"В смысл не вникай, сразу отвечай"Перевожу - в ядро Rump не принят, его просто портировали чтобы он мог работать в ядре. Так что ничего туда не тащат (в данном конкретном случае)
> в ядро Rump не принятСовсем уже забюрократились, годные вещи не хотят в ядро принимать.
Потролил. Молодец
А нафига собственно? ЯДро GNU/Linux поддерживает гораздо больши спектр аппаратных платформ и устройств, разве что поддержка их устаревшей фс, но это не слишком интересная задача - проще разок загрузится с флешки-диска, переписать интересующие данные и спокойно грохнуть раздел.
смешная шутка про то, что Linux поддерживает больше устройств и платформ, чем NetBSD
Not a joke, actually.
> смешная шутка про то, что Linux поддерживает больше устройств и платформ, чем NetBSDВообще-то, это не шутка.
Если вспомнить историю с NetBSD на кофеварке - прежде, чем ставить NetBSD, оттуда пришлось стереть линукс, шедший с завода.
> смешная шутка про то, что Linux поддерживает больше устройств и платформ, чем NetBSDНу вкати свой NetBSD на cubieboard например? Если уж вы поперлись меряться пиписьками...
смешная шутка про ядро GNU/Linux
> смешная шутка про ядро GNU/LinuxТеперь модно шутить про ядро systemd/linux :)
Линю ещё долго нагонять NetBSD по количеству платформ. До-о-олго...
http://en.wikipedia.org/wiki/Comparison_of_operating_system_...
> Линю ещё долго нагонять NetBSD по количеству платформ. До-о-олго...Смешная шутка, ага :)
> Линю ещё долго нагонять NetBSD по количеству платформ. До-о-олго...Ну покажите мне NetBSD на PPC64 или s/390.
Если разработчики NetBSD свои пять с половиной архитектур расписывают на две страницы - это не широкая поддержка аппаратных платформ, а просто умение лить воду.
> Ну покажите мне NetBSD на PPC64 или s/390.А мне линукс на VAX'ах извольте продемонстрировать. С аргументами "не нужен" -- идите зарослями крапивы.
> А мне линукс на VAX'ахНачнем с демонстрации хотя бы одного функционирующего VAX'а.
> идите зарослями крапивы.Не, зарослями крапивы пусть идут галимые теоретики, с архитектурами которые не в каждом музее политехники найдешь. А нас интересует то что можно реально купить и поюзать.
>> Ну покажите мне NetBSD на PPC64 или s/390.
> А мне линукс на VAX'ах извольте продемонстрировать. С аргументами "не нужен" --
> идите зарослями крапивы.
> Линю ещё долго нагонять NetBSD по количеству платформ. До-о-олго...Блажен кто верует. Идем на http://downloads.openwrt.org/attitude_adjustment/12.09/ и поддиры. И на чем из этого NetBSD взлетит (поползет/потонет/...)?
> А нафига собственно?А знаете ли вы, голубчик, что такое RUMP?
Подобный вариант с линуксом может быть полезен для отладки, например.
> Подобный вариант с линуксом может быть полезен для отладки, например.Хм. А кого так отлаживать-то?
>> Подобный вариант с линуксом может быть полезен для отладки, например.
> Хм. А кого так отлаживать-то?Ядерный код "гостя". Вообще это мне Рабинович напел, но звучит не бесмысленно. Для всех кейсов конечно не применимо, но где-то может помочь.
В линуксе вот такая штука давно есть, тут и приложения упомянуты:
http://en.wikipedia.org/wiki/User-mode_Linux
> Ядерный код "гостя".Его можно и просто в виртуализаторе типа KVM отлаживать. Нафига козе баян?
> Его можно и просто в виртуализаторе типа KVM отлаживать. Нафига козе баян?Возможно, потери производительности или другие минусы для машин без Intel VT / AMD V.
И по сылке там таки еще варианты.
> Возможно, потери производительности или другие минусы для машин без Intel VT / AMD V.Зато на современных машинах можно еще и PCI девайсы с хоста пробрасывать. Так, пожалуй, можно даже попытаться отдебажить какой-то драйвер без матюков и ребута. В смысле, just in case упадет ядро в виртуалке, а не на хосте, что как-то более приятная перспектива :)
> И по сылке там таки еще варианты.
Ога, и как обычно, высосанные из пальца в основном.
> Зато на современных машинах можно еще и PCI девайсы с хоста пробрасывать.
> Так, пожалуй, можно даже попытаться отдебажить какой-то драйвер без матюков и
> ребута. В смысле, just in case упадет ядро в виртуалке, а
> не на хосте, что как-то более приятная перспектива :)В курсе, сам так делал, хотя там может быть надо еще не-shared irq и/или поддержка MSI (message-signalled interrupts). Но это если у вас драйвер железки, а не кусок того же сетевого стека, например.
>> И по сылке там таки еще варианты.
> Ога, и как обычно, высосанные из пальца в основном.Пардоньте. Вам не надо != никому не надо.
Можно таким извращенным способом MPLS на линуксе поднимать.
Можно гораздо менее извращённым способом
http://sourceforge.net/projects/mpls-linux/
http://zmpls.sourceforge.net/
Судя по всему - нельзя.>http://sourceforge.net/projects/mpls-linux/
Статус бета, дата последнего релиза - 2011 год. Померло толком не родившись.
>http://zmpls.sourceforge.net/
Статус альфа, last updated 09/28/06. До 1.0 так и не дожило.
для МПЛС есть циска
Бздалятор.
> Бздалятор.Ыхыхы, а ведь точно.
> Бздалятор.Зачётные ник, тебе подходит.
> Бздалятор.Ты наконец придумал себе титул? Почетный бздалятор опеннета - iZEN :)
Годное решение. Если некоторые модули Linux переписать под NetBSD - можно получить гибридное ядро. И не микроядро, но и не монолитное ядро. Интересное решение.
> Годное решение. Если некоторые модули Linux переписать под NetBSDЧтобы запустить их в Linux под RUMP ? :)
Да, так мы получим возможность держать в ядре только основной функционал, а всё остальное запускать как модули у микроядерных ОС. Удобно. И если модуль окажется кривым, он подвесит только RUMP, а не всё ядро.
монолит это про какое ядро?
> монолит это про какое ядро?Тащемта, и пингвин, и бзди - монолит.
>> монолит это про какое ядро?
> Тащемта, и пингвин, и бзди - монолит.rm -rf /lib/modules/`uname -r`
Опа, и немонолит... :)
С точки зрения адресного пространства, в котором работают
ВСЕ модули ядра -- монолит. Павлинух, ты не можешь этого не знать,
не прикидывайся, не убивай мою веру в человечество.
> не прикидывайся, не убивай мою веру в человечество.:-P
> Опа, и немонолит... :)Модульный монолит - вот такие вот взаимоисключающие параграфы :)
Я конечно дико извиняюсь, но по крайней мере на моей практике работы с NetBSD ситуация была сторого противоположной: очень хотелось поиметь те или иные компоненты, которые есть в Linux но отсутствуют в NetBSD. Собственно после очередного N-го хочу альтруисические попытки писать против ветра вконец устали и NetBSD была отправлена на задворки истории (хотя система хорошая). Надеюсь, сегодня ситуация существенно изменилась к лучшую сторону.
Примеры бы... а то только идеи.. против ветру.
> Примеры бы... а то только идеи.. против ветру.При подборе embedded платок для той или иной железки у производителя сегодня в 99.(9)% случаев Linux поддерживается из коробки. Если нет - это какой-то очень экзотический производитель. Для остальных же - это уже стандарт де-факто. У кого-то свои сборки, у кого-то ставятся популярные дистры - возможны вариации. Но embedded и Linux это уже считай что синонимы. К сожалению, про *BSD такого сказать нельзя даже близко. Какие ещё примеры нужны?
Как поживает systemd в embedded?
А как пропатчить КДЕ2?А если серьёзно:
* кто из производителей видеоускорителей сейчас поддерживает бздю?
* как с поддержкой WiFi?
> * кто из производителей видеоускорителей сейчас поддерживает бздю?Только нвидия и только на х86. Что в эмбедовке автоматом означает "давай, досвиданья!"
> * как с поддержкой WiFi?
Как обычно у бсдшников.
"- Решение есть! И пошел спать." //анекдот про математика и пожарный кран
>* как с поддержкой WiFi?У меня NetBSD 6.0.1 стоит на нетбуке eMachines, WiFi работает нормально, хотя графическая утилита подключения wpa_gui выглядит как будто из позапрошлого века. Но работать работает.
> WiFi работает нормально,А нормально - подразумевает агрегацию каналов, 40MHz и прочие современные технологии? Или "нормально" - это если дедушкин 802.11b модуль передаваемый по наследству как семейная реликвия завелся?
Мужик, не грузи, я осциллографом мегагерцы не мерял, это просто домашний вайфай или в кафе в городе. Скорость нормальная, для сёрфинга, просмотра Ютьюб и установки софта хватает, а остальное мне и не важно, т.к. для повседневного юзания я эту систему не использую, разве что так, побаловаться.
> Мужик, не грузи, я осциллографом мегагерцы не мерял,Это можно посмотреть и без осциллографа. Тем более что осцил на 2.4 и тем более 5ГГц стоит конских бабок. Достаточно посмотреть на скорость подключения. На 20МГц каналах в .n максимум 75Мбит на поток. А 40МГц каналы - уже 150Мбит на поток. Т.е. в 2 раза разницы.
> это просто домашний вайфай или в кафе в городе. Скорость нормальная, для сёрфинга,
> просмотра Ютьюб и установки софта хватает, а остальное мне и не важно, т.к.
> для повседневного юзания я эту систему не использую, разве что так, побаловаться.Во-во. Красивые такие отмазки.
>Во-во. Красивые такие отмазки.В смысле отмазки? Я как пользователь NetBSD просто сказал, что WiFi на ней работает и можно через него смотреть YouTube. Я не утверждал, что там работают самые последние версии 802.11.
> Как поживает systemd в embedded?Прекрасно. С ним даже слабые системы грузятся за <10 секунд, а на за минуту, как со скриптами.
Пример - http://www.opennet.me/opennews/art.shtml?num=36767
>> Как поживает systemd в embedded?
> Прекрасно. С ним даже слабые системы грузятся за <10 секунд, а на
> за минуту, как со скриптами.
> Пример - http://www.opennet.me/opennews/art.shtml?num=36767Ну это если загрузятся, а бывает так что и нет.
> Ну это если загрузятся, а бывает так что и нет.Вы путаете с OpenRC. Вот он грузится через раз.
Прекрасно поживает, между прочим.
> иные компоненты, которые есть в Linux но отсутствуют в NetBSD.Вот я и не понял - зячем перцы воюют с ветряными мельницами. Инверсная задача еще могла бы иметь какой-то смысл. Но вот кому в линухе надо куски ядра нетбзды запускать и зачем - вот это загадка природы.
> Вот я и не понял - зячем перцы воюют с ветряными мельницами.
> Инверсная задача еще могла бы иметь какой-то смысл. Но вот кому
> в линухе надо куски ядра нетбзды запускать и зачем - вот
> это загадка природы.Why we do it? Because we can!
> Why we do it? Because we can!(пробурчал чувак в ластах и лыжной маске на гамаке)
> Я конечно дико извиняюсь, но по крайней мере на моей практике работы
> с NetBSD ситуация была сторого противоположной: очень хотелось поиметь те или
> иные компоненты, которые есть в Linux но отсутствуют в NetBSD. Собственно
> после очередного N-го хочу альтруисические попытки писать против ветра вконец устали
> и NetBSD была отправлена на задворки истории (хотя система хорошая). Надеюсь,
> сегодня ситуация существенно изменилась к лучшую сторону.И это пишет сам Klalafuda - помню Ваши посты о NetBSD на Опеннете лет так 10 назад :) Да, шестёрка оставляет куда более приятное впечатление, чем её предшественницы, хотя сохранить штаны полностью сухими ещё не получается.
> загружать ядром Linux немодифицированные драйверы, написанные для ядра NetBSD.Эталонный образец академ-подхода: с помпой решили несуществующую проблему. А результат решения интересует похоже только самих решавших. Зато концептуально, не отнять.
> Эталонный образец академ-подхода: с помпой решили несуществующую проблему. А результат решения интересует похоже только самих решавших. Зато концептуально, не отнять.Для полной академичности - на это еще надо было распилить грант на сотни нефти.
>> загружать ядром Linux немодифицированные драйверы, написанные для ядра NetBSD.
> Эталонный образец академ-подхода: с помпой решили несуществующую проблему. А результат
> решения интересует похоже только самих решавших. Зато концептуально, не отнять.Ну собственно не барское (академическое) это дело - существующие проблемы решать. А вот в концепцию NetBSD о переносимости кода и решении этой проблемы нетривиальными (еще 10000 строчек кода и наше ядро будет работать на очередной кофеварке) способами разработка вполне вписывается. Возможно с точки зрения сегодняшней войны за то, какая операционная система будет работать на чьем-то десктопе, идея не очень практична, но в будущем пожалуй она могла бы быть использованна для например упрощения процессоров (зачем нужно тратить долю производительности железа на виртуализацию, если отдельные части ядра дргуой ОС могут работать вполне спокойно без потери производительности, ну или например зачем портировать свое приложение для ОС имярек, если в ее ядро уже включены компоненты этой системы).
Просто как бы ну не виноват никто, что вы сейчас не видите перспектив развития этого решения скорее всего в силу своей низкой квалификации.
> Просто как бы ну не виноват никто, что вы сейчас не видите
> перспектив развития этого решения скорее всего в силу своей низкой квалификации.Видите ли, мой английский коллега, забывший переключить раскладку, какое дело... Я считаю, что это решение как раз очень хорошо вписывается в тренд значительного снижения общей квалификации программистов, наблюдаемый в последнее время. Почему-то новым (на молодых, наверное, обидятся, поэтому скажу так) программистам кажется, что стандарты - это такое дело, которому должны следовать "старые пердуны" в IT. И даже более того, наблюдается некое восторженно-подростково-протестное восприятие факта нарушения стандартов, типа "Мне что, делать больше нечего, какие-то стандарты изучать?! А вот я сделал не по стандарту и мне "по цимбалах", что вы об этом думаете". Яркий пример - все знают, называть не буду, а то начнется :)
Так вот, мне почему-то кажется, что это решение позволяет вместо жесткого следования стандартам, результатом которого является возможность сборки программы на любой платформе, которая поддерживает эти стандарты, писать как бог на душу положит и "ложить" (даже, "класть", если хотите ;)) на все эти стандарты - ведь все-равно как-то работать будет...
И это, коллега, наиболее печально...
> Видите ли, мой английский коллега, забывший переключить раскладку, какое дело... Я считаю,
> что это решение как раз очень хорошо вписывается в тренд значительногоНу как бы кодеры и программисты были всегда (программисты обычно выходили из академической среды, кодеры сами знаете откуда). Скажем так, это извечный закон борьбы противоположностей, и никуда от этого не денешься. Так что особо не расстраивайтесь, просто будьте программистом, а не кодером.
> Просто как бы ну не виноват никто, что вы сейчас не видите
> перспектив развития этого решения скорее всего в силу своей низкой квалификации.Перпективы были бы, если бы они смогли запустить Linux поверх NetBSD, а не наоборот.
Потому что Linux может много дать NetBSD, а NetBSD практически ничего не может дать Linux-у.
>> Просто как бы ну не виноват никто, что вы сейчас не видите
>> перспектив развития этого решения скорее всего в силу своей низкой квалификации.
> Перпективы были бы, если бы они смогли запустить Linux поверх NetBSD, а
> не наоборот.
> Потому что Linux может много дать NetBSD, а NetBSD практически ничего не
> может дать Linux-у.Я вам за здравие, а вы мне заупокой. Я как бы объясняю что интересна сама идея такой вот виртуализации, а вы все Linux да Linux. Не стоит так зацикливаться на одной операционной системе, их достаточно много и собственно одной больше, другой меньше.
Вы открыли для себя паравиртуализацию? Поздравляю.
Паравиртуализация все-таки требует накладных расходов для своей работы. Деградация меньше чем у гипервизоров, реализующих обычную виртуализацию, но она есть. Кроме того, паравиртуализация требует поддержки аппаратной виртуализации процессором, читайте выше и пожалуйста внимательней, особенно вот эту часть "но в будущем пожалуй она могла бы быть использованна для например упрощения процессоров". Кроме того можно ведь из процессоров выкинуть и саму аппаратную виртуализацию. Или например, в случае с ARMом вообще ее не реализовывать. Так что это я вас поздравляю, вы невнимательны, ну или не хотите понять идею целиком.
> Паравиртуализация все-таки требует накладных расходов для своей работы.--- Запускаемые компоненты NetBSD выполняются в виде RUMP-ядер, работающих поверх гипервизора RUMP
Тчк.
>> Паравиртуализация все-таки требует накладных расходов для своей работы.
> --- Запускаемые компоненты NetBSD выполняются в виде RUMP-ядер, работающих поверх гипервизора
> RUMP
> Тчк.Увидел знакомое слово гипервизор, провел параллель между тем, о чем уже знал, сделал вывод, написал комментарий? Отличный ход мысли, но гипервизор тут не совсем то, что вы понимаете под этим словом.
Читайте по ссылке http://www.netbsd.org/docs/rump/
> Увидел знакомое слово гипервизор, провел параллель между тем, о чем уже знал,Вы знаете, современные гипервизоры таки не требуют офигенных накладных расходов. Например KVM в линуксном ядре на вычислениях может более 95% от производительности хоста показать запросто. А то что у вас там в криокамере хладагент качественный - мы не виноваты.
Тем не менее, иногда полезно высовывать нос из своей академической каморки и мониторить ситуацию в других отраслях. Иначе можно обнаружить что ваш супер-заапгрейженный паровой двигатель никому не уперся в XXI веке.
> Я вам за здравие, а вы мне заупокой. Я как бы объясняю
> что интересна сама идея такой вот виртуализации, а вы все Linux
> да Linux. Не стоит так зацикливаться на одной операционной системе,
> их достаточно много и собственно одной больше, другой меньше.Если технология by design ограничена по области применения, что сводит ее пользу практически к нулю - указывать на это вовсе не значит "зацикливаться на какой-то там операционной системе".
Ну как бы это вы by design по-моему ограничены, если не можете представить для чего она предназначена (просто мыслите категориями Linux и все остальное), а технология отличная ИМХО.
> остальное), а технология отличная ИМХО.Называя вещи своими именами, "yet another hypervisor". Всего лишь. Как бы концептуалы на него ни надр@чивали, а смысл именно такой.
> Просто как бы ну не виноват никто, что вы сейчас не видите
> перспектив развития этого решения скорее всего в силу своей низкой квалификации.Понимаете ли, эту самую перспективу в прожэктах такого плана мало кто видит уже много лет. Вот практически все рыночные доли и пожрал пингвин. Потому что пока академики играются в свои концептуальные игрушки с нулевым результатом на выходе, инженеры просто решают задачи. И это у них получается явно лучше.
А кому и зачем надо запуск какой-то сферической буиты в вакууме? :)
я сидел на netbsd с 1.5.1 версии и думаю что это очень полезное нововведение