vmware - 虚拟机

标签 vmware virtualization virtual-memory

我一直在尝试弄清VMware是如何工作的(特别是在安装Linux时),我有两个问题:

  • 当VMware遇到push cs这样的命令时会发生什么?特别是cs,因为其特权级别为0,而VMware以1特权级别运行,所以我假设它必须以某种方式将其转换为其他命令。
  • 虚拟内存:它如何在虚拟机上工作?有2个级别的转换-处理虚拟内存->虚拟机物理内存->真实计算机物理内存?当真实计算机替换页面时,如何通知VMware?
  • 最佳答案

  • 大多数指令直接在CPU上运行。但是特权指令会导致异常,处理程序会对其进行仿真。
  • 现在,我了解push cs示例的含义。您的意思是在不同的特权级别上无提示地执行不同操作的指令。 The wikipedia article on x86 virtualization说它们是二进制翻译的,即在主机CPU上运行代码之前有一个重新编译阶段。
  • 在较早的x86中,vmware维护影子页面表。必须模拟 guest 页表,以允许vmware跟踪 guest OS对页表的 View 。较新的x86具有虚拟化扩展,可以有效地允许多个级别的页表。
  • 关于vmware - 虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961287/

    相关文章:

    linux - 每次启动快照时在 CentOS VM 上启动脚本

    mouse - 如何让我的鼠标在 VMWare Server 虚拟机中正常工作?

    vmware - 使用 VMWare Fusion/服务器替换开发环境中的虚拟 PC/服务器

    cloud - 为什么云计算需要虚拟化?

    linux - 在虚拟机中启用 VT-x

    security - 如何访问其他进程的内存?

    winapi - VirtualAlloc 对齐与分配大小一致吗?

    linux - Ifconfig 不提供 Kali Linux 上的任何详细信息

    memory - Spark Worker 请求大量虚拟内存

    docker - 带HBA卡的Docker容器