QNX Hypervisor 2.2 用户手册2.2 设计安全状态
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QNX Hypervisor 2.2 用户手册2.2 设计安全状态相关的知识,希望对你有一定的参考价值。
QNX Hypervisor提供了两种设计安全状态(DSS,Design Safe State)。
当运行非安全的QNX Hypervisor,并且不遵守安全手册时,Hypervisor不保证在VM或Hypervisor自身出现未定义情况时进入DSS中的任意一种设计安全状态。
如果一个内部或外部的监测机制警告hypervisor处于一个未定义的情况,hypervisor应该执行下面的任意一种操作。
一、VM DSS(也称为本地DSS)
如果该未定义的情况仅限于VM,则hypervisor终止qvm进程实例(如通过SIGSEGV 信号)。终止托管状态的qvm进程实例将会终止其guest。
hypervisor终止qvm进程实例后,将会继续正常运行。你可以设计你的系统来采取适当的措施把guest移动到本地DSS。例如你可以重构VM或重启guest。
二、Hypervisor主机DSS(也称为全局DSS)
因为QNX Hypervisor有QNX Neutrino微内核和虚拟扩展组成,导致QNX OS移动到它的DDS的情况同样可以导致Hypervisor 主机移动到它的DSS。也就是说,如果未定义的条件不限于 VM,则虚hypervisor将关闭。这个DDS与QNX Neutrino DSS相同。
三、注意事项
- 当CPU上发现未定义的情况,shutdown()函数将会被调用。如果ISR(Interrupt Service Routine)发生了崩溃。因此没有内核锁和其他CPU可以继续运行。
- shutdown()将会触发重启BSP中定义的重启内核的回调函数。你需要确保这个回调函数包含将整个系统置于安全状态的措施。
以上是关于QNX Hypervisor 2.2 用户手册2.2 设计安全状态的主要内容,如果未能解决你的问题,请参考以下文章
[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor
[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor
[QNX Hypervisor 2.2用户手册]9.20 vdev