几种嵌入式实时操作系统的研究与比较.pdf
《几种嵌入式实时操作系统的研究与比较.pdf》由会员分享,可在线阅读,更多相关《几种嵌入式实时操作系统的研究与比较.pdf(7页珍藏版)》请在三一文库上搜索。
1、1 / 7 几种嵌入式实时操作系统的分析与比较 2008-07-04 20:54 VxWorks 、Clinux 、COS-II 和 eCos是 4 种性能优良并被广泛应用的实时 操作系统。本文通过对这4 种操作系统的主要性能进行分析与比较,归纳出它 们的选型依据和适用领域。 1. 4 种操作系统的介绍 (1VxWorks VxWorks是美国 WindRiver 公司的产品,是目前嵌入式系统领域中应用很广 泛,市场占有率比较高的嵌入式操作系统。VxWorks实 时操作系统由 400 多个 相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪 和配置系统;提供基于优先级的任务调
2、度、任务间同步与通信、中断处理、定 时器和内存管理等功能,内建符合POSIX(可移植操作系统接口 规范的内存管 理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至 町以微缩到 8 KB。 (2 COS-II COS-II 是在 C-OS的基础上发展起来的,是美国嵌入式系统专家 Jean J Labrosse 用 C语言编写的一个结构小巧、抢占式的多任务实时内核。 C OS-II 能管理 64 个任务,并提供任务调度与管理、内存管理、任务间同 步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时 性能优良和可扩展性强等特点。 (3Clinux Clinux 是一
3、种优秀的嵌入式Linux 版本,其全称为micro-control Linux ,从字面意思看是指微控制Linux 。同标准的 Linux 相比, Clinux 的内 核非常小,但是它仍然继承了Linux 操作系统的主要特性,包括良好的稳定性 和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及 TCP IP 网络协议等。因为没有MMU 内存管理单元,所以其多任务的实现需要一定 技巧。 (4eCos eCos(embedded Configurable operating system,即嵌入式可配置操作 系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操 作
4、系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构 成,包括内核、 C语言库和底层运行包等。每个组件可提供大量的配置选项( 实 时内核也可作为可选配置,使用 eCos提供的配置工具可以很方便地配置,并 通过不同的配置使得eCos能够满足不同的嵌入式应用要求。 2. 性能分析与比较 任务管理、任务及中断间的同步与通信机制、内存管理、中断管理、文件 系统、对硬件的支持和系统移植这几方面是实时操作系统的主要性能。下面就 从这几个方面着手对上述4 种操作系统进行分析与比较。 2.1 任务管理 任务管理是嵌入式实时操作系统的核心和灵魂,决定了操作系统的实时性 2 / 7 能。它通常包含优先
5、级设置、多任务调度机制和时间确定性等部分。 2.1.1 优先级设置 嵌入式操作系统支持多任务,每个任务都具有优先级,任务越重要,赋予 的优先级应越高。优先级的设置分为静态优先级和动态优先级两种。静态优先 级 指的是每个任务在运行前都被赋予一个优先级,而且这个优先级在系统运行 期间是不能改变的;动态优先级则是指每个任务的优先级( 特别是应用程序的优 先级在 系统运行时可以动态地改变。 2.1.2 多任务调度机制 任务调度主要是协调任务对计算机系统资源的争夺使用。对系统资源非常 匮乏的嵌入式系统来说,任务调度尤为重要,它直接影响到系统的实时性能。 通常,多任务调度机制分为基于优先级抢占式调度和时间
6、片轮转调度。 基于优先级抢占式调度:系统中每个任务都有一个优先级,内核总是将CPU 分配给处于就绪态的优先级最高的任务运行。如果系统发现就绪队列中有比当 前运行任务更高的优先级任务,就把当前运行任务置于就绪队列中,调入高优 先级任务运行。系统采用优先级抢占方式进行调度,可以保证重要的突发事件 及时得 到处理。 时间片轮转调度:让优先级相同的处于就绪状态的任务按时间片使用CPU , 以防止同优先级的某一任务长时间独占CPU 。 在一般情况下,嵌入式实时操作系统采用基于优先级抢占式调度与时间片 轮转调度相结合的调度机制。 2.1.3 时间的可确定性 嵌入式实时操作系统甬数调用与服务的执行时间应具有
7、可确定性。系统服 务的执行时间不依赖于应用程序任务的多少。基于此特征,系统完成某个确定 任务的时间是可预测的。表1 具体列出了 4 种操作系统的调度机制。 4 种嵌入式实时操作系统都支持多任务,只是在支持任务数量上和任务调度 机制上有所不同。 VxWorks具有高效的任务管理功能,它支持多任务,可分配 256 个优先级,支持优先级抢占式调试和时间片轮转调度,实时性最好。C OS-II 内核是针对实时系统的要求设计实现的,只支持基于固定优先级抢占式 调度;调度方法简单,可以满足较高的实时性要求。Clinux 在结构上继承了 标准 Linux 的多任务实现方式,分为实时进程和普通进程,分别采用先来
8、先服 务和时间片轮转调度;仅针对中低档嵌入式CPU 特点进行改良,且不支持内核 抢占。 eCos调度方法丰富,提供了两种基于优先级的调度器(即位图调度器和 多级队列调度器 ,允许用户在进行配置时选择其中一个凋度器,适应性好。 2.2 任务及中断间的同步与通信机制 实时操作系统的功能一般要通过若干任务和中断服务程序共同完成。任务 与任务之间、任务与中断间任务及中断服务程序之间必须协调动作,互相配 合, 这就涉及任务间的同步与通信问题。嵌入式实时操作系统通常是通过信号 量、互斥信号量、事件标志和异步信号来实现同步,通过消息邮箱、消息队 列、管道和共享内存来提供通信服务。由于互斥信号量的使用,带来了
9、实时操 作系统中常见的优先级反转问题。优先级反转是一种不确定的延迟形式,当高 3 / 7 优先级任务企图访问已被低优先级占有的共享资源时,必须等待低优先级任务 释放共享资源;如果这时低优先级任务被一个或多个中优先级任务抢占,那么 高优先级任务被延迟的时间将更进一步延长,实时性难以保证。因此,应采取 相关措施以尽鼍避免出现优先级反转问题。实时系统通常采用优先级继承和优 先级置顶机制。 优先级继承足指拥有互斥量的任务被提升到与下一个在等待该互斥最的最 高优先级任务相同的优先级;优先级置顶是指获得互斥量的任务将其优先级提 升到一个事先规定好的值。表2 为 4 种操作系统的同步与通信机制的比较。 4
10、种系统都具有灵话的任务间同步与通信机制,都可以通过信号量、消息队 列来实现同步与通信,但是VxWorks与 Clinux 都不支持邮箱和事件标志,而 且除了 Clinux 和 eCos中的位图调度器,其他操作系统都采取了措施抑制优 先级反转。 2.3 内存管理 内存管理主要包括:内存分配原则,存储保护和内存分配方式。 2.3.1 内存分配原则 内存分配原则包括快速性、可靠性和高效性。其中,快速性要求内存分配 过程要尽可能快,所以一般采用简单、快速的分配算法;可靠性指的是内存分 配 的请求必须得到满足;系统强调高效性的要求,不仅仅是对系统成本的要 求,而且由于系统本身可配置的内存容量也是很有限的
11、,所以要尽可能地避免 浪费。 2.3.2 存储保护 通常在操作系统的内存中既有系统程序也有用户程序,为了使两者都能正 4 / 7 常运行,避免程序间相互干扰,需要对内存中的程序和数据进行保护。存储保 护 通常需要硬件支持,在很多系统中都采用MMU ,并结合软件实现;但由于嵌 入式系统的成本限制内核和用户程序通常都在相同的内存空间中。 2.3.3 内存分配方式 内存分配方式可分为静态分配和动态分配。静态分配是在程序运行前一次 性分配给相应内存,并且在程序运行期间中不允许再申请或在内存中移动;动 态 分配则允许在程序运行整个过程中进行内存分配。静态分配使系统失去了灵 活性,但对于实时性要求比较高的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实时 操作系统 研究 比较
链接地址:https://www.31doc.com/p-4665348.html