Тезисы
Виртуализация — активно развивающаяся область. Мы считаем что удобство, надёжность, доступность и производительность — основные компоненты успеха виртуализационного решения. Производительность — один из ключевых моментов для промышленных гипервизоров, и часто решающий фактор в выборе решения. При этом архитектура x86, достаточно неудобно виртуализируемая и оптимизирована под традиционные виды нагрузки. Гипервизор исполняющий ядро гостевой ОС порождает очень частые трапы, или требуется практически полная перекомпиляция.
Сложные моменты (и наши решения): быстрый доступ к данным гипервизора (GIP), доступ к APIC, для управления IPL в Windows (патчи, виртуальный CR8), оптимизированные системные вызовы (ядро гостя в R1, модификация IDT), выполнение real-mode кода (эмуляция), управление памятью гостя (выделение физических страниц драйвером хостовой ОС, shadow paging, nested paging), различные режимы адресации гостя и хоста (переключатели режимов), управление источниками времени, быстрая видеопамять (собственный видеодрайвер в дополнениях), быстрая эмуляция устройств (эмуляция распределённая между кольцами, частичная эмуляция в R0/R1).
|
Николай Иготти Биография
Николай Иготти — разработчик и технический руководитель группы VirtualBox в Санкт-Петербургском офисе компании Sun Microsystems. Закончил Санкт-Петербургский Государственный Университет, а также несколько курсов в Stanford University (компиляторы, ОС). До работы над VirtualBox участвовал в разработке высокопроизводительных виртуальных машин Java в Sun Microsystems а также разработал архитектуру системы хранения данных с устранением избыточности нового поколения в компании EMC2.
|