版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章嵌入式操作系统9.1嵌入式系统及嵌入式操作系统的概念
9.2嵌入式操作系统的发展历程9.3嵌入式操作系统的特点
9.4嵌入式操作系统的种类9.5几种代表性嵌入式操作系统
9.6嵌入式操作系统的发展趋势习题九
9.1嵌入式系统及嵌入式操作系统的概念
9.1.1嵌入式系统
嵌入式系统ES(EmbededSystem)是以应用为中心和以计算机技术为基础的,其软硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视或管理等功能,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。它通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。嵌入式处理器主要由一个单片机或微控制器(MCU)组成。相关支撑硬件包括显示卡、存储介质、通信设备、IC卡和信用卡读取设备等。
一个最小的嵌入式系统的基本组成包括:
(1)一个用作引导的可用设施;
(2)具备内存管理、进程管理和定时器服务的内核;
(3)一个初始进程;
(4)硬件驱动程序;
(5)一个或几个应用进程以提供必要的应用功能。9.1.2嵌入式操作系统
嵌入式操作系统是嵌入式系统的操作系统。它通常被设计得非常紧凑有效,抛弃了运行在它们之上的特定的应用程序所不需要的各种功能。多数嵌入式操作系统也是实时操作系统。所以,EOS是一种实时的、支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
EOS相对于一般操作系统而言,除具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:
(1)可装卸性、开放性、可伸缩性的体系结构。
(2)强实时性,EOS实时性一般较强,可用于各种设备控制当中。
(3)统一的接口,提供各种设备驱动接口。
(4)操作方便、简单,提供友好的图形GUI,易学易用。
(5)提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
(6)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。
(7)固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能够很容易地拆卸。
(8)更好的硬件适应性,即良好的移植性。
9.2嵌入式操作系统的发展历程
9.2.1嵌入式技术的发展
综观嵌入式技术的发展,大致经历了以下三个阶段:
第一阶段:嵌入技术的早期阶段,以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中。
第二阶段:以嵌入式CPU和嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:计算机硬件出现了高可靠、低功耗的嵌入式CPU,如PowerPC等。第三阶段:以芯片技术和Internet技术为标志的嵌入式系统。微电子技术发展迅速,SOC(片上系统)使嵌入系统越来越小,功能却越来越强。目前,大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式技术与Internet技术的结合正推动着嵌入式技术的快速发展。9.2.2嵌入式操作系统的发展
嵌入式操作系统作为嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统伴随着嵌入式系统的发展经历了四个比较明显的阶段:
第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。应用于一些专业性极强的工业控制系统中,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。CPU种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。能运行于各种类型的微处理器上,兼容性好;内核小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口API;嵌入式应用软件丰富。
第四阶段:以基于Internet为标志的嵌入式系统。这是一个正在迅速发展的阶段。目前,大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。 9.3嵌入式操作系统的特点
9.3.1实时性
在信息时代,人们需要在有效的时间里对接受的信息进行处理,为进一步的工作和决策争取时间,这就要求工作系统具有很高的实时性。所谓实时性,其核心含义在于操作系统在规定的时间内准确完成应该做的事情,并且操作系统的执行线索是确定的,而不是单纯的速度快。大多数嵌入式操作系统工作在对实时性要求很高的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械的时序。而一般的桌面操作系统基本上是根据人用键盘和鼠标发出的命令进行工作,人的动作和反应在时序上并不很严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要求速度快,而且多个发动机之间的时序要求非常严格,否则就会失之毫厘,谬以千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的,即使我们所开发的并不是生命攸关或者生产控制那样的关键任务系统。例如,对嵌入式操作系统应用很有前途的领域——消费电子产品,设备的高可靠性可以有效地减低维护成本,软件运行效率高也会降低对CPU的要求,从而降低硬件成本。对于此类价格十分敏感的产品,实时性、可靠性仍然是非常值得重视的问题。因此,实时性是嵌入式系统最大的优点,在嵌入式软件中最核心的莫过于嵌入式RTOS实时操作系统。9.3.2可剪裁性
能否根据实际需求对系统的功能模块进行配置是嵌入式系统与普通系统的另一区别。这可以从以下几个方面分析:
(1)从硬件环境来看,普通系统具有标准化的CPU存储和I/O架构,而嵌入式系统的硬件环境只有标准化的CPU,没有标准的存储、I/O和显示器单元。
(2)从应用环境来看,桌面操作系统面向复杂多变的应用,而嵌入式操作系统面向单一设备的固定的应用。
(3)从开发界面来看,桌面操作系统给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统的功能,而嵌入式系统试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源。普通系统的研究开发是尽可能在不改变自身的前途下具有广泛的适应性。也就是说,不论应用环境怎么改变,都不应对自身做太多的变化。而应用于嵌入式环境的RTOS,在研发的时候就必须立足于面向对象,改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置。由于对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能即可。可剪裁性在软件工程阶段是利用软件配置方法实现软件构建的“即插即用”。
9.3.3可靠性
一般来说,嵌入式系统一旦开始运行就不需要人为的过多干预。在这种条件下,要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性,而普通操作系统则不具备这种特点。这导致桌面操作环境与嵌入式环境在设计思路上有重大的不同。
(1)桌面环境假定应用软件与操作系统相比而言是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。
(2)桌面操作系统比较庞大复杂,而嵌入式系统提供的资源有限,由于硬件的限制,嵌入式操作系统必须小巧简捷。对于系统来说,组成越简单,性能越可靠;组成越复杂,故障概率越高。局部的不足会导致整体的缺陷,系统中任何部分的不可靠都会导致系统整体的不可靠。
9.4嵌入式操作系统的种类
一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的vxworks、ISI公司的psos、QNX系统软件公司的QNX、ATI公司的nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等。9.4.1非实时操作系统
早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前、后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。实际上,前、后台系统的实时性比预计的要差。这是因为前、后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求较高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式系统中被广泛使用。9.4.2实时操作系统
实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。
“在确定的时间内”是该定义的核心,也就是说,实时系统是对响应时间有严格要求的。实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时操作系统具有如下功能:任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含ROM的管理)、实时时钟服务、中断管理服务。实时操作系统具有规模小、中断被屏蔽的时间很短、中断处理时间短、任务切换快等特点。实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把CPU的控制权完全交给了该任务,直到它主动将CPU控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态。而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出CPU的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。
可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占CPU控制权处理不好,会产生系统崩溃、死机等严重后果。
9.5几种代表性嵌入式操作系统
9.5.1VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是Tornado嵌入式开发环境的关键组成部分。其良好的持续发展能力、高性能的内核以及友好的用户开发环境,使其在嵌入式实时操作系统领域中逐渐占据一席之地。
VxWorks具有可裁剪微内核结构,高效的任务管理,灵活的任务间通信,微秒级的中断处理,支持POSIX1003.1b实时扩展标准,支持多种物理介质及标准的、完整的TCP/IP网络协议等。但是其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高,支持的硬件数量有限。9.5.2WindowsCE
WindowsCE与Windows系列有较好的兼容性,无疑是WindowsCE推广的一大优势。其中,WinCE 3.0是一个通用版本,要求了解设备特性,是一种针对小容量、移动式、智能化的32位实时嵌入式操作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200 KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,因此处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,WindowsCE作为嵌入式操作系统有很多的缺陷,没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。9.5.3嵌入式Linux
嵌入式Linux操作系统以价格低廉、功能强大且易于移植而被广泛采用,成为新兴的力量,所以,众多商家纷纷转向了嵌入式Linux操作系统。
Linux为嵌入式操作系统提供了一个极有吸引力的选择,它和Unix相似,是以核心为基础的、完全内存保护、多任务多进程的操作系统。支持广泛的计算机硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片。程序源码全部公开,任何人可以修改并在GNU(GeneralPublicLicense)通用公共许可证下发行。这样,开发人员可以对操作系统进行定制,再也不必担心像MSWindows操作系统中“后门”的威胁。同时由于有GPL的控制,大家开发的东西大都相互兼容,不会走向分裂之路。Linux用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能,有多种可选择窗口管理器(XWindows)。其强大的语言编译器gcc、g++等也可以很容易得到,不但成熟完善、而且使用方便。但是,在嵌入式系统上运行Linux的一个缺点是,Linux体系提供实时性能需要添加实时软件模块,而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统,从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。9.5.4µC/OS-Ⅱ
µC/OS-Ⅱ是著名的源代码公开的实时内核,是专为嵌入式系统应用设计的,可用于8位、16位和32位单片机或数字信号处理器(DSP)。它是在原版本µ C/OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。它的主要特点如下:
(1)公开源代码,容易把操作系统移植到各个不同的硬件平台上。
(2)可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上。
(3)可固化。
(4)具有可裁剪性,可有选择地使用需要的系统服务,以减少所需的存储空间。
(5)占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务。
(6)多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法。
(7)可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少。
(8)实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。
由于µ C/OS-Ⅱ仅是一个实时内核,这就意味着它不像其他实时操作系统那样提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。
9.6嵌入式操作系统的发展趋势
目前,各种嵌入式Linux操作系统正迅速发展,已经形成了能与WindowsCE等嵌入式操作系统进行有力竞争的局面。嵌入式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年全年服装供应协议
- 2024年外墙保温材料采购合同
- 2024年工厂围墙加固协议
- 2024年企业用工派遣协议标准文本
- 物业垃圾分类处理协议
- 2024年个人与公司垫资合同
- 2024年工程保险与安全服务合同
- 2024年家教联盟合同样本
- 劳务派遣协议法律责任规定
- 品牌授权分成合作协议
- 2024年统编版小学六年级《道德与法治》上册第四单元 法律保护我们健康成长 9.《知法守法 依法维权》 第一课时 课件
- 信息技术与学科教学融合课教学设计表
- 期中测试卷-2024-2025学年语文六年级上册统编版
- 【对民法中正当防卫的思考(论文)6800字】
- 喷涂设备租用合同模板
- 终极战略规划指南:深度剖析Cross SWOT分析、市场洞察与内部能力优化的综合行动方案
- 中国偏头痛诊治指南(第一版)2023解读
- 混凝土结构施工图平面整体表示方法制图规则和详图
- 2021至2024年广东新高考化学真题考点分布试题及答案
- 2024广东深圳市部分事业单位公开招聘300人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 7《小书包》教学设计-2024-2025学年统编版语文一年级上册
评论
0/150
提交评论