类型1管理程序启动序列

时间:2013-03-24 05:03:56

标签: boot hypervisor bare-metal

我有一个非常基本的类型1虚拟化查询。我真的想了解启动过程。

1型虚拟机管理程序基本上以裸机级别运行,直接与硬件通信。

我的问题是,当系统启动并加载引导程序代码时,下一个加载的组件是虚拟机管理程序,或者初始化本身最初需要管理操作系统?

有人可以参考类型1管理程序向我解释引导顺序吗?

我认为它应该像直接引用虚拟机管理程序组件的引导程序代码,后者又负责加载其他虚拟VM实例的内核。

1 个答案:

答案 0 :(得分:1)

启动顺序取决于虚拟机管理程序。简单性通常是管理程序的目标。如果系统是静态配置的(预配置任务),则可以在映像中预编码整个过程表。在这种情况下,初始引导是系统初始化和上下文切换到最高优先级任务。即,图像就像冻结系统图像。即使使用动态管理程序, root init 任务也可以这样编码;其他任务根据需要spawned

系统初始化包括,

  • 刷新缓存,写缓冲区,TLB。
  • 设置内存控制器。
  • 禁用中断和设置堆栈。
  • 启用MMU。
  • 可能将内核页面锁定在缓存中。
  • 初始化中断控制器。
  • 可能安装管理程序计时器。

实际上它主要取决于 hypervisor 的设计。如果它是非preemtive并且仅基于优先级,则可能不需要计时器,例如。