嵌入式操作系统是 嵌入式 系统应用的核心。本文通过对两种典型的开源嵌入式 操作系统的对比,分析和总结了 嵌入式 操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据。
完成简单功能的 嵌入式 系统 开发 一般不需要操作系统,如以前许多MCS51系列单片机组成的小系统就只是利用软件实现简单的控制环路。但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。
一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行
效率高、方便进行个性化定制和软件要求固化存储等特点。
从八十年代起,国际上就有一些IT组织、公司,开始进行商用 嵌入式 系统的 开发 和专用操作系统的研发。这其中涌现了一些著名的嵌入式系统,如Microsoft公司的WinCE和 WindRiverSystem公司的VxWorks就分别是非实时和实时嵌入式操作系统的代表。但是商用产 品的造价都十分昂贵,用于一般用途会提高产品成本从而失去竞争力。 mC/OS和uClinux操作系统是两种性能优良源码公开且被广泛应用的的免费嵌入式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。本文通过对mC/OS和mClinux的对 比,分析和总结了嵌入式操作系统应用中的若干重要问题,归纳了嵌入式系统开发中操作系 统的选型依据。
下面我们就来介绍嵌入式开发--两种开源嵌入式操作系统介绍
mC/OS和mClinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入式操作系
统。mC/OS适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强 等特点,最小内核可编译至2k。mClinux则是继承标准Linux的优良特性,针对嵌入式处理器 的特点设计的一种操作系统,具有内嵌网络协议、支持多种文件系统,开发者可利用标准 Linux先验知识等优势。其编译后目标文件可控制在几百K量级。
mC/OS是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内 核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
mClinux是一种优秀的嵌入式Linux版本。mClinux是Micro-Conrol-Linux的缩写。同标准Linux相比,它集成了标准Linux操作系统的稳定性、强大网络功能和出色的文件系统等主 要优点。但是由于没有MMU(内存管理单元),其多任务的实现需要一定技巧。
两种嵌入式操作系统主要性能比较
嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合理的有效方法组织多
个用户共享嵌入式系统的各种资源。其中用户指的是系统程序之上的所有软件。所谓合理有
效的方法,指的就是操作系统如何协调并充分利用硬件资源来实现多任务。复杂的操作系统
都支持文件系统,方便组织文件并易于对其规范化操作。
嵌入式操作系统还有一个特点就是针对不同的平台,系统不是直接可用的,一般需要经
过针对专门平台的移植操作系统才能正常工作。
进程调度、文件系统支持和系统移植是在嵌入式操作系统实际应用中最常见的问题,下
文就从这几个角度入手对mC/OS和mClinux进行分析比较。
通过对mC/OS和mClinux的比较,可以看出这两种操作系统在应用方面各有优劣。mC/OS
占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简单。mClinux则占
用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,mCLinux具有对多
种文件系统的支持能力、内嵌了TCP/IP协议,可以借鉴Linux丰富的资源,对一些复杂的应
用,mClinux具有相当优势。例如CISCO公司的 2500/3000/4000 路由器就是基于mClinux操
作系统开发的。
总之,操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制系统可
充分利用mC/OS小巧且实时性强的优势,如果开发PDA和互联网连接终端等较为复杂的系统则
mClinux是不错的选择。