虚拟机的工作原理是什么?它是如何模拟硬件的?