260 likes | 368 Views
嵌入式操作系统. 成都研究所操作系统团队. 嵌入式操作系统简介 嵌入式操作系统分类 典型的嵌入式实时操作系统介绍. 目录. 什么是嵌入式操作系统. 为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、任务调度等功能的软件模块,这就是 嵌入式操作系统 。 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统 ) 极为重要的组成部分,通常包括 与硬件相关的底层驱动软件 系统内核 设备驱动接口 通信协议 图形界面. 嵌入式操作系统特点. 嵌入式操作系统具有通用操作系统的基本特点
E N D
嵌入式操作系统 成都研究所操作系统团队
嵌入式操作系统简介 嵌入式操作系统分类 典型的嵌入式实时操作系统介绍 目录
什么是嵌入式操作系统 • 为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、任务调度等功能的软件模块,这就是嵌入式操作系统。 • 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统 ) 极为重要的组成部分,通常包括 • 与硬件相关的底层驱动软件 • 系统内核 • 设备驱动接口 • 通信协议 • 图形界面
嵌入式操作系统特点 • 嵌入式操作系统具有通用操作系统的基本特点 • 能够有效管理复杂的系统资源 • 能够对硬件进行抽象 • 能够提供库函数、驱动程序、开发工具集等 • 与通用操作系统相比较,嵌入式操作系统独特之处 • 系统实时性 • 硬件依赖性 • 软件固化性 • 应用专用性 • 可裁剪性
嵌入式操作系统的四个阶(1) • 第一阶段是无操作系统的嵌入算法阶段, • 以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。 • 大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。 • 这一阶段系统的主要特点是 • 系统结构和功能都相对单一 • 处理效率较低,存储容量较小 • 几乎没有用户接口
嵌入式操作系统的四个阶段(2) • 第二阶段是以嵌入式 CPU 为基础、以简单操作系统为核心的嵌入式系统。 • 这一阶段系统的主要特点是: • CPU 种类繁多,通用性比较差; • 系统开销小, 效率高; • 一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
嵌入式操作系统的四个阶段(3) • 第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。 • 这一阶段系统的主要特点是 • 嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好; • 操作系统内核精小、效率高,并且具有高度的模块化和扩展性; • 具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能; • 具有大量的应用程序接口 (API) ,开发应用程序简单; • 嵌入式应用软件丰富。
嵌入式操作系统的四个阶段(4) • 第四阶段是以基于 Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。 • 目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。
嵌入式操作系统简介 嵌入式操作系统分类 典型的嵌入式实时操作系统介绍 目录
嵌入式系统的分类 • 从应用角度分 • 通用型嵌入式操作系统 • Linux • VxWorks • Windows CE • 专用型嵌入式操作系统 • Smart Phone • Pocket PC • Symbian
嵌入式系统的分类 • 从实时性分 • 非实时系统(面对消费类电子产品) • 微软面向手机应用的Smart Phone操作系统 • 实时操作系统(控制、通信领域) • WindRiver公司的VxWorks • QNX系统软件公司的QNX
实时性简介 • 实时性的定义 • POSIX 1003.b作了这样的定义:指系统能够在限定的响应时间内提供所需水平的服务 • 实时系统根据其对于实时性要求的不同,可以分为软实时和硬实时两种类型 • 一个计算机系统为了提供对于实时性的支持,它的操作系统必须对于CPU和其他资源进行有效的调度和管理,即实时调度
实时性的衡量指标—中断延迟 • 中断延迟(Interrupt Latency) • 中断不可嵌套 • Linux的Bottom Half • 中断可嵌套:优先级中断 • 大多微处理器不支持; • Linux不支持; • UNIX支持 • 与指令集有关 • DMA操作有关 • 保证系统调用的原子性有关
实时性的衡量指标—调度延迟 • 调度延迟(Scheduling Latency) • 中断处理程序 进程处理 • 一般调度算法(Round Robin)不能及时选中 • 基于优先级调度算法,一般能及时选中 • 如果目标进程优先级低呢? • 可剥夺调度和不可剥夺调度 • Linux是属于什么调度? • Linux既不是完全的可剥夺,也不是完全的不可剥夺
实时性的衡量指标—上下文切换延迟 • 上下文切换延迟(Context Switch Latency) • 大小取决于CPU和操作系统 • 采用MMU > 不采用MMU
实时调度的分类 • 各种实时操作系统的实时调度算法从调度策略上可以分为如下三种类别: • 基于优先级的调度算法(Priority-driven scheduling-PD) • 基于CPU使用比例的共享式的调度算法(Share-driven scheduling-SD) • 基于时间的进程调度算法(Time-driven scheduling-TD) • 从调度方式上来讲可以分为: • 可抢占 • 不可抢占 • 从时间片来分: • 固定时间片 • 可变时间片
嵌入式操作系统简介 嵌入式操作系统分类 典型的嵌入式实时操作系统介绍 目录
uCOS-II—基本信息 • 开发平台 • 支持的处理器 • 支持编译器 • 标准 • 网络资源
uCOS-II—优点 • 可移植性 • 可固化 • 可剪裁 • 可剥夺性 • 多任务 • 可确定性 • 任务栈 • 系统服务 • 中断管理 • 稳定性与可靠性
Tornado/VxWorks • 开发平台 • Windows NT, Sun Solaris, SunOS, HP-UX, Win95 • 支持的处理器 • x86, 68k, PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS • 支持的编译器 • Gnu C & C++, Ada, 汇编, Java • 标准 • POSIX.1b, Unix • 网络资源
winCE • 开发平台 • Pocket PC 2002、Pocket PC 2000、Palm-size PC、HPC • 支持的处理器 • ARM 、MIPS 、PPC 、SH 、X86 • 支持编译器 • 标准 • 网络资源
Linux系列 • 以体积裁剪为追求目标的发布版本 • ucLinux • 面向不支持MMU的硬件平台,目前支持Motorola 68K, MCF5 206, and MCF5207 ColdFire microprocessors. • RTLinux • 由New Mexico Institute of Technology最早开发的硬实时Linux API • 其他的(ETLinux、LEM、LOAF、uLinux、ThinLinux、EL/IX、Linux—SRT)
Linux系列 • 面向应用的软件包 • FirePlug Linux • Linux Router Project • PizzaBox Linux
Linux系列 • 嵌入式系统解决方案提供商 • Lineo:"Embedix" (http://www.lineo.com/) • MontaVista:"Hard Hat Linux" (http://www.mvista.com/) • PROSA:"ETLinux" (http://www.prosa.it/) • Zentropix:"RealTime Linux" • (http://www.zentropix.com/) • Lynx:"Blue Cat Linux" (http://www.bluecat.com/) • FSMLabs: "RTLinux" (http://www.fsmlabs.com/) • Coollogic:"ON-Channel" (http://www.coollogic.com/) • ISDCorp:"Royal Linux" (http://www.isdcorp.com/)
Linux系列 • 其他操作系统 • Irmax • nuclears