Возможно ли, чтобы приложения на виртуальных машинах взаимодействовали напрямую с гипервизором (не через ядро ​​виртуальной машины)? - PullRequest
0 голосов
/ 16 ноября 2018

Принимая это значение:

enter image description here

Возможно ли непосредственное существование линии 1 связи, как показано на рисунке? Поддерживает ли какой-либо гипервизор этот тип поведения? Если нет, можно ли заменить гипервизор (например, KVM) для поддержки этого?

Я подозреваю, что линия 2 связи возможна. Но я не совсем уверен. Таким образом, вопрос также относится ко второй линии связи, как показано на рисунке.

1 Ответ

0 голосов
/ 20 ноября 2018

Да, это возможно. Например, используя Intel VMX, инструкцию vmcall можно использовать из приложения. Можно использовать любую другую инструкцию, разрешенную в пользовательском режиме и вызывающую выход из виртуальной машины, такую ​​как cpuid или доступ к памяти на неотображенной странице.

Ответы на этот вопрос говорят о том, как добавить обработчик vmcall в KVM. Реализация пользовательского гиперзвука в kvm * ​​1004 *

...