有人告诉我,像 VirtualBox 这样的虚拟化程序不像模拟器那样工作,因为它不模拟寄存器,而是将实际寄存器用于 CPU 上的虚拟化数据。模拟器必须模拟寄存器,因为它们主要是执行依赖于外部环境的软件(例如,Genesis 模拟器需要 Motorola 68000 的寄存器和内存地址,因此开发人员必须将这些资源作为模拟寄存器提供)。
我的主要问题是,虚拟化是如何开发的?我们如何让整个操作系统在虚拟机中作为一个进程运行,同时又让它独立运行,同时仍然使用实际的 CPU?我只知道仿真,不知道虚拟化,所以如果有人能帮忙那就太好了!
PS:我不只是问有什么区别,而是他们运行软件的方式不同。