Linux README заявляет , что:
Linux также был портирован на себя. Теперь вы можете запустить ядро как приложение пользовательского пространства - это называется UserMode Linux (UML).
Почему кто-то хочет сделать это?
Linux README заявляет , что:
Linux также был портирован на себя. Теперь вы можете запустить ядро как приложение пользовательского пространства - это называется UserMode Linux (UML).
Почему кто-то хочет сделать это?
Ответы:
UML очень быстр для разработки и намного проще в отладке. Если, например, вы используете KVM, то вам нужно настроить среду, которая загружается из сети или копировать новые ядра в ВМ. С UML вы просто запускаете новое ядро.
В какой-то момент я тестировал некоторый сетевой код на ядре. Это означает, что вы очень часто получаете панику ядра или другие проблемы. Отладить это с помощью UML очень легко.
Кроме того, UML работает в местах, где нет аппаратной виртуализации, поэтому он использовался еще до того, как KVM стал общепринятым.
У их веб-страницы есть несколько причин
Вот некоторые вещи, для которых используется UML:
UML был также основой исходной версии FAUmachine , которая представляет собой виртуальную машину, которая позволяет вводить «аппаратные» ошибки в работающее ядро.
Некоторые методы контейнеризации, такие как Docker, не позволяют вам использовать, например, FUSE без запуска привилегированного контейнера, ломая некоторые границы безопасности, которые могут предложить контейнеры. Внедрение чего-то вроде UML между вашим приложением и платформой контейнеризации может дать вам доступ к большему количеству функций ядра без ущерба для безопасности хоста.