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