嵌入式实时多任务操作系统的特征介绍.pdf

上传人:asd****56 文档编号:70339215 上传时间:2023-01-19 格式:PDF 页数:6 大小:263.07KB
返回 下载 相关 举报
嵌入式实时多任务操作系统的特征介绍.pdf_第1页
第1页 / 共6页
嵌入式实时多任务操作系统的特征介绍.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《嵌入式实时多任务操作系统的特征介绍.pdf》由会员分享,可在线阅读,更多相关《嵌入式实时多任务操作系统的特征介绍.pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、嵌入式实时多任务操作系统的特征介绍 引言:适逢公司进行通用计算平台的硬件基础研究,在此硬件平台之上,必要引入通用的软件平台。为此,操作系统无疑是最佳的选择。在德国十二套软启动项目中,远程 IO 控制机的软件设计成功引入了实时多任务操作系统 C/OSII,本文结合作者的工作成果,针对C/OSII 将嵌入式操作系统的基本特征和原理进行简单的描述,并对大家所熟知的实时特性概念进行简要的抛析。嵌入式实时操作系统在国外在上世纪 60 年代便已发展,至今已有不下百种产品。从在商业领域取得巨大成功的两个突出代表 VxWorks 和 QNX;到开源并广泛传播的 Linux;以及由知名公司所推出的 WINCE

2、等;再到由个人之力发展至今的 C/OS,每种操作系统皆有其自身的特点及所专长的应用领域,但同时作为嵌入式的实时多任务操作系统又有其共同的特征,以下将结合实际工作中所用到的 C/OSII 为大家进行简单的介绍。首先,操作系统作为用户应用程序同系统硬件之间的接口,承担着系统全部软、硬件资源的分配、工作调度、控制协调并发活动的重任。如图 1 所示为包含操作系统的软硬件体系结构。图 1 比较于传统的 PC 机操作系统,除具有任务调度、同步机制、中断处理、文件功能外,嵌入式实时操作系统还具有如下几个主要特点:可裁减性,嵌入式系统开发所特有的一点便是具有有限的存储空间。面向不同硬件资源的情况下,操作系统具

3、有自身可裁减的特性,以适应系统的存储容量,以 C/OSII 为例,最小可将代码量裁减到 2K+。实时性,于军事及高端工业领域发展起来的嵌入式操作系统,系统所处运行环境极为复杂,要求极为苛刻。对于外部的激励,操作系统能够及时的做出响应,来保证系统的可靠运行。可移植性,操作系统作为通用型的软件平台,必要面对不同厂家、不同硬件架构的处理器平台。因此为保证自身的可重用特性及兼容性的特点,操作系统多可进行移植,来适应不同处理器的硬件架构。以C/OSII为例,在四款主流 IP 核 PowerPC、ARM、MIPS 和 X86 上皆可进行移植。除此之外,嵌入式实时操作系统相比传统的 PC 机操作系统还具有更

4、好的稳定性及较弱的交互性,同时在容错性方面也要明显优于 PC 机操作系统,这里不再鳌述。C/OSII 由加拿大的著名嵌入式系统专家 Jean J.Labrosse 在 C/OS 的基础上进行大幅的升级和改进而成的,是一个源码公开、完整的、可移植、固化、裁减的占先式实时多任务内核。由 ANSI 的 C 语言编写,包含小部分汇编代码,至今,从 8 位到 64 位,在超过 40 种不同的架构处理器上运行,同时通过了严格的测试,并且得到了美国航空管理局(Federal Aviation Administration)的认证,可以应用到飞行器上,其代码的安全性和可靠性已得到检验。如下图图 2 所示,为

5、C/OSII 的文件结构及同硬件的关系。图 2 由上图便可以清晰的看到整个 C/OSII 操作系统的文件体系结构,以及操作系统同所依赖的硬件之间的关系。操作系统需要借用 CPU 一个内部定时器来为系统提供特定的周期中断以产生一个时钟节拍,这个时钟节拍可以看作是系统心脏的脉动;C/Probe 为操作系统提供了强大的通信接口管理,便于用户在操作系统上开发各种通信功能;板级支持包帮助用户完成具体硬件的管理,包括各种驱动程序的编写和初始化工作;移植文件为操作系统面向不同 CPU 架构时所需要更改的文件部分,目前大多数的移植文件均在官网上有提供;与处理器无关的文件为操作系统内核文件,这些文件包含操作系统

6、内部的变量、函数定义和调用,用户不可修改,当然依据具体需求可进行裁减;应用程序代码即为用户针对具体项目在操作系统平台下进行的代码开发,包含项目的全部变量和功能函数。C/OSII 为我们提供了如下图所示三个方面的管理:多任务管理、外围设备管理和内存管理。图 3 嵌入式实时操作系统提供丰富的多任务管理函数,并且会提供良好的任务调度机制,控制任务的启动、运行、暂停和结束等状态。通常这些调度算法是满足实时性要求的,也就是能使任务运行时的每个动作会在一个严格要求的时间内执行完毕;内存管理是指负责动态内存的管理,当应用程序的某一部分需要使用内存时,可利用操作系统提供的 API 函数来获得内存空间,一旦使用

7、完毕,可利用系统的内存释放函数来释放内存,以此实现内存的动态管理;作为完整的嵌入式应用系统,还需要多种外围设备支持,如键盘、显示装置、通信接口等,这些外围设备作为各个任务可利用的资源,操作系统必须对这些资源进行合理的调度和管理,以保证系统中各任务在执行过程中获得足够的资源。实时性特征是嵌入式实时多任务操作系统的主要特征之一,也是我们弃传统前后台程序而引入操作系统的首要原因。实时性作为系统的主要性能指标是大家所熟知的,但同时在笔者的日常交流当中,发现大家对实时性概念的理解尚还存在误区,借此机会对实时性的概念进行简要的分析,希望能对大家有所启发和帮助。“实”在这里的含义是计算系统在环境事件变化时,

8、系统根据环境的变化而做出的反映.这种反映要及时地根据外界的变化而变化,而不是尽可能的快。所以实时的思想应更多的体现为及时而绝非简单理解为尽快。在整个系统运行的过程中,要并发的执行多个任务,用任务执行快慢作为评估系统性能的指标是不科学的,每个任务均在其预先期望的时间限内完成或及时的做出响应,我们便认为系统具有很好的实时性或满足了实时性要求。以下将以在实际工作中所遇到的问题来说明操作系统如何确保的实时性。案例描述:现有主机 A 和目标机 B,彼此之间通过 CAN 总线进行数据传输,在某段时间段内,主机 A 以每隔 T 时间的时间间隔向目标机 B 发送数据包 D1、D2、D3、D4,同时目标机 B

9、根据接收到的数据进行相应的数据处理,其所花费的时间分别为 0.3T、2.4T、0.6T、0.7T,这里将数据包在总线上传输的时间忽略不记,或者相对 T 时间很小,如下图图 4 所示:图 4 方案一 此方法为未使用操作系统的解决办法,既传统的前后台程序方法,也是我们在开始编制程序时所采用的方法。在目标机 B 中以事件触发的方式来响应主机 A发送的数据包,编制目标机 B 的 CAN 通信中断服务程序,在中断服务程序中进行数据包的处理。我们不难发现,对数据包 D1 可以正确的接收并处理,对数据包 D2 可以接收,但处理时间过长,在数据包 D3 到来时,程序仍停留在对 D2的中断程序处理当中,只有当数

10、据包 D4 发出 0.4T 时间之后,系统退出对数据包 D2 的中断服务程序,来继续接收数据包 D4,这时目标机 B 已将主机 A 发出来的数据包 D3 丢失。评估:目标机 B 未能对主机发送出来的数据进行实时处理,具有很差的系统实时性。方案二 此方法同样未使用操作系统,是在方案一的基础上进行改进。这里我们对处理时间过长的数据包做如下处理,既接收到数据包 D2 后,将取消在中断中对其的处理。将数据包 D2 保存到内存当中,即刻便退出中断服务程序,来准备接收D3。待系统空闲时或者说无中断生成的时候,利用前台轮询程序来检查是否有数据包 D2 接收到,如果接收到,对 D2 进行处理。否则将在系统空闲

11、时间不断进行轮询检查。评价:此方案可以完整的接收到主机发送来的数据报文,满足系统实时性的要求,但尚还存在不足,既系统何时对数据包 D2 的处理是不确定的,非受控状态。同时反复判断数据包 D2 的到来,消耗了系统资源,降低了 CPU 的有效利用率。方案三 此方法为在操作系统环境下进行开发的解决方案,针对处理接收到的数据包建立相应的任务,同时在中断服务程序中对接收到的数据包只进行保存(将中断中的代码量尽量减小),并在退出中断之前发送信号量至待处理数据包的任务,将其置为就绪态,待退出中断程序后,系统任务调度函数会根据当前就绪态任务列表中的任务优先级来依次执行。具体的程序示例说明如下:图 5 评价:目

12、标机 B 完整的接收到主机 A 发来的所有数据包,并会依据任务的优先级适时的执行处理任务,很好的满足了系统实时性的要求,同时对数据包的处理未采用轮询方式,有效的利用了 CPU 资源,提高了系统资源的有效利用率。图 6 为此次远程 IO 控制机中各任务在操作系统下的运行状态图,附图与此,供大家参考。A/D中断采样计算任务发送信号量温度显示任务延时300个TickCAN中断BCD码转换任务延时150个Tick判别警报任务延时30个Tick发送温度任务发送信号量发送警报设定值任务发送信号量启动任务睡眠模式任务删除远程IO控制机中系统下任务运行状态图 图 6 嵌入式操作系统种类较多,但基本原理相同,本文结合作者的工作心得将操作系统的主要特征进行了简要的整理,但限于篇幅,也难于尽述。希望以上内容能为操作系统在公司的引入和推广提供参考信息,为日后构建通用的软件平台奠定良好的开端。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com