嵌入式微内核实时操作系统分析与测试

嵌入式微内核实时操作系统分析与测试

ID:10353936

大小:55.00 KB

页数:4页

时间:2018-07-06

嵌入式微内核实时操作系统分析与测试_第1页
嵌入式微内核实时操作系统分析与测试_第2页
嵌入式微内核实时操作系统分析与测试_第3页
嵌入式微内核实时操作系统分析与测试_第4页
资源描述:

《嵌入式微内核实时操作系统分析与测试》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、嵌入式微内核实时操作系统分析与测试

2、第1关键词:嵌入式实时操作系统ERTOS微内核PU、微控制器MCU提供API接口。在此基础上,可以编定出各川硬件驱动程序、产品库函数,与通用性的应用程序一起作为产品销售。2ERTOS——卡、SD卡等);*本质安全,支持信息版权及安全保护;*为第三方提供产品级的SDK。具有以下特点:*微内核结构;*支持多种CPU产品;*基于优先级的抢占式调度和轮转调度相结合的多任务调度;*极小的内存开销;*高可用性、可靠性。2.1微内核体系结构微内核体系结构是相对层次内核体系结构而言的。层次操作系统体系结构如图1(a)所示,大部分或全部

3、层次功能由内核实现,所有的接口功能只与相邻层有关,系统和应用独立,但其每一功能层的变化都会影响整个系统,层间安全性低。微内核体系结构如图1(b)所示,其基本思想是将原来属于传统如图1(b)所示,其基本思想是将原来属于传统操作系统内核的一些功能和服务从内核中分出,以子系统(组件)的形式与内核或其它子系统相互作用。组件功能以服务进程的方式通过消息与微内核和其它组件相互通信来完成。微内核的主要功能就是消息交换:确认消息、在组件间传送消息及准许对硬件操作。微内核结构的主要优点是:系统具有统一的接口,扩展性、可靠性及支持分布式系统。Wolf是一个具有微内核结构的嵌

4、入式操作系统,它由一个实时多任务内核和多个组件的集合组成。软件组件都是独立的标准构件块,可以不用变更地从一个应用程序移到另一个应用程序。Wolf体系结构如图2所示。2.2微内核剖析Wolf多任务调度是动态基于消息触发调度机制,任务切换由临时事件驱动,任务间是内部同步,不同的任务能够异步招待。Wolf内核负责维护系统中的所有任务的当前状态,所有任务具有以下四种状态之一:*就绪态(Ready),缩写为R。一个就绪态任务是可运行的,等待高优先级的任务释放CPU。*运行态(Run),缩写为E。一个运行态的任务是一个正在使用CPU的就绪任务。任何时刻有且只有一个运

5、行着的任务。*阻塞态(Blocked),缩写为B。一个任务被阻塞是由于任务自身的多个活动的必要手段。一个任务不能从就绪态到阻塞态。*刮起态(Suspend)。一个挂起态的任务不能执行,主要用于调试。*任务调试程序维护1个或多个跟踪每个任务状态的内部列表。它有一个就绪列表和每个(任务正在等待的)同步对象的一个单独受阻列表。就绪队列前头的任务是下一个要运行的任务。在受阻列表中的任何任务都被挂起,每当受阻列表中的一个任务等待的事情发生时,该任务就从受阻列表中被删除,并被放到就绪列表中等待执行、如图3所示。(1)多任务调度任务调度是指根据一定的约束规定,将CPU

6、分配给符合条件的任务使用。约束规则又称为调度算法。Wolf内核采用多种调度算法分配CPU给处于Ready态(就绪态)的任务。默认基于优先级的抢占式调度算法,也支持基于时间片的轮转(Round-Robin)调度算法。在嵌入式系统实时应用中,不是每次抢占都是合理的,非期待的抢占会导致系统出现无法预料的情况,Woif提供允许和禁止调度的功能调用实现禁止抢占机制。(2)任务通信、同步、互斥机制任务间通信机制是提供多任务间相互同步和通信,以协调独立任务之间活动的机制。①共享内存,提供数据共享。Woif采用简单快速的禁止中断手段保证共享数据被互斥访问②消息队列实现一

7、CPU内多任务间通信和同步。Woif提供消息队列函数库创建、删除、发送消息,消息队列是动态建立的抽象对象,不绑定于任务一个任务。3微内核测试设计方案设计嵌入式操作系统软件测试方案时,我们根据系统分析的基本思想,定用判定表、功能矩阵将其划分成状态测试、系统调用功能测试。(1)多任务状态测试下面运用判定表设计状态转移测试用例。首先确定状态转移活动(5类活动):①运行态到阻塞态E→B;②阻塞态到就绪态B→R;③阻塞态到运行态B→E;④就绪态到就绪态E→R。⑤执行态到就绪态E→R。然后列出不同活动必须遵守的状态转换规则并编号。这里编号形式定义为:具体活动编号+数

8、字序列编号。例如:用转换规则编号③2,表明该规则是活动3必须遵守的第2条规则。以下是部分转换规则。◇一个运行态的任务E变成阻塞态B(E→B):①,它从一个空消息队列中请求一个消息;或者②,它等待一个不会即将发生的事件条件;或者③,它请求一个当前不能提供的信号量标志;或者④,它请求一段目前不能提供的内存;或者⑤,它暂中止一个时间段或直到一个特殊的时刻。◇一个阻塞态的任务B变成就绪态R(B→R):①,B是消息等待队列中的第一个任务,它等待的消息来到消息队列中;或者②,一个事件发送给了B,满足了它一直等待的事件的条件;或者③,一个信号量标志被返回,B是等待队列

9、中的第一个;或者④,返还的内存区允许分配给B;或者⑤,B一直在超时等待一个事件、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。