文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式操作系统uClinux和eCos的比较

嵌入式操作系统uClinux和eCos的比较

嵌入式操作系统u c l i nu x和ecos的比较

回东华理工学院戴晟晖张良清

摘要u c li nuX和e c os操作系统是两种性能优良!源码公开且被广泛应用的免费嵌入式操作系统"本文通过对u c li nuX和e c os的对比#分析和总结了嵌入式操作系统应用中的若干重要问题#归纳出嵌入式系统开发中操作系统的选型依据"

关键词嵌入式操作系统e c os u c li nuX

1两种开源嵌入式操作系统介绍

u c li nuX是一种优秀的嵌入式L i nuX版本u c li nuX 是m i cr o-c onr ol-li nuX的缩写与标准L i nuX相比它集成了标准L i nuX操作系统的稳定性~强大网络功能和出色的文件系统等主要优点但是由于没有\\U<内存管理单元>故其多任务的实现需要一定技巧

e c os即嵌入式可配置操作系统是Red~at的产品但e c os并不是L i nuX或L i nuX的派生e c os弥补了L i nuX在嵌入式应用领域的不足是一个源码开放的可配置~可移植~无版税~面向深嵌入式应用的实时操作系统e c os的核心部分是由不同的组件组成的包括内核~c语言库和底层运行包等每个组件能提供大量的可配置选项利用e c os 提供的配置工具可以很方便地进行配置通过不同的配置使得e c os能够满足不同的嵌入式应用

对于以上两种源码公开的实时操作系统主要从以下几个方面进行比较通过比较能够为大家选择适合自己系统的RTOS提供参考

2基本操作性能的比较

2.1应用程序的运算能力

在L i nuX和u c li nuX操作系统启动的时候都会有这样一句话---c ali brati n g dela y l oo p..ok一XXX Bo g o\i p s 这一过程叫作Bo g o\i p s<读作bo g u m i p s>L i nus Tor val ds 引入Bo g o\i p s主要有两个目的:①给用户一个大概的系统运算能力的概念3②由于系统中有许多代码需要精确的软件延时通过Bo g o\i p s来获得软件延时每个周期消耗的时间Bo g o\i p s的过程就是一个简单计数循环

看1s可以循环多少次然后除以500000就得到了Bo g o\i p s的数值

表1是分别在目标硬件平台上运行e c os和u c li nuX 下的Bo g o\i p s应用程序得到的结果我们使用了不同的测试条件激活和非激活AT76c120的存储器缓冲控制器

表1eCOs和u C l i nux的BO9O m i P s比较

单位:Bo g o\i p s

OS

操作e c os u c li nuX

打开存储器缓冲控制器30.5621.96

关闭存储器缓冲控制器25.3319.78

从表1可知打开缓冲存储器对e c os的应用程序性能影响较u c li nuX的大3反之关闭缓冲e c os的应用程序的性能就下降很多

2.2存储器访问能力

采用一种同时能够测试缓冲控制器和标准存储器访问函数的测试方法来测试存储器访问能力在这里选用田纳西大学的Phili p J.\ucci等人提出的c acheBench方法其工作原理是重复顺序读/写一定长度的存储器块的数据记录重复1次所用的时间用总的读/写数据除以耗时得到读/写每一字节所用的时间3同时通过调整数据块的长度和不同的读写方法<使用标准函数或者使用直接代码读写>获得不同条件对存储器读/写的影响在实验中对于每一种测试模式使用4种不同的块长度<分别为256~512~1024~2048字节>以观察不同的块长度对存储器访问性能的影响表2是实验的结果:横向比较e c os的存储器访问性能从总体上都优于u c li nuX3纵向比较5种模式下性

能关系大致为缓冲读>缓冲读/改写/写>缓冲写>m e m set>m e m c py在同一种测试模

式下对于缓冲读越大的块长度其表现的存储器访问性能越好;而其他模式下存储器访问性能基本与块长度无关

表2eCOs和u C l i nux的cachebeach测试结果

操作块长度/字节e c os\B/s)u c li nuX\B/s)

缓冲读25625.419.8 51225.820.1 102425.920.5 204825.720.2

缓冲写25616.513.2 51216.713.4 102416.613.2 204816.513.1

缓冲读/改写/写25617.515.8 51217.415.7 102417.315.9 204817.415.6

m e m set 25616.110.0 51216.210.2 102416.210.0 204816.110.1

m e m c py 25615.59.2 51215.49.4 102415.69.3 204815.39.2

基于以上结果的分析如下:①造成e c os存储器访问能力优于u c li nuX的原因是e c os的应用程序获得的处理器时间较长;②造成读缓冲模式下存储器访问性能随块长度增长而变好而其他模式下不变的原因是与AT76c120的缓冲控制器的回写模式有关由于AT76c120的缓冲控制器采用了直接回写的缓冲回写模式缓冲控制器对存储器写操作没有任何缓冲作用因此当处理器写存储器时基本不会享受到由缓冲控制器带来的好处相当于直接访问外部存储器

2.3驱动程序性能测试

为了测试系统的驱动程序性能选择cF卡驱动程序作为测试对象我们的测试方法简单就是在应用程序中打开一个大文件10\B)然后调用f read读文件每次读512字节到缓冲中直至将文件读完

表3是测试结果:u c li nuX的性能优于e c os这主要是由于u c li nuX的块驱动有一个叫集簇的功能它可以将对块设备的多个请求归并在一起执行这样对于像磁盘这样反应较慢的设备可以提高整体的读/写速度

表3eCOs和u C l i nux的磁盘读测试结果

OS

结果e c os u c li nuX

读时间/s10.48.2

读速度/\B s-10.9611.223综合应用性能比较

我们知道一个图像压缩和解压缩的程序往往需要大块的存储器访问操作密集的数学运算和大量的磁盘访问由于现在手持的嵌入式设备大多需要有这方面的应用需求因此一个图像压缩和解压缩的应用程序既符合理论研究的要求又符合实际应用的需求为此我们选择

g if图片的编解码的程序作为综合性能测试的测试程序测试结果如表4所列

表4eCOs和u C l i nux的9i f图片解码测试结果

OS

尺寸e c os u c li nuX

1024>76810.7s12.3s

我们看到e c os和u c li nuX解码速度都很低主要是因为完全使用了软件解压缩;而且由于AT76c120的图像显示格式是Yc r cb的而g ifli b的解压缩结果是RGB的因此必须使用浮点运算将RGB的数据转换到Yc r cb AT76c120的AR\7TD\I不支持浮点指令因此不得不使用软件仿真来完成浮点运算这其中大部分时间被用在了从RGB到Yc r cb的转换上测试结果基本与前面基本操作系统测试的结果是一致的e c os在整体上是优于u c li nuX的

4可移植性

e c os的系统可移植性应该明显比u c li nuX的好在e c os系统中每一个硬件平台都用一个单独的目录存放针对这一硬件平台的硬件抽象层的代码和配置信息较容易让用户理解而u c li nuX的硬件抽象层的代码分布在好几个目录中而且各个平台的代码混合在一个源文件中通过#i

f def+#end的方式来选择不同的硬件平台的代码

另外e c os在移植时所要更改的源代码文件数少于u c li nuX

可移植性不应仅仅是操作系统的移植还应该包含应用程序的移植性程序的可移植性是由两方面决定的首先应用程序必须被编写得可以移植关于这方面 A. Dol enc A.Le mmke和D.Ke pp el在其Not es On W riti n g Port abl e Pr o g ra m s I n c一文中给出了很好的解释其次是嵌入式操作系统提供较丰富的系统函数和标准函数库一个系统提供的函数库越丰富则越多的应用程序不用进行较大的更改就能直接在其上运行在标准函数方面e c os只提供了较为简单的c标准函数库和I EEE浮点运算数学库u c li nuX则提供了与L i nuX下的g li bc相兼容的函数库而g li bc是大部分开放源代码项目的构建基础由此可以看出在应用程序的可移植性上u c li nuX22

buil d\akefil e

r m-rf buil d

mkdir buil d

ch mod u+X confi g ure

cd buil d\

eX p ort cc cc cFLAGS\

eX p ort LDFLAGS LDFLAGS\

eX p ort L I BS LDL I BS-lc \

..confi g ure--it h-kernel-headers ....li nuX-2.6.X i ncl ude\--it h-o p enssl ..o p enssl-0.9.7e--buil d i686-p c-li nuX-g nu\--host m68k-unkno-li nuX--p refi X\

r o m f s

RO\FS I NST buil d src set ke y set ke y bi n set ke y

RO\FS I NST buil d src racoon racoon bi n racoon

cl ean

r m-rf buil d

编译生成set ke y和racoon两个应用程序

5l PSec t OOl s的使用

本系统的I PS ec同时支持传输模式和隧道模式作为PN网关时只使用隧道模式图5是两个I PS ec网关间通信模型192.168.1.100和192.168.2.100分别是两个网关外部接口的I P地址它们分别保护172.16.1.024和172.16.2.024两个内部子网下面以图5中外部I P

为192.168.0.1的网关为例介绍I PS ec-t ools中隧道模式下安全策略和密钥管理的方法

图5l PSec隧道

5.1安全策略

I PS ec-t ools中安全策略的管理由set ke y完成在set ke y的配置文件set ke y.conf中需要加入流入i n流出out转发f d三条安全策略规则

s p dadd172.16.1.024172.16.2.024an y-P out i p sec es p t unnel192.168.1.100-192.168.2.100re uire

s p dadd172.16.2.024172.16.1.024an y-P i n i p sec es p t unnel192.168.2.100-192.168.1.100

s p dadd172.16.2.024172.16.1.024an y-P f d i p sec es p t unnel192.168.2.100-192.168.1.100re uire

5.2密钥和SA的管理

!1"人工方式

S et ke y.conf中SA规则定义I PS ec中密钥和SA人工方式的管理

16

的兼容性更好

5开发模式和开发难易度

e c os的开发模式是一套更接近传统单片机的开发模式如应用程序静态链接u c li nuX的开发模式则更接近L i nuX的开发模式因此可以预见e c os更受一批从8位单片机系统开发转到32位嵌入式系统开发设计人员的欢迎而u c li nuX更受熟悉L i nuX的设计人员的青睐

6总结

通过以上比较可知由于e c os从一开始设计时就是以嵌入式系统为目标的因此在性能上有较大优势反之u c li nuX则是由L i nuX进化而来的因此在以速度和优化为主题的嵌入式系统环境中并不占优势但是由于有L i nuX的强大后盾其功能的强大和兼容性是非常突出的如果应用程序是从其他系统中移植过来的或者开发人员有L i nuX的背景或者开发成本占总成本的比例较高则u c li nuX比较适合反之e c os比较适合

参考文献

1ec os U sers G ui de.Red~at Inc. ec osc entric L t d2003.

2e c os Tut ori al.Red~at I nc2002.

3e c os Ref erence\anual.Red~at I nc e c os c entric L t d 2003.

4蒋句平.嵌入式可配置实时操作系统e c os开发与应用.北京机械工业出版社2004.

5\assa Ant hon y J.Embedded Soft are D evel o p m ent it h

e c os.Pearson Educati on I nc.2002.

6L i nuX D evice D ri vers2nd Editi on.A lessandro Rubi ni Jona-t han c or bet O Reill y A ssoci ates I nc.1999.

7The O ui ntessenti al L i nuX Bench mar k W i m Dorst on\on L i nuX Jour nal1996-01.

8\ucci P J London K Thur man J.The c acheBench Re p ort.

cE WES ERDc\SRc PET T echnical Re p ort98-251998-

07.

戴晟晖(硕士>~张良清:主要研究方向为单片机与嵌入式系统

(收稿日期:2006-04-04

>

嵌入式操作系统uClinux和eCos的比较

作者:戴晟晖, 张良清, Dai Shenghui, Zhang Liangqing

作者单位:东华理工学院

刊名:

单片机与嵌入式系统应用

英文刊名:MICROCONTROLLERS & EMBEDDED SYSTEMS

年,卷(期):2006(8)

参考文献(8条)

1.Mucci P J;London K;Thurman J The CacheBench Report 1998

2.The Quintessential Linux Benchmark,Wim Dorst on Mon 1996(01)

3.Linux Device Drivers 1999

4.Massa Anthony J Embedded Software Development with eCos 2002

5.蒋句平嵌入式可配置实时操作系统eCos开发与应用 2004

6.eCos Reference Manual 2003

7.eCos Tutorial 2002

8.eCos Users Guide 2003

本文链接:https://www.wendangku.net/doc/3b15936623.html,/Periodical_dpjyqrsxtyy200608004.aspx

相关文档
相关文档 最新文档