Цитата:
Либо "гипервизор" должен вобрать в себя всю работу с аппаратурой на самом низком уровне, чтобы VM нормально работали, а это уже не маленький "гипервизор", либо речь идет о микроядре, где по идее серверы не должны подвешивать систему и в случае чего легко перезапускаться, а на практике частенько подвешивают и не перезапускаются (система не падает окончательно, но контроль над ней теряется). Я это к тому, что идея не нова, но идеально реализовать ее на практике не реально.
//Phantom-84 16.11.2007, 08:29
Допустим, запущен только один "сервер", который на самом деле полная ОС. В этом случае гипервизор фактически ничего не делает (позволяет ОС работать со всем железом) см. BluePill.
Если запущено две ОС, они-же сервера, (А и Б) и А получила диски, а Б сетевую карту, то обращения А к дискам идут напрямую, а к сетевой карте эмулируются программой работающей на Б. Соответственно, на А работает программа эмулирующая диски для Б.
Пример не самый лучший, просто хотел пояснить идею.
И, конечно, эмуляция железа не самый лучший протокол взаимодействия серверов, хотя и полезный. Паравиртуализация с использованием специальных драйверов, которые поддерживают более эффективный протокол, будет работать быстрее.
Пример: виртуальный BIOS, который позволяет грузиться с iSCSI или даже HTTP ;)
Не вижу ни "всю работу с аппаратурой на самом низком уровне" ни микроядра.
Передача прерываний и трансляция обращений не такая уж большая работа, хотя, конечно, там будут свои проблемы :(