嵌入式系统操作系统:ERIKA与嵌入式Linux深度解析
1. SRP协议概述
SRP(Stack Resource Policy)协议在资源调度方面有着独特的优势。通过图4.13的示例可以看出,它与PCP(Priority Ceiling Protocol)协议存在明显差异。在时间t1和t4时,由于抢占级别不高于上限,SRP不会发生抢占。总体而言,SRP的抢占次数明显少于PCP,这一特性使得SRP成为一种受欢迎的协议。
SRP被称为堆栈资源策略,因为作业不会被优先级较低的作业阻塞,并且只有在作业完成时才能恢复执行。因此,同一级别li的作业可以共享堆栈空间。当同一级别有多个作业时,可以节省大量的空间。此外,SRP还没有死锁问题。
2. ERIKA实时内核
许多嵌入式系统,如汽车系统和家用电器,需要将整个应用程序托管在小型微控制器上。因此,这些系统的固件提供的操作系统服务必须限制在一组最小的功能范围内,以支持周期性和非周期性作业的多线程执行,并支持共享资源,以避免优先级反转现象。
OSEK/VDX联盟在20世纪90年代将这些需求进行了规范化,定义了多线程实时操作系统的最小服务,允许在8位微控制器上实现1 - 10千字节的代码占用空间。AUTOSAR联盟最近扩展了OSEK/VDX API,提供了时间保护、时间触发系统的调度表以及内存保护等增强功能。
下面以开源的ERIKA Enterprise实时内核为例,介绍其主要特点和要求:
- 静态定义内核对象 :OSEK内核与其他操作系统的第一个区别是,所有内核对象在编译时都是静态定义的。大多数此类系统不支持动态内存分配和作业的动态