СПОСОБ И УСТРОЙСТВО ДЛЯ ОСУЩЕСТВЛЕНИЯ ОПЕРАЦИИ ВВОДА/ВЫВОДА В СРЕДЕ ВИРТУАЛИЗАЦИИ

1. Способ, осуществляемый обслуживающей виртуальной машиной, содержащий:
запускают с помощью модели устройства обслуживающей виртуальной машины драйвер устройства обслуживающей виртуальной машины с целью управления некоторой частью устройства ввода/вывода для реализации операции ввода/вывода путем использования информации ввода/вывода, которая касается операции ввода/вывода и которая записана гостевой виртуальной машиной;
при этом модель устройства, драйвер устройства и часть устройства ввода/вывода закреплены за гостевой виртуальной машиной.
2. Способ по п.1, который, если часть устройства ввода/вывода не может работать совместимо с архитектурой гостевой виртуальной машины, дополнительно содержит:
переводят с помощью драйвера устройства информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, в теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода; и
переводят с помощью драйвера устройства обновленную теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода, в обновленную информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, при этом обновленная информация ввода/вывода обновлена частью устройства ввода/вывода в ответ на реализацию операции ввода/вывода.
3. Способ по п.1, дополнительно содержащий:
поддерживают с помощью драйвера устройства состояние части устройства ввода/вывода после реализации операции ввода/вывода.
4. Способ по п.1, дополнительно содержащий:
сообщают с помощью модели устройства гостевой виртуальной машине о реализации операции ввода/вывода.
5. Способ по п.1, в котором информацию ввода/вывода записывают в структуру данных, начиная с указателя начала, которым управляет часть устройства ввода/вывода.
6. Способ по п.1, в котором указатель конца, который указывает на конец информации ввода/вывода, обновляют с помощью гостевой виртуальной машины.
7. Устройство, содержащее:
модель устройства и драйвер устройства, при этом модель устройства запускает драйвер устройства с целью управления некоторой частью устройства ввода/вывода для реализации операции ввода/вывода путем использования информации ввода/вывода, которая касается операции ввода/вывода и которая записана гостевой виртуальной машиной, и модель устройства, драйвер устройства и часть устройства ввода/вывода закреплены за гостевой виртуальной машиной.
8. Устройство по п.7, в котором если часть устройства ввода/вывода не может работать совместимо с архитектурой гостевой виртуальной машины, то драйвер устройства:
переводит информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, в теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода; и
переводит обновленную теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода, в обновленную информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, при этом обновленная информация ввода/вывода обновлена частью устройства ввода/вывода в ответ на реализацию операции ввода/вывода.
9. Устройство по п.7, в котором драйвер устройства дополнительно поддерживает состояние части устройства ввода/вывода после реализации операции ввода/вывода.
10. Устройство по п.7, в котором модель устройства дополнительно сообщает гостевой виртуальной машине о реализации операции ввода/вывода.
11. Устройство по п.7, в котором информация ввода/вывода записана в структуру данных, начиная с указателя начала, которым управляет часть устройства ввода/вывода.
12. Устройство по п.7, в котором гостевая виртуальная машина обновляет указатель конца, который указывает на конец информации ввода/вывода.
13. Считываемый машиной носитель информации, содержащий несколько команд, выполнение которых приводит к тому, что в системе:
запускают, с помощью модели устройства обслуживающей виртуальной машины, драйвер устройства обслуживающей виртуальной машины с целью управления частью устройства ввода/вывода для реализации операции ввода/вывода путем использования информации ввода/вывода, которая касается операции ввода/вывода и которая записана гостевой виртуальной машиной,
при этом модель устройства, драйвер устройства и часть устройства ввода/вывода закреплены за гостевой виртуальной машиной.
14. Считываемый машиной носитель информации по п.13, в котором, если часть устройства ввода/вывода не может работать совместимо с архитектурой гостевой виртуальной машины, несколько команд дополнительно приводят к тому, что в системе:
переводят, с помощью драйвера устройства, информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, в теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода; и
переводят с помощью драйвера устройства обновленную теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода, в обновленную информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, при этом обновленная информация ввода/вывода обновлена частью устройства ввода/вывода в ответ на реализацию операции ввода/вывода.
15. Считываемый машиной носитель информации по п.13, в котором несколько команд дополнительно приводят к тому, что в системе:
поддерживают с помощью драйвера устройства состояние части устройства ввода/вывода после реализации операции ввода/вывода.
16. Считываемый машиной носитель информации по п.13, в котором несколько команд дополнительно приводят к тому, что в системе:
сообщают с помощью модели устройства гостевой виртуальной машине о реализации операции ввода/вывода.
17. Считываемый машиной носитель информации по п.13, в котором информация ввода/вывода записана в структуру данных, начиная с указателя начала, которым управляет часть устройства ввода/вывода.
18. Считываемый машиной носитель информации по п.13, в котором гостевая виртуальная машина обновляет указатель конца, который указывает на конец информации ввода/вывода.
19. Система, содержащая:
аппаратную машину, содержащую устройство ввода/вывода; и
монитор виртуальных машин для сопряжения аппаратной машины и нескольких виртуальных машин, при этом виртуальная машина содержит:
гостевую виртуальную машину, предназначенную для записи информации ввода/вывода, касающейся операции ввода/вывода; и
обслуживающую виртуальную машину, которая содержит модель устройства и драйвер устройства, при этом модель устройства запускает драйвер устройства с целью управления некоторой частью устройства ввода/вывода для реализации операции ввода/вывода путем использования информации ввода/вывода и при этом модель устройства, драйвер устройства и часть устройства ввода/вывода закреплены за гостевой виртуальной машиной.
20. Система по п.19, в которой если часть устройства ввода/вывода не может работать совместимо с архитектурой гостевой виртуальной машины, то драйвер устройства обслуживающей виртуальной машины дополнительно:
переводит информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, в теневую информацию ввода/вывода, которая соответствует архитектуре части устройства ввода/вывода; и
переводит обновленную теневую информацию ввода/вывода, которая соответствует архитектуре, по меньшей мере, части устройства ввода/вывода, в обновленную информацию ввода/вывода, которая соответствует архитектуре гостевой виртуальной машины, при этом обновленная информация ввода/вывода обновлена частью устройства ввода/вывода в ответ на реализацию операции ввода/вывода.
21. Система по п.20, в которой гостевая виртуальная машина записывает информацию ввода/вывода в структуру данных, начиная с указателя начала, который обновляет часть устройства ввода/вывода.
22. Система по п.20, в которой гостевая виртуальная машина обновляет указатель конца, указывающий конец информации ввода/вывода.
23. Система по п.20, в которой монитор виртуальных машин передает управление системой от гостевой виртуальной машины на обслуживающую виртуальную машину, если определено, что обновлен указатель конца.
24. Система по п.20, в которой часть устройства ввода/вывода обновляет информацию ввода/вывода в ответ на реализацию операции ввода/вывода.
25. Система по п.20, в которой драйвер устройства поддерживает состояние части устройства ввода/вывода после реализации операции ввода/вывода.
26. Система по п.20, в которой модель устройства сообщает гостевой виртуальной машине о реализации операции ввода/вывода.