O acesso ao hardware deve ser serializado por vários motivos, e é o trabalho do hipervisor lidar com isso. É por isso que a virtualização é o único mecanismo viável para isso.
Um amigo meu fez uma pergunta que me fez pensar. É possível (teoricamente, presumo que não tenha sido feito) rodar dois sistemas operacionais simultaneamente no mesmo computador? Não no sentido de multitarefa em uma janela, mas sendo capaz de alternar rapidamente de um para o outro sem reiniciar. Poderia ser criado algo de baixo nível que interceptasse as chamadas do sistema (ou o que fosse necessário fazer) para fazer com que cada sistema operacional pensasse que está funcionando sozinho? Ou hardware em si que conseguiria isso?
Não estou falando de inicialização dupla ou usando máquinas virtuais, mas na verdade executando dois sistemas operacionais lado a lado.
Tags operating-systems