当前位置:首考文秘网>范文大全 > 公文范文 > 三种开源嵌入式操作系统的比较

三种开源嵌入式操作系统的比较

时间:2023-05-21 19:15:03 公文范文 来源:网友投稿

[摘要]嵌入式操作系统的性能和选择是大多数嵌入式系统开发都要面临的问题。比较3种开源嵌入式操作系统嵌入式Linux、QNX和eCos,分析3种开源操作系统的主要性能,并根据分析结果指出各自的适用领域。

[关键词]嵌入式操作系统 RTOS 嵌入式系统

中图分类号:TP316.2 文献标识码:A 文章编号:1671-7597(2008)1110061-01

一、三种开源EOS介绍

(一)嵌入式Linux。Linux是一个类似于Unix的操作系统,它已经是最为流行的一款开放源代码的操作系统。嵌入式Linux由于其源代码公开,人们可以任意修改来满足自己的应用。像大多数自由软件一样,Linux遵从GPL,因此使用它无须为每例应用交纳许可证费。Linux下的应用软件大量可用,其中大部分都遵从GPL,是开放源代码和免费的。稳定是Linux本身具备的一个很大优点。内核精悍,运行所需资源少,支持的硬件数量庞大等都是Linux所具备的。

(二)QNX OS。QNX OS是由QNX软件系统有限公司开发的一套实时操作系统,它是一个实时的、可扩展的操作系统,部分遵循了POSIX(Portable Operating System Interface of Unix)相关标准,可以提供一个很小的微内核及一些可选择的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理。

(三)eCos。eCos(embedded Configurable operating system),即嵌入式可配置操作系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。其最大特点是配置灵活,采用模块化设计,包括内核、C语言库和底层运行包在内的核心部分由不同的组件构成。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

二、三种开源嵌入式操作系统的比较

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

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

μClinux没有保留通用Linux的MMU管理功能,其对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间,这就需要实现多进程时进行数据保护,同时也导致了用户程序使用的空间可能占用到系统内核空间。这些问题在编程时都需要多加注意,否则容易导致系统崩溃。虽然没有使用MMU功能,但μClinux在结构上继承了标准Linux的多任务实现方式。其要实现实时性效果则需要使系统在实时内核的控制下运行。

QNX 提供POSIX.1b标准进程调度,它拥有32个进程优先级;具有抢占式的、基于优先级的正文切换功能;具有可选调度策略:FIFO、轮转策略、适应性策略。设备管理。在进程和终端设备间提供大吞吐量、低开销接口服务。

(二)文件系统。文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存储介质等)实施管理的软件部分。

μClinux继承了Linux完善的文件系统性能,它支持[2]ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统和一一般的文件系统相比(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。Romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ram盘采用ext2文件系统)。μClinux还继承了Linux网络操作系统的优势,可以很方便地支持网络文件系统且内嵌TCP/IP协议,这为μClinux开发网络接入设备提供了便利。由操作系统对文件系统的支持可知,在复杂的、需要较多文件处理的嵌入式系统中,μClinux是一个不错的选择。

QNX OS包括多种资源管理器,各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CD-ROM文件系统等。

eCos操作系统的可配置性非常强大,用户可以根据需要方便地加入所需的文件系统。eCos由于本身内核就很小,经过裁剪后的代码最小可以分别为2 KB和10 KB,所需的最小数据RAM空间分别为4 KB和10 KB。

(三)对硬件的支持。μClinux支持大多数16位、32位和64位等不同体系结构CPU。QNX支持的16~64位CPU非常多。它支持所有X86平台,也支持大量的PC周边设备,如:QNX 6.3支持音频、视频等设备,也支持鼠标等设备的操作。eCos的另一个优点是他支持非常多的平台和CPU,尤其是比较新的CPU比如ARM的各个系列,DSP(BlackFin)等。也支持很多硬件平台。目前支持的CPU包括: ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH。 支持的硬件平台设备包括: Flash, Ethernet, 串口, USB, 时钟等。其已直接支持了时下绝大部分的硬件,可在eCos 官方网站[4]。

三、结论

ΜClinux最大特点在于针对无MMU处理器设计,可以利用功能强大的Linux资源,因此适合开发对事件要求不高的小容量、低成本的各类产品,特别适用于开发与网络应用密切相关的嵌入式设备或者PDA设备。

QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、XWindow和TCP/IP都是UNIX程序员所熟悉的,并且本身就内嵌很多的设备驱动程序。所以,对于想专注于上次界面开发的项目,是个不错的选择。

ECos的最大特点是配置灵活,而越是面向深度嵌入式应用的,很适合用于一些商业级或工业级对成本敏感的嵌入式系统,例如消费电子类领域中的一些应用。

参考文献:

[1]熊江,三种嵌入式操作系统的分析与比较[J].单片机与嵌入式系统应用.2002

[2]刘峥嵘、张智超、许振山,嵌入式Linux应用开发详解.北京:机械工业出版社.2004.

推荐访问:三种 开源 嵌入式 操作系统

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91