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


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

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

Многое становится возможным благодаря использованию UML. [1] Можно запускать сетевые службы из среды UML и оставаться полностью изолированными от основной системы Linux, в которой работает среда UML. [2] [3] [4] [5] [6] Администраторы могут использовать UML для настройки приманок , [7] которые позволяют проверить безопасность своих компьютеров или сети. UML может использоваться для тестирования и отладки нового программного обеспечения, не оказывая отрицательного влияния на хост-систему. UML также можно использовать для обучения и исследований, создавая реалистичную сетевую среду Linux с высокой степенью безопасности.

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

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

libguestfs поддерживает серверную часть UML, начиная с версии 1.24 [8] , в качестве альтернативы использованию QEMU или KVM.