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





《嵌入式操作系统uClinux和eCos的比较.pdf》由会员分享,可在线阅读,更多相关《嵌入式操作系统uClinux和eCos的比较.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 paper 2006年第8期 icrocontrollers Embedded Syste ms 15 嵌入式操作系统uc li nux和ecos的比较回东华理工学院 戴晟晖 张良清 摘 要uc linuX和ecos操作系统是两种性能优良!源码公开且被广泛应用的免费嵌入式操作系统本文通过对uc linuX和ecos的对比#分析和总结了嵌入式操作系统应用中的若干重要问题#归纳出嵌入式系统开发中操作系统的选型依据 关键词嵌入式 操作系统 ecos uc linuX1 两种开源嵌入式操作系统介绍uc linuX是一种优秀的嵌入式LinuX版本 uc linuX是m icro-conrol-linu
2、X的缩写 与标准LinuX相比 它集成了标准LinuX操作系统的稳定性 强大网络功能和出色的文件系统等主要优点 但是由于没有U 故其多任务的实现需要一定技巧 ecos 即嵌入式可配置操作系统 是Red at的产品 但ecos并不是LinuX或LinuX的派生 ecos弥补了LinuX在嵌入式应用领域的不足 是一个源码开放的可配置 可移植 无版税 面向深嵌入式应用的实时操作系统 ecos的核心部分是由不同的组件组成的 包括内核c语言库和底层运行包等 每个组件能提供大量的可配置选项 利用ecos提供的配置工具可以很方便地进行配置 通过不同的配置使得ecos能够满足不同的嵌入式应用 对于以上两种源码
3、公开的实时操作系统 主要从以下几个方面进行比较 通过比较 能够为大家选择适合自己系统的RTOS提供参考 2 基本操作性能的比较2.1 应用程序的运算能力在LinuX和uc linuX操作系统启动的时候 都会有这样一句话-calibrating delay loop.ok一XXX Bogo ips 这一过程叫作Bogo ips Linus Torvalds引入Bogo ips主要有两个目的:给用户一个大概的系统运算能力的概念3由于系统中有许多代码需要精确的软件延时 通过Bogo ips来获得软件延时每个周期消耗的时间 Bogo ips的过程就是一个简单计数循环 看1 s可 以 循 环 多 少 次
4、 然 后 除 以500 000就 得 到 了Bogo ips的数值 表1是分别在目标硬件平台上运行ecos和uc linuX下的Bogo ips应用程序得到的结果 我们使用了不同的测试条件 激活和非激活AT76c120的存储器缓冲控制器 表1 eCOs和uC li nux的BO9Omi Ps比较单位:Bogo ips OS操作 ecosuc linuX打开存储器缓冲控制器30.5621.96关闭存储器缓冲控制器25.3319.78从表1可知 打开缓冲存储器 对ecos的应用程序性能影响较uc linuX的大3 反之 关闭缓冲 ecos的应用程序的性能就下降很多 2.2 存储器访问能力采用一种同
5、时能够测试缓冲控制器和标准存储器访问函数的测试方法来测试存储器访问能力 在这里 选用田纳西大学的Philip J.ucci等人提出的cacheBench方法 其工作原理是 重复顺序读/写一定长度的存储器块的数据 记录重复1次所用的时间 用总的读/写数据除以耗时 得到读/写每一字节所用的时间3 同时 通过调整数据块的长度和不同的读写方法 获得不同条件对存储器读/写的影响 在实验中 对于每一种测试模式使用4种不同的块长度 以观察不同的块长度对存储器访问性能的影响 表2是实验的结果:横向比较 ecos的存储器访问性能从总体上都优于uc linuX3纵向比较 5种模式下性能关系大致为缓冲读缓冲读/改写
6、/写缓冲写me mset me mcpy 在同一种测试模16 2006年第8期adv 广告专用)式下 对于缓冲读 越大的块长度 其表现的存储器访问性能越好;而其他模式下 存储器访问性能基本与块长度无关 表2 eCOs和uC li nux的cachebeach测试结果操 作块长度/字节ecos B/s)uc linuX B/s)缓冲读25625.419.851225.820.1102425.920.5204825.720.2缓冲写25616.513.251216.713.4102416.613.2204816.513.1缓冲读/改写/写25617.515.851217.415.7102417.3
7、15.9204817.415.6me mset25616.110.051216.210.2102416.210.0204816.110.1me mcpy25615.59.251215.49.4102415.69.3204815.39.2基于以上结果的分析如下:造成ecos存储器访问能力优于uc linuX的原因是 ecos的应用程序获得的处理器时间较长;造成读缓冲模式下 存储器访问性能随块长 度 增 长 而 变 好 而 其 他 模 式 下 不 变 的 原 因 是 与AT76c120的 缓 冲 控 制 器 的 回 写 模 式 有 关 由 于AT76c120的缓冲控制器采用了直接回写的缓冲回写模式
8、 缓冲控制器对存储器写操作没有任何缓冲作用 因此当处理器写存储器时基本不会享受到由缓冲控制器带来的好处 相当于直接访问外部存储器 2.3 驱动程序性能测试为了测试系统的驱动程序性能 选择cF卡驱动程序作为测试对象 我们的测试方法简单 就是在应用程序中打开一个大文件 10 B)然后调用fread读文件 每次读512字节到缓冲中 直至将文件读完 表3是测试结果:uc linuX的性能优于ecos 这主要是由于uc linuX的块驱动有一个叫集簇的功能 它可以将对块设备的多个请求归并在一起执行 这样对于像磁盘这样反应较慢的设备可以提高整体的读/写速度 表3 eCOs和uC li nux的磁盘读测试结
9、果 OS结果 ecosuc linuX读时间/s10.48.2读速度/B s-10.9611.223 综合应用性能比较我们知道 一个图像压缩和解压缩的程序往往需要大块的存储器访问操作 密集的数学运算和大量的磁盘访问 由于现在手持的嵌入式设备大多需要有这方面的应用需求 因此一个图像压缩和解压缩的应用程序既符合理论研究的要求 又符合实际应用的需求 为此我们选择gif图片的编解码的程序作为综合性能测试的测试程序 测试结果如表4所列 表4 eCOs和uC li nux的9if图片解码测试结果 OS尺寸 ecosuc linuX1024 76810.7 s12.3 s我们看到 ecos和uc linuX
10、解码速度都很低 主要是因为完全使用了软件解压缩;而且由于AT76c120的图像显示格式是Ycr cb的 而giflib的解压缩结果是RGB的 因此必须使用浮点运算将RGB的数据转换到Ycr cb AT76c120的AR7TD I不支持浮点指令 因此不得不使用软件仿真来完成浮点运算 这其中大部分时间被用在了从RGB到Ycr cb的转换上 测试结果基本与前面基本操作系统测试的结果是一致的 ecos在整体上是优于uc linuX的 4 可移植性ecos的系统可移植性应该明显比uc linuX的好 在ecos系统中 每一个硬件平台都用一个单独的目录存放针对这一硬件平台的硬件抽象层的代码和配置信息 较容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 操作系统 uClinux eCos 比较

限制150内