总体结构 :
1、Jailhouse由已经启动的Linux系统引导,这个Linux系统是根单元系统,Jailhouse启动之前控制所有硬件设备,Jailhouse启动之后由Jailhouse负责将硬件资源重新分配给根单元Linux系统和其他单元系统。
2、Jailhouse有意不遵循经典的虚拟化方法,但它不会消除对硬件虚拟化扩展技术的使用,它的设计最终目标是最大限度地减少与单元系统的交互。
3、Jailhouse通过在系统和I/O总线上插入 "虚拟屏障",将对称多处理(SMP)系统转变为非对称多处理(AMP)系统。从硬件的角度来看,系统总线仍然是共享的,而系统软件被隔离在物理硬件单元子集中。
4、Jailhouse不对CPU进行虚拟化,不对单元系统进行动态调度,而是将物理CPU核心直接分配给单元系统使用,因此不存在昂贵的上下文切换开销。
5、Jailhouse利用影子页表实现单元系统的内存隔离,但可能会引入额外的内存访问延迟。
6、Jailhouse支持ARM两个版本的通用中断控制器GICv2和GICv3,这两种实现都有相同的架构限制:中断不直接到达单元系统,而是先到达VMM,然后VMM将虚拟中断重新注入到单元系统,这会引入中断延迟。并且它需要仿真中断分配器。
7、Jailhouse只支持直接的硬件访问,Jailhouse没有使用复杂和耗时的(准)虚拟化方法来模拟设备驱动和共享物理硬件资源。
8、Jailhouse实现单元共享物理页,除了实现单元系统间的通信,该机制还允许共享内存映射的I/O页,如果需要的话,允许从多个域内访问硬件资源。
相关支持 :
1、Jailhouse支持四种不同的CPU架构:Intel x86,AMD x86,ARMv7,ARMv8。
2、Jailhouse支持的单元 *** 作系统有:Linux,L4 Fiasco.OC(x86),FreeRTOS,Erika Enterprise RTOS v3(ARM64)。
Jailhouse单元系统和裸机系统性能对比开销有 :
1、共享系统总线:不同的单元系统异步访问内存或I/O可能被硬件串行化,虽然不会发生资源饥饿,但内存或I/O总线的大量使用可能会导致单元系统显著减速。
2、中断延时:中断不直接到达单元系统,而是先到达VMM,然后VMM将虚拟中断注入到单元系统,这会引入中断延迟。
参考文献
1、 1705.06932.pdf (arxiv.org)
如果在工业设备上使用,可以安装ubuntu server版本,相比桌面版而言,只要两者版本号相同,其内核的一样的,只是桌面版有丰富的应用程序,方便用户日常办公、游戏,server版本没有图形界面和一些办公、游戏,以提供更大的性能。从功能角度来说,工业设备并非不能安装普通桌面版ubuntu,只是桌面版的开销比较大,会降低设备的性能。
最后,其实设备上不建议安装ubuntu,即便是服务器版。ubuntu的软件比较难找
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)