嵌入式操作系统基础ppt.ppt
嵌入式操作系统基础,学习目标,了解嵌入式操作系统的发展掌握在嵌入式系统中使用操作系统的必要性熟悉选择嵌入式操作系统遵循的原则了解常见嵌入式操作系统的特点,什么是嵌入式操作系统,为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、任务调度等功能的软件模块,这就是嵌入式操作系统。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括:与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器。,嵌入式操作系统的特点,嵌入式操作系统具备通用操作系统的基本特点:能够有效管理复杂的系统资源能够对硬件进行抽象能够提供库函数、驱动程序、开发工具集等与通用操作系统相比较,嵌入式操作系统独特之处:系统实时性硬件依赖性软件固化性应用专用性可裁剪性,嵌入式操作系统发展的四个阶段,无操作系统的嵌入算法阶段以单芯片为核心的可编程控制器形式,同时具有与监测、伺服、指示设备相配合的功能。主要用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点:系统结构和功能都相对单一处理效率较低,存储容量较小几乎没有用户接口,嵌入式操作系统发展的四个阶段,以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系统这一阶段系统的主要特点:CPU 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。,嵌入式操作系统发展的四个阶段,通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统这一阶段系统的主要特点:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。,嵌入式操作系统发展的四个阶段,以基于 Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。随着 Internet 的发展以及 Internet 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。,嵌入式操作系统发展,从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。,嵌入式操作系统技术现状,适应不同的嵌入式硬件平台,具有可移植、可伸缩能力。采用的主要技术:编程语言普遍采用高级语言实现,主要以C语言为主。体系结构采用分层和模块化结构或微内核结构。,嵌入式操作系统技术现状,从分层和模块化结构,将操作系统分为:硬件无关层硬件抽象层硬件相关层每层再划分功能模块移植工作集中在硬件相关层,与其余两层无关功能的伸缩集中在模块上,从而确保了系统具有良好的可移植性和可伸缩性。,嵌入式操作系统技术现状,功能复杂,具有可剪裁、可配置的能力 采用的主要技术:可剪裁技术。操作系统以内核为中心,包括很多独立的功能组件如文件、网络等。除内核外其他组件的选择任意搭配,由应用决定。可配置技术。每个功能组件都可以根据应用的要求进行配置,比如最大任务数、内存地址、堆栈大小、系统任务的优先级、缓冲区大小及文件数等。,嵌入式操作系统技术现状,良好的实时性。时间确定性是嵌入式实时操作系统必备的特点,特别对于强实时嵌入式系统而言尤为重要。采用的主要技术:采用实时调度算法。主要采用静态优先级的可抢占式调度、比率单调算法等。采用内存静态分配策略和零拷贝技术保证确定性。内存管理不采用虚存管理机制采用优先级继承和优先级天花板两种技术解决优先级反转(倒置)问题,嵌入式操作系统技术现状,可靠性和高可用 采用的主要技术:利用存储管理单元(MMU)、用户态和核心态机制,实现操作系统与应用程序的隔离,以及应用程序和应用程序之间的隔离,以防止应用程序破坏操作系统的代码、数据。,嵌入式操作系统的发展趋势,体系结构向微内核方向发展可伸缩、可移植、可剪裁、可配置行业的标准:多种操作系统平台,应用决定操作系统结构紧凑、功能强大高可用(High Available)、高可靠(High Reliable)、支持多处理器和分布式计算可动态加载和升级软件与开发工具有机的结合起来,使用嵌入式操作系统的必要性,嵌人式实时操作系统提高了系统的可靠性。系统不崩溃,有自愈能力提高了开发效率,缩短了开发周期。任务分解为多个模块。每个模块的调试、修改几乎不影响其他模块,支持多任务调试环境。嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。32位CPU是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32位CPU采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。,嵌入式系统的分类,从应用角度分:通用型嵌入式操作系统LinuxVxWorksWindows CE专用型嵌入式操作系统Smart PhonePocket PCSymbian,嵌入式系统的分类,从实时性分非实时系统(面对消费类电子产品)微软面向手机应用的Smart Phone操作系统实时操作系统(控制、通信领域)WindRiver公司的VxWorksQNX系统软件公司的QNX,嵌入式操作系统选型原则,产品研发时间:嵌入式操作系统的选择与产品研发时间密切相关。可移植性:进行嵌入式软件开发时,可移植性是要重点考虑的问题之一。好的软件移植性好,可以在不同平台、不同系统上运行,跟操作系统无关。系统定制能力:用户的需求是千差万别的,硬件平台也都不一样,所以对系统的定制能力要求高。成本 中文内核支持,C/OS-II简介,美国嵌入式系统专家Jean J.Labrosse用C语言编写的一个公开源代码、结构小巧、抢占式的多任务实时内核。C/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。可运行在航天器等对安全级别要求较高的系统上。,Clinux,一种优秀的嵌入式Linux版本,全称为micro-control Linux。同标准的Linux相比,Clinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。,VxWorks,美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是Tornado嵌入式开发环境的关键组成部分。具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。在美国的 F16、FA18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。,Windows CE,微软公司嵌入式、移动计算平台的基础,是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,Windows CE的图形用户界面相当出色。C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivit)和伴侣(Companion);E代表电子产品(Electronics)。Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。,SymbianOS,由摩托罗拉、西门子、诺基亚等几家大型移动通讯设备制造商共同出资组建的一个合资公司,专门研发手机操作系统。Symbian操作系统在智能移动终端上拥有强大的应用程序及通信处理能力,这都要归功于它有一个非常健全的核心:强大的对象导向系统、企业用标准通信传输协议,以及完美的SUN Java语言支持。Symbian操作系统提供了灵活的应用界面(UI)框架,小但使开发者得以快速掌握必要的技术,同时还使手机制造商能够推出不同界面的产品。,Android,指“机器人”,是Google开发的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度。与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,可节省近三成成本。Android应用开发是基于java的,底层是linux的。,iPhone OS,苹果公司为iPhone开发的操作系统。主要是给iPhone和iPod touch使用。就像其基于的Mac OS X操作系统一样,也是以Darwin为基础的。iPhone OS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概512MB的存储空间。,总结反思,当今流行的嵌入式操作系统有哪些?在嵌入式系统中为什么要用操作系统?如何选择嵌入式操作系统?,