Почему кто-то хочет запустить UserMode Linux (UML)

18

Linux README заявляет , что:

Linux также был портирован на себя. Теперь вы можете запустить ядро ​​как приложение пользовательского пространства - это называется UserMode Linux (UML).

Почему кто-то хочет сделать это?

JohnAllen
источник
Может быть, если вы попробуете сами, станет ясно, это легко! unix.stackexchange.com/questions/73203/…
Сиро Сантилли 新疆 改造 中 at 法轮功 六四 事件

Ответы:

18

UML очень быстр для разработки и намного проще в отладке. Если, например, вы используете KVM, то вам нужно настроить среду, которая загружается из сети или копировать новые ядра в ВМ. С UML вы просто запускаете новое ядро.

В какой-то момент я тестировал некоторый сетевой код на ядре. Это означает, что вы очень часто получаете панику ядра или другие проблемы. Отладить это с помощью UML очень легко.

Кроме того, UML работает в местах, где нет аппаратной виртуализации, поэтому он использовался еще до того, как KVM стал общепринятым.

V13
источник
IIRC linode.com использовал UML для виртуализации.
Пол Кейджер
2
@PaulCager Да, они сделали, с 2003 года до перехода на Xen в 2008 году.
Мэтт Нордхофф
11

У их веб-страницы есть несколько причин

Вот некоторые вещи, для которых используется UML:

  • Хостинг виртуальных серверов
  • Разработка ядра
  • Экспериментируя с новыми ядрами и дистрибутивами
  • образование
  • песочница
Патрик
источник
Было бы здорово увидеть сравнение с другими методами виртуализации. Вот пошаговое руководство по созданию GDB: stackoverflow.com/questions/4943857/…
Сиро Сантилли 事件 17 中 at 法轮功 六四 事件
4

UML был также основой исходной версии FAUmachine , которая представляет собой виртуальную машину, которая позволяет вводить «аппаратные» ошибки в работающее ядро.

Йорг Миттаг
источник
Звучит интересно, но указанный вами URL является неработающей ссылкой.
isuldor
1

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

Майкл Мол
источник