您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 第12章 嵌入式操作系统
EmbeddedSystems嵌入式操作系统EmbeddedSystems嵌入式操作系统•操作系统的基本知识•嵌入式操作系统概述•实时嵌入式操作系统–实时系统–实时嵌入式系统–嵌入式实时操作系统–嵌入式实时操作系统举例•主流嵌入式操作系统•嵌入式操作系统的发展EmbeddedSystems操作系统的基本知识——定义•操作系统(OperatingSystem,简称OS)传统上是负责对计算机硬件直接控制及管理的系统软件。•所谓操作系统就是能有效地管理计算机系统中的各种硬件\软件资源、合理的组织计算机的工作流程,从而为程序员\操作员和各类用户创造良好的工作环境的系统软件.EmbeddedSystems操作系统的基本知识——组成•进程调度——对CPU的使用进行管理•内存管理——对内存的分配进行管理•设备驱动——对输入输出设备进行管理•文件系统——对外存中信息进行管理•当多个程序同时运行时,按一定策略对程序进行调度控制,操作系统负责规划以优化每个程序的处理时间。EmbeddedSystems嵌入式操作系统•操作系统的基本知识•嵌入式操作系统概述•实时嵌入式操作系统–实时系统–实时嵌入式系统–嵌入式实时操作系统–嵌入式实时操作系统举例•主流嵌入式操作系统•嵌入式操作系统的发展EmbeddedSystems嵌入式操作系统概述•嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。•与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EmbeddedSystems嵌入式操作系统概述•嵌入式操作系统——组成:–对嵌入式处理器的管理——进程管理–对嵌入式内存的管理——内存管理–对外存上的信息进行管理——文件系统–对嵌入式系统外设进行管理——设备管理–为上层应用提供良好的用户接口——通信协议、图形界面、浏览器、调试工具等。EmbeddedSystems软件EOS调试工具音频、视频、GPS导航等应用硬件浏览器通信协议图形界面设备管理文件管理内存管理进程管理外设(键盘、触摸屏、摄像头)外存(闪存、SD卡)内存(RAM、SDRAM)嵌入式处理器(ARM、MIPS)EmbeddedSystems嵌入式操作系统概述•嵌入式操作系统——特点:可装卸性,开放性、可伸缩性的体系结构实时性,EOS实时性一般较强,可用于各种设备控制统一的接口,提供各种设备驱动接口操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口强稳定性,弱交互性固化代码EmbeddedSystems嵌入式操作系统概述•嵌入式操作系统——分类:–按实时性划分,嵌入式操作系统可以分为实时操作系统和非实时操作系统:•面向控制、通信等领域的实时操作系统:如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI公司的Nucleus等;•面向消费电子产品的非实时操作系统:这类操作系统通常用于个人数字助理PDA、移动电话、机顶盒、电子书等,如微软面向手机应用的操作系统WindowsMobile、开源操作系统EmbeddedLinux等。EmbeddedSystems嵌入式操作系统概述•嵌入式操作系统——分类:–按收费模式划分,嵌入式操作系统可分为商用型和免费型:•商用型:如美国WindRiver公司的VxWorks,ATI公司的Nucleux,3Com公司的PlamOS,手机操作系统Symbian,Microsoft公司的WinCE,WindowsMobile,QNX公司的QNX,ISI的pSOS,Lynx实时系统公司的LynxOS,“女娲”Hopen,道系统DeltaOS,μC/OS-II等。•免费型:EmbeddedLinux,μCLinux,eCos等。EmbeddedSystems嵌入式操作系统•操作系统的基本知识•嵌入式操作系统概述•实时嵌入式操作系统–实时系统–实时嵌入式系统–嵌入式实时操作系统–嵌入式实时操作系统举例•主流嵌入式操作系统•嵌入式操作系统的发展EmbeddedSystems实时系统•实时系统–从外部激励输入到系统响应输出的时间,能满足所规定的响应时间要求–如果逻辑和时序出现偏差将会引起严重后果–不仅要执行无误而且要做到准时•实时系统主要有两种类型:软实时系统和硬实时系统。–软实时系统仅要求事件响应是实时的,并不限定某一任务必须在多长时间内完成,即使某一任务错过时间限也不会造成严重的后果,比如视频播放,如果没有在规定的时间内完成数据帧的解压,所带来的后果只是视频质量的降低,并不会造成严重的后果;–而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内必须完成事件的处理,如果没有完成将会造成严重的后果,比如汽车里的安全气囊系统,如果在汽车发生碰撞时,安全气囊没有在规定的时间内打开,那么将会造成严重的后果。通常,大多数实时系统是两者的结合。EmbeddedSystems实时嵌入式系统•实时嵌入式系统是实时系统和嵌入式系统的交集,既具有嵌入式系统的特点,也具有实时系统的特点实时系统嵌入式系统实时嵌入式系统EmbeddedSystems•“areal-timeembeddedsystemisoneinwhichthecorrectnessofcomputationnotonlydependsontheirlogicalcorrectness,butonthetimeatwhichtheresultisproduced。”•——实时嵌入式系统是指不仅要执行无误而且要做到准时的嵌入式系统。EmbeddedSystems嵌入式实时操作系统•实时嵌入式系统中,要求操作系统必须是实时操作系统,将这类操作系统称为嵌入式实时操作系统。•在嵌入式实时操作系统设计中,关键是如何保证系统的实时性。实时嵌入式系统最大的特点是具有一组动态属性,如中断处理和上下文切换、响应时间、资源分配、优先级处理、任务同步以及任务通信等,要测试或验证这些属性(特别是时间确认)是很困难的,通常需要建模、仿真以及数学工具的支持,因此这些特点导致了实时软件的设计、分析与测试技术成为实时嵌入式系统中热点研究问题之一。EmbeddedSystems•通常,影响嵌入式实时操作系统实时性的主要因素表现在内核的可剥夺性、任务调度策略的选择、中断延迟等几个方面•内核是否是可剥夺的•任务调度策略•中断延迟EmbeddedSystems内核是否可剥夺•不可剥夺型内核(non-preemptivekernel):该内核要求当某任务运行在内核态时,即使有高优先级任务在就绪态等待,也不可抢占CPU运行,直到该任务主动放弃CPU使用权,高优先级任务才能获得CPU的使用权。•可剥夺型内核(preemptivekernel):该内核规定即使有低优先级任务运行在内核态,如果这时一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,高优先级的任务立刻得到了CPU的控制权。EmbeddedSystems任务调度策略•基于优先级的抢占式调度策略–静态优先级–动态优先级–基于优先级的抢占式调度算法–基于优先级抢占调度的扩充时间轮转调度策略•时间驱动调度算法EmbeddedSystems静态优先级•例4-1:假设系统中存在三个任务,其属性如下:•给出使用RMS算法的任务调度图。111222333:2,10:2,15:10,30cTcTcTEmbeddedSystemsEmbeddedSystems动态优先级•例4-3:假设系统中存在三个任务,其属性如下:•给出使用EDF算法的任务调度图。111122223333:2,6,6:2,8,8:4,11,11cdTcdTcdTEmbeddedSystemsEmbeddedSystems基于优先级的抢占式调度算法Task1Task2Task3Task1Task2高时间低任务优先级抢占任务完成EmbeddedSystems基于优先级抢占调度的扩充时间轮转调度策略Task1Task2Task3Task4Task1高时间低任务优先级抢占任务完成Task2时间片EmbeddedSystems中断延迟•中断延迟是指从一个外部事件发生到相应的中断处理函数的第一条指令开始执行所需要的时间。很多实时任务是靠中断驱动的,而且中断事件必须在限定的时限内处理,否则将产生灾难性后果,因此中断延迟对于实时系统来说,是一个非常重要的指标。关中断的时间越长,中断延迟就越长。在嵌入式实时操作系统中,要求中断被屏蔽的时间尽可能的短,中断处理时间尽可能短,从而保证实时任务的时间限。•中断延迟=关中断的最长时间+开始执行中断服务子程序的第一条指令的时间EmbeddedSystemsReal-TimeEmbeddedSystemsEmbeddedSystems嵌入式操作系统•操作系统的基本知识•嵌入式操作系统概述•实时嵌入式操作系统–实时系统–实时嵌入式系统–嵌入式实时操作系统–嵌入式实时操作系统举例•主流嵌入式操作系统•嵌入式操作系统的发展EmbeddedSystems主流嵌入式操作系统•WinCE•Linux•Palm•VxWorks•μCOS•……EmbeddedSystems主流嵌入式操作系统——WinCE•WindowsCE是微软开发的一个开放的、可升级的32位嵌入式操作系统。CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)、伴侣(Companion);而E则代表电子产品(Electronics)EmbeddedSystems主流嵌入式操作系统——Linux•Linux是一个类似于Unix的操作系统。它起源于芬兰一个名为LinusTorvalds的业余爱好者,是目前最为流行的一款开放源代码的操作系统。目前正在开发的嵌入式系统中,有近一半的项目的项目选择Linux作为嵌入式操作系统。EmbeddedSystems主流嵌入式操作系统——Palm•Palm是3Com公司的产品,其操作系统为PalmOS。PalmOS是一种32位的嵌入式操作系统。Palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据;拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。EmbeddedSystems主流嵌入式操作系统——VxWorks•VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它适用方面广、适用性强且可靠性高,具有多达1800个功能强大的应用程序接口(API),可以用于所有的流行的CPU平台。美国火星探测器所使用的嵌入式实时操作系统就是VxWorks。EmbeddedSystems主流嵌入式操作系统——μC/OS•μC/OS-II是JeanJ.Labrosse开发的一个高度可移植的实时操作系统。世界上已有数千人在各个领域使用μC/OS,例如,照相机行业、医疗器械、音响设施、发动机控制、网络设备、高速公路电话系统、自动提款机、工业机器人等等。很多高等院校将μC/OS用于实时系统教学。EmbeddedSystemsμC/OS-II的故事设计基于Intel80C188的产品JeanJ.Labrosse使用B内核A内核太贵使用A内核出现故障签维护合同问题解决产品开发耽误开发μcos杂志投稿,代码开源CUser’sJournalEmbeddedSystemProgramming写书2个月后3个月后担保期已过6个月后大量下载广泛使用EmbeddedSystems主流嵌入式操作系统——Symbian•Symbian公司是由摩托罗拉、西门子、诺基亚
本文标题:第12章 嵌入式操作系统
链接地址:https://www.777doc.com/doc-3178366 .html