一、概述
OS包括:静态操作系统;全抢占式,事件触发;功能与规模可扩展;元素(任务(Tasks)、事件(Events)、闹钟(Alarm)、中断(Interrupt)、操作系统间应用程序通信器(IOC)、资源(Resource))。
二、任务
2.1、基础任务

2.2、扩展任务和事件

三、闹钟
1.闹钟能被设置为系统时钟绝对或相对的点
2.一旦闹钟过期,闹钟行为定义了发生了什么:激活任务、设置事件、调用回调函数、增加一个OS计数器
四、OS计数器
4.1、OS计数器/PIT/高精度时钟
OS计数器被用来为操作系统提供时基的系统时钟。
计数器驱动:1.PIT(周期中断定时器);2.STM(系统定时器模块)
4.2、OS时基变量
1.时基;2.每个滴答的计数器增加;3.OS提供宏在OS tick和秒之间;4.计数器类型可以是硬件或软件;5.PIT:每个tick,计数器加1;6.HRT:每个时基的tick为1。
五、中断
5.1、中断分类
一、Ⅰ类中断:使用中断返回(RTI)结束中断函数。无法访问操作系统服务功能。
二、Ⅱ类中断:使用子程序返回(RTS)结束中断函数。可以访问操作系统服务功能
5.2、中断分类在 ECU软件上的影响
一、文本。Ⅰ类中断:在当前活动的任何上下文 中运行;Ⅱ类中断:在其专属的上下文中运行。
二、栈使用。Ⅰ类中断:为每个内核上所有任务的所有堆栈中的每个CAT1 ISR预留一个安全内存余量 。**内存使用效率低下;**Ⅱ类中断:决定每个中断的栈的数量。有效使用内存。
三、中断保护。Ⅰ类中断:堆栈溢出可能导致该核心上所有操作系统应用程序内部产生保护性陷阱 。内存损坏可能未被察觉; Ⅱ类中断:堆栈溢出和内存损坏均可能导致其所属操作系统应用程序内部产生保护性陷阱 。内存损坏的尝试是可被检测到的。
六、操作系统间应用程序通信器(IOCS)

七、OS资源

一项操作系统资源可用于防止至少两个并发任务同时访问,而无需使用中断锁。优先级上限协议。
七、OS的可扩展性
7.1、调度表
1.带有固定时间间隔的动作序列的定义
2.可以执行一次或重复执行
3.可由应用程序自动启动或手动激活
4.本地任务执行可同步到全局时间基准
5.多个调度表可同时处于活动状态
7.2、时序保护
1.执行预算被分配给任务并进行监控
2.若超出预算,则调用保护钩子函数
3.类似地,任务到达间隔时间 和资源锁定时间也会被监控
7.3、存储保护
1.目的:(1)便于应用程序集成;(2)需要硬件支持(内存保护单元 MPU)
2.堆栈保护:(1)堆栈溢出的及时检测;(2)OS应用程序的组成部分
3.数据保护:(1)OS应用程序的私有数据区由其所有任务和 ISR 共享
4.代码保护:保护常用代码(如共享库),防止内存、时序或服务被违规访问。