Пользовательский режим Linux

редактировать
Пользовательский режим Linux
Написано в C
Тип Виртуализация
Лицензия Стандартная общественная лицензия GNU
Веб-сайт пользовательский режим-linux.sourceforge.net

Пользовательский режим Linux ( UML) позволяет нескольким виртуальным операционным системам на основе ядра Linux (известным как гостевые системы) работать как приложение в обычной системе Linux (известной как хост). Поскольку каждый гость представляет собой обычное приложение, работающее как процесс в пользовательском пространстве, этот подход предоставляет пользователю возможность запускать несколько виртуальных машин Linux на одном устройстве, предлагая некоторую изоляцию, как правило, не влияя на конфигурацию или стабильность среды хоста..

СОДЕРЖАНИЕ
  • 1 Приложения
  • 2 Интеграция в ядро ​​Linux
  • 3 Сравнение с другими технологиями
  • 4 Поддерживаемые платформы
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Приложения

Многочисленные вещи становятся возможными благодаря использованию UML. Можно запускать сетевые службы из среды UML и оставаться полностью изолированными от основной системы Linux, в которой работает среда UML. Администраторы могут использовать UML для настройки приманок, которые позволяют тестировать безопасность своих компьютеров или сети. UML может служить для тестирования и отладки нового программного обеспечения без отрицательного воздействия на хост-систему. UML также можно использовать для обучения и исследований, обеспечивая реалистичную сетевую среду Linux с высокой степенью безопасности.

В средах UML версии хоста и гостя не обязательно должны совпадать, поэтому вполне возможно протестировать « передовую » версию Linux в пользовательском режиме в системе с гораздо более старым ядром. UML также позволяет выполнять отладку ядра на одной машине, тогда как другие инструменты отладки ядра (такие как kgdb ) требуют двух машин, соединенных с помощью нуль-модемного кабеля.

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

libguestfs поддерживает бэкэнд UML с версии 1.24 в качестве альтернативы использованию QEMU или KVM.

Интеграция в ядро ​​Linux

Гостевое приложение UML ( двоичный файл ELF Linux ) изначально было доступно как патч для некоторых версий ядра выше 2.2.x, а хост с любой версией ядра выше 2.2.x легко поддерживал его в режиме потока (т. Е. Не-SKAS3)..

Начиная с Linux 2.6.0, он интегрирован в основное дерево исходных кодов ядра. Реализован метод запуска отдельного адресного пространства ядра (SKAS), не требующий исправления ядра хоста. Это повышает производительность и безопасность по сравнению со старым подходом с отслеживанием потоков, при котором процессы, выполняемые в UML, совместно используют одно и то же адресное пространство с точки зрения хоста, что приводит к тому, что память внутри UML не защищается блоком управления памятью. В отличие от текущего UML, использующего SKAS, ошибочное или вредоносное программное обеспечение внутри UML, запущенного на хосте, отличном от SKAS, может иметь возможность читать пространство памяти других процессов UML или даже память ядра UML.

Сравнение с другими технологиями

Обычно считается, что Linux в пользовательском режиме имеет более низкую производительность, чем некоторые конкурирующие технологии, такие как Xen и OpenVZ. Дальнейшая работа по добавлению поддержки виртуализации x86 в UML может уменьшить этот недостаток.

В качестве сильной стороны Xen (конкурирующей технологии) часто упоминается поддержка локального хранилища потоков (TLS). Теперь это также поддерживается в последних ядрах UML. Xen концентрируется на виртуализации всей машины, и поэтому все системы, работающие на машине Xen, на самом деле являются виртуальными машинами. В UML хост-машина никоим образом не виртуализирована, и только гостевые системы являются настоящими виртуальными машинами. Это позволяет гостю UML прямой доступ к файловым системам и оборудованию хоста, где обычно отображается каталог хоста (например, / uml / root/).

Поддерживаемые платформы

UML был первоначально разработан для набора инструкций x86, но также был перенесен на другие, включая IA-64 и PowerPC.

Смотрите также
Рекомендации
Внешние ссылки
Последняя правка сделана 2023-04-05 08:02:16
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте