本网站研究的分区实时操作系统PRTOS(Partition Real Time Operating System)的设计与实现技术。接下来我们来讨论一下PRTOS设计的目标,以及和主流SK架构的分区系统相比它能具有什么样的功能。
传统的分区系统设计上,安全关键系统的Safety特性和Security特性需要两种不同的SK(Separation Kernel)架构加以保证,关于SK(Separation Kernel)架构请参考[1]。
比如VxWorks 653系统是Safety-Critical系统(图1所示),VxWorks MILS是Security-Critical系统(图2所示)。
图1 VxWorks 653系统架构
图2 VxWorks MILS系统架构
ARINC653既定义了分区行为,又定义了分区和核心模块间的API接口,从而提供了一个完整的APEX接口环境。ARINC 653规范定义SK内核的目的是在Safety-Critical系统中强调Safety安全性,因此在强调Safety安全的ARINC653 SK的基础上添加Security功能即具有Security特性。
正因为如此,PRTOS(Partition Real Time Operating System)将Safety安全功能和Security安全功能统一为一种SK内核架构,目的是为Safety和Security提供统一的解决方案图3所示。
图3 PRTOS架构及加载流程
在PRTOS系统中分区不再是具有强制隔离性质的一组进程,而是一个虚拟的执行环境(RTE-Run Time Environment),在分区中即可以执行一个裸的应用,也可以运行一个支持多任务的操作系统级应用,PRTOS是一层最接近硬件的软件层(中间层)。
PRTOS多核解决方案既可以采用PRTOS+AMP的办法,每个CPU物理核心上可以运行一个或者多个虚拟操作系统或者独立程序,但是每个虚拟操作系统仍然为单核(UP)系统,该技术被国内外多家RTOS厂商采用,比如Windriver VxWorks653 3.0版本。
图3 PRTOS+AMP多核解决方案
PRTOS也支持分区跨核的能力即(PRTOS+SMP方案)),分区内核支持多个虚拟vCPU,这些虚拟vCPU映射到不同的处理器核心上。
图4 PRTOS+SMP多核解决方案
不管是PRTOS+AMP还是PRTOS+SMP,用户都可以通过PRTOS的XML系统配置文件,由用户根据具体的应用进行配置。
PRTOS 设备虚拟化采用virtio解决方案。采用virtio技术在分区中实现设备虚拟化,使得PRTOS内核的设计尽可能的简化。
参考资料:
[1]http://www.prtos.org/partition-operating-system-summary/
[2]http://docs.oasis-open.org/virtio/virtio/v1.0/csprd01/virtio-v1.0-csprd01.html
请参考http://www.prtos.org/prtos_hypervisor_x86_user_guide/ 体验PRTOS Hypervisor^_^