我知道有不同的方法可以重新启动。
我正在开发一个简单的虚拟机管理程序,当我想重新启动支持多处理器的 x86 Windows 7 来宾时遇到了一个小问题。操作系统的主要步骤似乎是:任务切换 - 任务切换 - 三重故障。这发生在所有 CPU 上,除了一个根本不启动任务切换并挂在某处的 CPU。我从中得到的最后一个出口是一个 EAX = 1 的 CPUID,所以我真的不知道(还)在哪里或为什么它不能像所有其他人一样执行任务切换。我有点难以理解这一点 - 也许一些关于通常应该发生的事情的细节会对我有所帮助。
x86 Windows 7 用于重新启动的实际方法是什么?
编辑我几天前就知道了,但我没有时间更新帖子。我不会回答我自己的问题,因为我认为这不是一个完整而明确的答案,但对于可能有同样问题的人来说,这会让事情变得容易一些。
原来,丢失的 CPU 已停止。流程或多或少是这样的:任务切换、三重故障(对于 n-1 个 CPU)和停止(对于第 n 个 CPU)。在此之后,每个人都应该有一个 init,然后一切都会被重置。