【问题标题】:How virtualization technology shutdown the OS?虚拟化技术如何关闭操作系统?
【发布时间】:2018-11-15 06:36:11
【问题描述】:

我搜索有关此问题的内容,例如 KVM、ACPI 等。
我猜操作系统实现了一些接口(比如 ACPI?),它可以接收某种信号或命令并自行关闭。
主机通过虚拟化技术向实例的操作系统发送信号或命令。

我的理解对吗?谁能给我一个方向,谢谢。

【问题讨论】:

    标签: virtualization kvm acpi


    【解决方案1】:

    大概是这样发生的。

    1. VMM(虚拟机监视器)提供来宾 BIOS/UEFI 映像,当在虚拟机中运行时,该映像会填充内存中的 ACPI 描述。
    2. 来宾操作系统读取这些 ACPI 表并找到与电源按钮相对应的按钮设备的描述。它读取分配给该按钮的资源,特别是按钮应该如何指示其状态。最常见的是,它会是一个带有特定数量和地址的寄存器的中断,用于区分多个按钮。
    3. 当 VMM 用户/管理员决定按下虚拟电源按钮时,它使用特定于 VMM 的界面(GUI、CMD 行、脚本等)来命令 VMM 执行此操作。然后,VMM 设置寄存器并将先前协商的中断号注入来宾操作系统。
    4. 现在目标操作系统负责对信号作出反应。从它的角度来看,它看起来就像按下了真正的电源按钮。来宾操作系统然后关闭各个进程,刷新磁盘缓存,最后使用特定于平台的设备访问命令虚拟硬件关闭电源(或者,进入休眠、S5 状态、HLT 状态、重新启动等)。如果没有安装访客软件将其传播到操作系统,操作系统可能会忽略按钮按下,即没有 acpi-tools 包的 Ubuntu。

    【讨论】:

    • 感谢您出色的回答解决了我的困惑,我会找一些关于 device-description-table 的文章来了解更多信息。
    • Fred,如果这回答了您的问题,请将答案标记为已接受(绿色复选标记)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2017-02-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    相关资源
    最近更新 更多