1 基本介绍
自适应分区是QNX嵌入式操作系统的一个特色功能,应从两方面理解:自适应和分区。
分区是指操作系统采用“虚拟墙”将共享资源(例如CPU执行时间、内存、存储空间等)以一定的比例划分,以确保每个分区都有一组经过工程设计的资源。每个分区内可以运行一个或多个线程/进程。
自适应是指操作系统内核可以根据各分区的实际资源使用情况,对每个分区的资源进行动态调整,优化CPU资源和共享资源的利用率。
2 作用与优点
自适应分区可以保护一个或一组应用程序不被其他有缺陷的或恶意的应用程序破坏而造成系统崩溃。主要作用有以下几点:提供内存保护,即每个分区是离散的,由内存管理单元控制 ;
提供过载保护,即根据系统设计人员的指定,每个分区都有一段执行时间;
避免单个错误引起整个系统的崩溃(如果没有分区保护,有可能会有一个进程因为某个未知错误而独占所有资源而造成系统死机);
自适应分区的优点:优化系统资源的利用率,提高产品性能;
降低BSP设计的复杂度;
为操作系统提供安全保护,避免被恶意程序攻击;
为调试和添加系统诊断程序提供便利;
3 原理介绍
自适应分区是指分区调度器可以动态的调整每个分区的资源预算,具体以CPU执行举例说明。
假设目前一个QNX操作系统中有三个分区,主分区,分区A和分区B。在系统初始阶段,设置每个分区的CPU资源预算:主分区为70%,分区A为20%,分区B为10%。