嵌入式操作系统 ——几种常见嵌入式操作系统之比较

常用嵌入式操作系统

• VxWorks
• Windows CE
• Palm OS
• 嵌入式Linux
• uc OS …

Palm OS
– 3Com公司产品,专门为掌上电脑开发的32位的嵌入式操作系统
– 占有非常小的内存,基于Palm OS编写的应用程序占用的空间也非常小(通常只有几十KB)
– Palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据
– 拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序
– 具有强开放性,现在有大约数千种专门为Palm OS编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。在丰富的软件支持下,基于Palm OS的掌上电脑功能得以不断扩展。
• Palm OS 特点
– 操作系统的节能功能。在Palm OS的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。
– 合理的内存管理。Palm的存储器全部是可读写的快速RAM,动态RAM(Dynamic RAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储RA(Storage RAM)类似于PC机上的硬盘,可以永久保存应用程序和数据。
– Palm OS的数据是以数据库(database)的格式来存储的。
• Palm OS 应用
– Palm OS与同步软件(HotSync)结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了掌上电脑。
– Palm应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信、销售人员及组别自动化等。
– Palm外围硬件十分丰富,有数码相机、GPS接收器、调制解调器、GSM无线电话、数码音频播放设备、便携键盘、语音记录器、条码扫描、无线寻呼接收器、探测仪等。

• 嵌入式Linux
– 嵌入式Linux OS逐渐形成了可与Windows CE等EOS相抗衡的局面。目前正在开发的嵌入式系统中,49%的项目选择Linux作为嵌入式操作系统。Linux现已成为嵌入式操作系统的理想选
择。
– 已有产品:如中科红旗嵌入式Linux,已投入了实际应用。

• 嵌入式Linux特点
– 提供完整的开发工具和SDK,同时提供PC上的开发版本。
– 用户可定制,可提供图形化的定制和配置工具。
– 常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
– 针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。
– 完善的中文支持,强大的技术支持,完整的文档。

主流嵌入式Linux系统
• μClinux
• Embedix
• RTLinux
• RTAI
• Monta Vista Linux

嵌入式Linux的优势
• Linux系统是层次结构且内核完全开放
• 强大的网络支持功能
• Linux具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍
• Linux具有广泛的硬件支持特性

• 嵌入式Linux的开发
– 一种思路是通过裁减的途径。通过开发符合原接口Linux标准的精简的Linux内核,以满足掌上电等方面的需求。
– 另一种思路在普通Linux操作系统的低层中加载一个非常精简的Rt-Kernel,处理实时任务;而原有的内核(Linux kernel)在运行时可以看作RT-kernel的任务,而且相当于专用RTOS中优先级最低的任务 (the idletask)。美国新墨西哥理工学院的开发小组致力于RTLinux的开发工作。

嵌入式Linux面临的挑战
• 1、扩充Linux的实时系统
– 内核不支持事件优先级和抢占实时特性
– 对Linux实时性的扩展可以从两方面进行:
• 向外扩展(让实时系统支持的范围更广,支持的设备更多)
• 向上扩展(扩充Linux内核,从功能上扩充Linux的实时处理和控制系统)
• RT-Linux的做法
– Linux本身的任务以及Linux内核本身作为一个优先级最低的任务
– 实时任务作为优先级最高的任务
– 实时任务以Linux的内核模块(Loadable KernelModule,LKM)的形式存在

• 2、改变Linux内核的体系结构
– Monolithic内核体系
– MicroKernel体系
– 执行效率
– 内核的体积
– 升级、维护和移植

• 微内核技术
– 缺点:操作系统的服务模块在独立的地址空间运行,使得进程间通信和上下文切换的系统开销大大增加,降低了系统效率。

• 3、完善Linux的集成开发环境
– Linux在基于图形界面的特定系统定制平台的研究上,与Windows操作系统相比还存在差距

• 嵌入式Linux举例——RTLinux
– RTLinux是一硬实时操作系统
– 实现了一个微内核的小的实时操作系统,而将普通Linux系统作为一个该操作系统中的一个低优先级的任务来运行
– 普通Linux系统中的任务可以通过FIFO和实时任务进行通信
– 通过软件来模拟硬件的中断控制器
– RT-Linux通过将系统的实时时钟设置为单次触发状态,可以提供十几个微秒级的调度粒度
• 嵌入式Linux举例——RTLinux
– 内核结构:RT-kernel对硬件中的中断进行处理,并用软件模拟中断控制器。对于编程而言,Linux内核对软件中断控制器的操作就如同原来它对硬件中断一样,但它不能禁止RT-kernel响应中断。实时任务不同于Linux的进程:首先它相当于线程,使上下文切换延迟缩短;其次系统为它静态分配内存并锁定,不使用虚拟内存;
第三,任务的模式高于Linux的系统模式与用户模式。RT-kernel本身是不可抢占,但是由于它非常短小精悍,造成的延迟比较短。

– 调度算法。实时任务的调度方式主要有两种:周期性调度与中断唤醒。APIrt_task_make_periodic( )可以指定任务的周期。RTLinux带一个纯优先级调度器;用户可以根据需要编写自己的调度器。
– 开发与调试环境。采用RTLinux实现嵌入式设计,需要自主开发编译与调试工具;现阶段一般沿用GCC,GDB等工具,缺乏实时专用的编译与调试工具。
– RTLinux主要支持的机型是PC-based和ALPHA型机。
– RTLinux兼容POSIX1003.1b规范。

POSIX实时扩展
• POSIX(Portable Operating System Interface)是为标准化类UNIX操作系统所必须具有的特征和口而制定,其思想就是为了增强为类UNIX操作系统编写的软件的可移植性

嵌入式Linux 与Windows CE相比的优点
• Linux是开放源代码的,不存在黑箱技术。
• Linux在价格上极具竞争力。
• Linux的内核小、效率高。
• Linux不仅支持x86芯片,还是一个跨平台的系统。到目前为止,它可以支持20~30种CPU。
• Linux内核的结构在网络支持方面是非常完整的,它提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持。
• Linux在内核结构的设计中充分考虑了适应系统的可裁剪性的要求。
• 开发难度较高,需要很强的技术实力
• 核心调试工具不全,调试不太方便,尚没有很好的用户图形界面
• 有些Linux的应用程序需要虚拟内存,所以并非所有的Linux应用程序都可以在嵌入式系统中运行。
Palm OS与Windows CE的比较
• 从技术层面上讲,Palm OS是一套专门为掌上电脑开发的操作系统;Windows CE相对则过于臃肿。
• Palm OS是一套具有极强开放性的系统。开发者向用户免费提供Palm OS的开发工具,允许用户利用该工具在Palm OS基础上方便地编写、修改相关软件。

• Palm OS、Windows CE、Linux这三种嵌入式操作系统各有不同的特点,不同的用途;但Linux比Palm OS和Windows CE更小、更稳定,而且Linux是开放的OS,在价格上极具竞争力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shuiyunjian1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值