开云 开云体育官网嵌入式系统软件开发
嵌入式操作系统的发展 嵌入式操作系统的研究方向 常见嵌入式操作系统及体系结构
开发支持多处理器结构的RTOS已成为发展方向,这方面比较成功的系统有Psosm等。至 于分布式RTOS,国外一些RTOS厂家虽已推出部分产品,如QNX、Chorus、Plan 9等,但分布 式实时操作系统的研究还未完全成熟,特别是在网络实时性和多处理器间任务调度算法上还 需进一步研究。
RTOS研究的另一个重要方向是集成开发环境的研究。开发实时应用系统,只有RTOS是不 够的,需要集编辑、编译、调试、模拟仿真等功能为一体的集成开发环境的支持。开发环境 的研究还包括网络上多主机间协作开发与调试应用技术的研究、RTOS与环境的无缝连接技术 等。
RT-Linux是新墨西哥技术学院的Victor Yodaiken 和Michael Brabanov 共 同开发的嵌入式实时操作系统。 该操作系统底层实现了一个简单的实时内核,支持RMS,EDF等实时调度 算法。该内核将标准Linux任务以及标准Linux内核本身作为一个优先级 最低的任务看待,该任务运行时可在任意时刻被更高优先级的任务抢占。 实时任务的优先级高于标准Linux的任务,实时任务不同于标准Linux的 普通进程,它是以Linux内核模块的形式存在的。需要运行的实时任务 以内核模块的方式插入到标准Linux内核中。实时任务和Linux一般进程 Linux Linux 之间的通信通过共享内存或者FIFO通道(Linux虚拟字符设备)实现。 RT-Linux的关键技术是通过软件来模拟硬件的中断控制器。当Linux系 统要求屏蔽CPU中断时,RT-Linux中的实时子系统会截取该请求并登记, 而实际上并不真正马上屏蔽硬件中断,从而避免了由于屏蔽中断所造成 的延迟,提高了实时性。当有硬件中断到来时,RT-Linux截取该中断, 并判断是由实时内核的中断例程来处理还是传递给普通的Linux内核进 行处理。另外, RT-Linux通过将系统的实时时钟设置为单次触发状态, 可以提供十几个微秒级的调度粒度。 RT Linux有两个域:实时域和非实时域。实时域中的函数可以满足自身 的实时要求, 但是这些函数必须简单,因为可供它们使用的资源是有 限的。另一方面,非实时功能模块有许多可用的资源,但是不能有任何 实时要求。
3 嵌入式软件开发环境 嵌入式软件开发环境简介 操作系统基础 常见Linux命令 shell程序设计 makefile文件 Gcc、 ld、gdb等 Linux程序设计 vxworks环境及程序设计 wince环境及程序设计
应 用 程 序 设 备 驱 … 动 程 序 文 件 服 务 器 任 务 虚 服 务 存 器
VxWorks 是美国WindRiver 公司的产品,是目前嵌入式系统领域市场占有 率比较高的嵌入式操作系统。它以其良好的可靠性和卓越的实时性被广 泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的 领域中。 VxWorks操作系统的集成环境为Tornado。该集成环境提供了高效明晰的 图形化实时应用软件开发平台,包括一套完整的面向嵌入式系统的开发 和调测工具。Tornado环境采用主机-目标机交叉开发模型:应用程序在 主机(host)的Windows环境下编译链接生成可执行文件,下载到目标机 (host) Windows (target)后通过主机上的目标服务器(Target Server)与目标机上的目标 代理(Target Agent)的通信完成应用程序的调试与分析。 VxWorks实现了一个微内核(Wind微内核),wind微内核支持全部的实时 功能,包括多任务、任务调度、任务间同步/通信和内存管理四项主要功 能。由于微内核只提供操作系统最基本的功能,精简了核心的大小,增 强了核心的稳定性。另外,将文件系统、网络等模块与操作系统的核心 分离,增强了核心的模块性,使系统可以方便地拆卸。 VxWorks 实时操作系统由400 多个相对独立、短小精悍的目标模块组成, 用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的 抢占式任务调度(支持256种优先级,优先级相同的任务间采用时间片轮 转调度方式)、任务间同步与通信、中断处理、定时器和内存管理等功 能;内建符合POSIX( 可移植操作系统接口) 规范的内存管理,支持多处理 器控制。
微软开发的Windows CE是一个开放的、可升级的32位嵌入式实 时操作系统,它为掌上设备、无线设备的应用软件开发提供了功 能丰富的操作系统平台。Windows CE延伸了台式机Windows 操 作系统的外部特征,在操作系统内部用嵌入式实时操作系统技术 实现了一个Win32 API 子集。在实现过程中着重考虑了通用性和 可移植性。为嵌入式软件的开发提供了一个标准平台,其调度机 制采用了基于动态优先级的时间片轮转调度算法,支持强大的通 讯和图形显示功能,非常适合用于信息家电、移动计算领域。 Windows CE 采用层状体系结构,具有层次性强、可移植性好、 组件化、可剪裁等特点。其从下而上可分为四层:硬件层、OEM 硬件适配层、操作系统服务层、应用层。
微内核结构和C/S 模型 微内核结构是操作系统发展的一个里程碑,该结构的核心思想是将传 统操作系统内核中的一些组成部分放到内核之外来实现,尽量减小运行 于核心态下的内核。在微内核中只保留了处理机调度、存储管理、消息 通讯等少数几个组成部分。传统操作系统中的文件系统、网络等内核功 能都放在内核外作为一个独立子系统实现。这样的系统具有更好的可扩 展性、可移植性、可靠性及灵活性。
嵌入式实时Linux是指对标准Linux操作系统进行嵌入式或实时性能改 造而形成的各种版本的Linux总称。嵌入式实时Linux可分为三类:第 一类是主要考虑对标准Linux进行嵌入式改造而形成的,如何让Linux 更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去是 其研究方向,如MontaVista公司的Hard Hat Linux;第二类是主要考 虑对标准Linux进行实时性能改造而形成的,如RT-Linux便是将Linux Linux RT-Linux Linux 改造成具有硬实时调度功能的操作系统; 第三类则是将实时性和嵌 入式改造方案相结合而形成的,如Lineo、TimeSys等等。 为了满足嵌入式实时系统的某些性能要求(如实时性、最小内存开 销等),不同嵌入式Linux系统均对内核作了不同程度的修改以满足 需要。为了满足实时性要求,可能会采用优先级调度策略替换时间 片轮转调度策略,将内核由不可抢占调度方式改为可抢占调度方式, 采用某种改进方法将最大中断禁止时间、任务切换时间开销减低到 最小等等。而标准Linux内核使用虚拟内存机制在嵌入式系统,特别 是在实时性要求很强的系统中,该功能则必须被屏蔽掉。
整体结构 整个操作系统由若干个具有一定独立功能的过程组成,过程和过程之间可以根据需要 按事先定义的接口相互进行调用。这种结构虽然简单,但不利于操作系统功能的扩充,早 期的嵌入式实时操作系统大多采用该结构实现。
操作系统按一定的功能模块分层组织,最高层为用户程序,最底层为处理机调度及多道程 序实现,下一层是相邻上一层的基础,层与层之间有严格的接口定义,只在相邻层之间 发生交互。该模型的优点在于有利于操作系统的设计与实现,但困难之处在于每一层的 划分不易,且效率不如其它结构好,由于相邻层间有很多交互,安全性也很难得到保证。
基于优先级的调度、实时时钟管理、任务间通信、同步互斥机制等 “共 性”部分组织起来形成一个通用的嵌入式实时操作内核。这类嵌入式实 时操作系统大多采用软组件结构,以一个个软件标准组件构成通用的 嵌入式实时操作系统。
超微内核(Nanokernel)嵌入式操作系统 八十年代后期,嵌入式实时操作系统领域提出了一种实现机制 与策略分离的“微内核”(Microkernel)思想,即将传统操作系统 中许多“共性”的东西抽象出来,构成操作系统的公共基础(即 微内核),具体的操作系统功能则由构造在微内核之外的服务器 实现。近几年,嵌入式实时操作系统领域又提出了一种基于微内 核思想的精巧嵌入式微内核机制,称为“实时超微内 核”(Nanokernel),该机制中,内核是一非常紧凑的基本内核代 码层,为嵌入式应用提供可抢占、切换时间开销小而确定的实时 服务。在该内核基础上可灵活构造各种类型的与现有系统兼容的、 可伸缩的嵌入式实时操作系统,从而满足应用代码的可重用和可 伸缩性需求。
主要提供系统的初始化管理和简单的实时时钟管理等,功能稍强的具有 简单的任务调度及任务间协调功能,代表性的操作系统为RTMX。这个时 期的实时应用通常较简单,对实时性要求也不高,应用程序、实时监控 程序和硬件运行平台往往是一体的。
适用于特定硬件环境的具有多任务特点的专用嵌入式操作系统出现了。 由于它是早期用户为满足自身开发需要而研制的,往往缺乏严格的评测, 可移植性较差, Intel公司的iRMX是这类操作系统的代表
两个重要的接口标准:Win32、POSIX( “可移植的UNIX操作系统接口”) 美国IEEE协会在UNIX的基础上,制定了实时UNIX系统的标准POSIX 1001.4系列协议,但仍有 许多工作还待完成。开云 开云体育开云 开云体育
扫一扫关注微信公众帐号