является ли Ксен АБИ истинным АБИ?
-
12-09-2019 - |
Вопрос
Я читал страницу Википедии на ABI, который описывает, что должен указывать ABI, и страница Xen, на которой указано, что у них есть специальный ABI гиперзвонка для их паравиртуализации.Мой вопрос в том, поскольку программы будут выполняться, скажем, с использованием Windows ABI в виртуальной машине, как Xen ABI является ABI?
Решение
У Xen есть два способа запуска гостевых систем:
- Паравиртуализированные гости, которые используют этот ABI для взаимодействия с гипервизором.Для этого требуется, чтобы гостевой сервер был изменен для работы (что требует наличия его исходного кода).
- Использование функций виртуализации процессоров, таких как AMD SVM или Intel VT.В этом случае нет никакого ABI, которому гость должен соответствовать.
Таким образом, ABI Xen относится только к первому случаю.
Редактировать:Приложениям пользовательского пространства, работающим в гостевой ОС, необходимо не могут быть изменены, предполагая, что они не пытаются получить доступ к оборудованию напрямую (или ОС перехватывает эти обращения и обрабатывает их удобным для хоста способом).Таким образом, необходимо изменить только ядро (здесь включая драйверы и так Далее) этого гостя, и оно будет запускать любые неизмененные приложения.