EmbedChina OS 与国际主流嵌入操作系统性能对比

 


1 μC/OS-II

μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。许多移植的范例可以从网站上得到。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS嵌入到开发的产品中。

μC/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。

uC/OS是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。

2 eCos

eCos可以提供实时嵌入式应用所需的基本运行基件,而只占用几十KB 或几百KB的内存空间。eCOS是一个源码开放的可配置、可移植、无版税、面向深嵌入式应用的实时操作系统。

从eCOS的名称可以看出,它最大的特点在于它是一个配置灵活的系统。ECOS的核心部分是由不同的组件组成的,包括内核、C语言库和底层运行包等。每个组件以能提供大量的可配置选项,利用eCOS 提供的配置工具可以很方便地进行配置。通过不同的配置使得eCOS能够满足不同的嵌入式应用。

3.uClinux

uCLinux是一种在嵌入式领域广泛应用的Linux系统,专门针对微控制系统设计。uClinux是Micro - Conrol - Linux的缩写。同标准Linux相比,它集成了标准Linux操作系统的稳定性、强大网络功能和出色的文件系统等主要优点。

uCLinux面向没有MMU的系统,即uCLinux不能使用处理器的虚拟内存管理技术,而采用是实存储器管理策略,uCLinux对内存的访问是直接的,所有程序中访问的都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享运行空间。每个进程在执行前,系统必须为其开辟连续的地址空间,然后全部载入主存储器的连续空间。

Linux系统中通常可执行文件的格式采用cof或elf,在uCLinux上只支持 flat可执行文件格式。gcc的编译程序不能直接形成这个格式,但是可以形成cof或elf格式的可执行文件,这两种格式的文件需要通过cof2flt或elf2flt工具进行格式转换,形成flat文件。uCLinux重写了应用程序库,相对于越来越大、越来越全的glib库,uClibc对库做了精简, uCLinux对用户程序采用静态链接的形式,这种做法会使应用程序变大,但基于内存管理的问题,也不得不这样做,同时这种做法更接近嵌入式系统的做法。

  


内核调度机制

RTOS内核的核心是调度器。当系统包含多个任务或多个线程时,必须使用调度器来决定当前执行哪一个任务或线程。调度器对线程的运行进行控制,并为线程提供一种同步机制。

  调度方法 同优先级调度 优先级数/个 任务数量/个
uC/OS-II 固定
优先级
抢占式
64
(8个保留)
56
eCos 位图 优先级
抢占式
32 32
多级队列 优先级
抢占式
32 无限
uClinux 时间片周期性的时钟计时中断 无限 无限

μC/OS只支持固定优先级抢占式,不支持时间片轮转调度,调度方法简单、实时性好,用法也简单。

eCOS调度方法丰富,适应性好。当然,目前的eCOS只允许在其目标系统中使用一个单独的调度器,未来的版本将可以允许多个调度器协同工作。

uClinux的进程调度沿用了Linux的传统,系统每隔一定时间挂起进程,同时系统产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程什么时候拥有它的时间片。然后进行相关进程切换,这是通过父进程调用fork函数生成子进程来实现的。 uClinux系统fork调用完成后,要么子进程代替父进程执行(此时父进程已经sleep),直到子进程调用exit退出;要么调用exec执行一个新的进程,这个时候产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不可避免。当子进程执行exit或exec后,子进程使用wakeup把父进程唤醒,使父进程继续往下执行。 


任务间同步、通信机制

RTOS的功能一般要通过若干任务和中断服务程序共同完成,任务与任务之间、任务与中断服务程序之间必须协调动作,互相配合,这就牵涉到任务间的同步与通信问题。

  1. uC/OS-II  信号量、邮箱、消息队列
  2. eCos 互斥、条件变量、计数型信号量、邮箱和事件标志
  3. uClinux 传统的 UNIX 进程间互斥和同步的机制,uClinux 都支持,它是符合 POSIX 标准的。比如:互斥量、 信号量,此外 uClinux 还有多种锁机制可以满足 各种情况的数据保护。

 


对硬件的支持(可移植特性)

μC/OS-II支持从8位到32位的CPU;经过裁剪后代码最小小于2KB,所需的最小数据RAM空间为4KB。

eCOS可以在16位、32位和64位等不同体系结构之间移植。经过裁剪后代码最小小于10KB,所需的最小数据RAM空间可以为10KB。

由于uClinux其实是Linux针对嵌入式系统的一种改良,其结构比较复杂,一般而言要移植uClinux,目标处理器需要具有足够容量(几百K字节以上)外部ROM和RAM。


对文件和网络的支持

uClinux采用的是romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。Romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。 

  uClinux还继承了Linux网络操作系统的优势,可以很方便的支持网络文件系统且内嵌TCP/IP协议,这为uClinux开发网络接入设备提供了便利。 

 


EmbedChina OS其它文档资料: 
A.EmbedChina OS 结构性能特点及其优越性
B.EmbedChina OS 与国际主流嵌入操作系统性能对比
C.EmbedChina OS 与国内开发中的操作系统性能对比
D.EmbedChina OS 中国3G手机专用操作系统
E.EmbedChina OS 中国IP机顶盒最佳设计方案

 


"国家的荣誉"是我们开发操作系统的唯一目标

上海铁本软件荣誉出品

 
EmbedChina OS市场销售合作: 
A:购买单机授权可获得EmbedChina OS嵌入式操作系统单系统使用权¥3.60元/单个系统
B:购买+OS资料光盘 可获得EmbedChina OS嵌入式操作系统不限数量授权¥168.00元/同一产品
C:如有其它特殊需求请下载:  EmbedChina OS 代理开发合同


PDF文档资料: 
A:EmbedChina OS 结构性能特点及其优越性
B:EmbedChina OS 中国3G手机专用操作系统
C:EmbedChina OS 中国IP机顶盒最佳设计方案

EmbedChina OS配套开发板技术资料:
A:EB-LPC2312 32位经济型ARM开发板技术白皮书  
B:EB-3G 带ARM核3G手机开发板技术白皮书         
C:EB-TV 带ARM核IP机顶盒开发板技术白皮书       

©2005-2008  - 上海铁本软件荣誉出品