Для изоляции процессов с использованием гипервизора применяется библиотека libkrun. Ядро Linux поставляется в форме, встроенной в разделяемую библиотеку libkrunfw. Образы формируется в формате OCI, что позволяет использовать smolvm для запуска в микро-VM существующих образов из Docker Hub, ghcr.io и других реестров, совместимых с OCI.
Время запуска виртуальной машины составляет примерно 200 мс, что всего в два раза больше, чем запуск контейнера, но в десятки раз меньше, чем запуск полноценной гостевой системы. Память для виртуальной машины выделяется и возвращается хост-системе динамически при помощи virtio-драйвера balloon. Во время простоя запускаемого в виртуальной машине процесса, связанный с vCPU цикл тоже приостанавливается, т.е. при неактивности отсутствуют накладные расходы.
Из областей применения отмечается распространение программ в переносимых и самодостаточных исполняемых файлах, изоляция не заслуживающих доверия приложений, запуск docker-контейнеров с более высоким уровнем изоляции, создание сохраняющих своё состояние окружений при разработке программ, использование git и SSH без копирования закрытых ключей в виртуальную машину (пробрасывая из хост-системы через SSH agent).
Возможен запуск в виртуальных машинах графических приложений с перенаправлением доступа к хостовому GPU через virtio-gpu или Venus (API Vulkan поверх virtio). Инструментарий командной строки smolvm и менеджер виртуальных машин выполняются с привилегиями текущего пользователя. Возможен проброс каталогов из хост-системы в виртуальную машину.
Источник: http://www.opennet.ru/opennews/art.shtml?num=65989
