基于虚拟化的分层多核调度技术解析
1. 基于管理程序的虚拟化
基于管理程序的虚拟化聚焦于类型 1 的管理程序虚拟化,即在硬件和操作系统(或应用软件)之间添加一个管理程序软件层。类型 1 管理程序直接运行在裸机上,它需要通过自身(整体式)或借助特殊的客户系统(控制台客户机)来提供设备驱动程序。管理程序能创建虚拟机(VM),这些虚拟机是真实硬件的副本,可在单个硬件平台上实现不同系统在空间和时间上的分离运行。
虚拟化可分为全虚拟化和半虚拟化:
- 全虚拟化中,客户系统意识不到管理程序的存在。
- 半虚拟化中,系统经过适配能在虚拟机中运行,且允许客户系统和管理程序进行信息交换,而全虚拟化则不具备此功能。
2. 问题陈述
对于嵌入式实时系统而言,基于管理程序的虚拟化的时间隔离特性至关重要。当前的实时管理程序通过在管理程序层面进行循环调度来确保不同虚拟机的时间隔离,为每个虚拟机在预定义的时间段内分配一定的处理时间,但虚拟机之间的依赖关系仍是待解决的问题。
同一虚拟机内任务之间的依赖关系由其本地调度器解决,而不同虚拟机之间的依赖关系则需管理程序调度器处理。半虚拟化中,本地调度器可在任务完成时通知管理程序,这有助于基于服务器的解决方案来调度具有优先级约束的虚拟机。全虚拟化则意味着本地调度器和管理程序调度器无法主动交换信息,因此需要先验的本地调度信息和虚拟机依赖关系,才能实现合适的全局调度。
3. 主要贡献
主要关注具有依赖关系的虚拟机的分层实时调度,旨在实现单核系统在多核硬件上的全虚拟化。这里的依赖关系由优先级约束定义,挑战在于将 p(p>1)个核心的执行时间分配给 m(m>p
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



