内存保护_2:内存保护逻辑说明
3 OS配置说明
3.1 OS一些基本概念及相互关系
3.1.1 基本概念
- SWC(软件组件:Software Compont):一个以功能或者功能集合为基础的概念,比如说开关采样、行车、泊车等,具体取决于软件上层功能划分
- Runnable(执行实体):软件组件的重要组成,功能实现的载体,比如说一个功能需要三种周期的任务去完成不同的任务,则至少需要三个不同的Runnable
- Task(任务):由OS直接管理调度的实体,也是软件功能组件Runnable的载体(简单来说,就是Runnbale在Task中被调用,在基础任务中,Runnable的周期取决于Task周期)
- ISR(二类中断):与传统意义上的中断类似,不过它由OS进行管理,可调用OS的部分服务
- Application(应用集):资源组成的功能单元,由中断、调度表、Alarm、任务等构成。这是一个资源集合的概念,在应用集之间访问存在较多限制(此处与内存保护、服务保护等概念紧密相关)
3.1.2 相互关系

3.2 内存保护基本逻辑
3.2.1 应用集的基本分类
- 可信应用集(Trust OS-Application):无内存访问限制、操作系统API以及可不必进行时间保护,可以在特权模式运行,并且假定不会发生内存保护错误(若发生此类错误,系统将会关闭OS或者跑飞)
- 不可信应用集(Non-Trust OS-Application):不允许在没有监控及保护的情况下运行,存在内存访问限制、OS相关API访问限制以及时间行为限制,并且不允许运行在特权模式下
3.2.2 内存保护与应用集的关系
如上一章所说,应用集为内存保护处理的分块单位(即在此应用集中的中断、任务等在没有特殊访问设置的情况下,访问权限会受到应用集类型的限制)。如下图所示,为非可信应用集的访问许可情况。
3.3 OS等级相关概念
SC1 | SC2 | SC3 | SC4 | |
---|---|---|---|---|
支持多核 | 支持 | 支持 | 支持 | 支持 |
内存保护 | — | — | 支持 | 支持 |
时间保护 | — | 支持 | — | 支持 |
调度表 | 支持 | 支持 | 支持 | 支持 |
OSEK OS | 支持 | 支持 | 支持 | 支持 |
备注:根据表格可知需要设定为SC3才可使用内存保护功能
## 3.4 一种可用的RTA-OS配置
因以下内容与某公司软件使用方法相关,已因版权原因被下架,因此将其删除,见谅。
#实现代码涉及公司需求及设计,不方便展示