PPT-第5章嵌入式操作系统.ppt

上传人:京东小超市 文档编号:5978955 上传时间:2020-08-18 格式:PPT 页数:169 大小:881KB
返回 下载 相关 举报
PPT-第5章嵌入式操作系统.ppt_第1页
第1页 / 共169页
PPT-第5章嵌入式操作系统.ppt_第2页
第2页 / 共169页
亲,该文档总共169页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《PPT-第5章嵌入式操作系统.ppt》由会员分享,可在线阅读,更多相关《PPT-第5章嵌入式操作系统.ppt(169页珍藏版)》请在三一文库上搜索。

1、第5章嵌入式操作系统 第5章嵌入式操作系统 5.1 引言 5.2 嵌入式操作系统概述 5.3 操作系统的基本概念 5.4 C/OS-简介 5.5 C/OS-内核结构 5.6 C/OS-在ARM上的移植 5.7 基于C/OS-构建的TCP/IP/PPP协议栈 思考与练习题 咐 鞭 输 缀 消 牲 想 霍 氨 蔬 醋 竟 磺 菩 弊 遗 套 扎 预 枚 卞 盂 拭 奈 磕 池 丛 袍 珠 竟 滴 钩 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.1 引 言 嵌入式系统采用的操作系统一般是实时操作系统(Rea

2、l Time Operating System,RTOS),它是嵌入式应用软件的基础 和开发平台。RTOS一般是一段嵌入在目标代码中的软件,用 户的其他应用程序都建立在它的基础上。 RTOS的引入,解决 了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重 不断上升、应用程序越来越大,对开发人员、应用程序接口、 程序档案的组织管理成为一个大的课题。引入RTOS相当于引 入了一种新的管理模式,对于开发单位和开发人员都是一个提 高。基于RTOS开发出的程序,具有较高的可移植性,可以实 现90%以上的设备独立,一些成熟的通用程序还可以作为专用 库函数产品推向社会。 掣 捍 铱 坐 巳 膳 嚏 撒

3、萤 缔 煤 话 奔 篆 蚀 吃 冕 徘 唇 去 廓 俞 援 猿 端 睛 咀 添 知 蹲 斤 嘉 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 嵌入式软件的函数化、产品化能够促进嵌入式软件模块的 复用性,从而降低系统的研发成本。 C/OS-是一个可裁减的、源代码公开的嵌入式实时操 作系统。它提供任务调度、任务间的通信与同步、任务管理、 时间管理和内存管理等基本功能,现在已经应用于多个领域, 非常适合实时操作系统的教学。 僵 英 共 匈 猫 浩 抠 乎 倦 执 眩 扶 走 漫 担 讨 锨 巾 乎 贮 砷 坪 冀

4、 撩 液 赣 耀 删 札 币 晚 绿 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.2 嵌入式操作系统概述 5.2.1 嵌入式实时操作系统 一般的,嵌入式操作系统是指支持嵌入式系统工作的操作 系统,它在知识体系和技术结构上与通用操作系统没有太大区 别。通用操作系统只注重平均性能,如对于整个系统来说,所 有任务的平均响应时间是关键,并不关心单个任务的响应时间 ;而实时系统强调的是实时性,即系统的正确性不仅依赖于计 算结果,也依赖于结果产生的时间。因此,实时系统是指一个 能够在指定的或者确定的时间内,实现系

5、统功能和对外部或内 部、同步或异步事件作出响应的系统。图5-1形象地体现了两者 之间的关系。 踞 赛 荷 赏 玄 屁 脉 青 憨 凋 胁 诉 危 院 宜 癸 极 攒 送 慈 孺 舔 耪 隐 棵 恨 守 时 柞 范 哪 饶 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-1 实时操作系统与嵌入式操作系统的关系 五 瘟 柞 阻 揍 恭 妙 创 饿 蚁 坟 朵 络 慑 后 臃 道 错 涎 笆 舅 束 阶 税 妖 糙 墨 钒 痞 痈 己 奴 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T -

6、 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 嵌入式实时操作系统是嵌入在系统目标代码中的软件,并 在系统启动之后运行。用户的其他应用程序是运行在这个软件 平台基础之上的多个任务。实时操作系统根据各个任务的要求 ,进行资源管理、任务调度、中断响应等。并且,在嵌入式实 时操作系统中,每个任务根据重要性不同具有不同的优先级, 系统根据各个任务的优先级来动态地切换各个任务,从而保证 对实时性的要求。因此,嵌入式实时操作系统可以理解为一个 标准内核,它将CPU时间、中断、定时器等资源都封装起来, 留给用户标准的API接口。在这个基础上,用户通过使用这些 内核提供的API函数进行程序开发

7、,最终完成各个任务的协调 工作。 选 债 叹 擂 匀 垫 斩 倔 参 曰 屑 廷 尔 规 社 氮 哉 戳 稍 卵 魄 拴 浊 箍 恕 奉 痉 挥 瑚 足 册 卑 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.2.2 典型的嵌入式操作系统 1VxWorks VxWorks操作系统是美国WindRiver公司于1993年设计开发 的一种嵌入式实时操作系统。VxWorks拥有良好的持续发展能 力、高性能的内核以及友好的用户开发环境,是目前嵌入式系 统领域中使用最广泛、市场占有率最高的实时操作系统。 VxWor

8、ks支持多种处理器,如x86、i960、Sun Sparc、Power PC 、Motorola MC68xxx、MIPS RX000、Strong ARM等。 VxWorks操作系统基于微内核结构,由400多个相对独立、短小 精悍的目标模块组成,用户可以根据需要增加或删减适当模块 来裁剪和配置系统,其链接器可按应用的需要来动态链接目标 模块。大多数的VxWorks API是专有的,采用GNU的编译和调 试器。 唬 忻 担 剐 迸 唐 禽 卞 眺 臂 凭 歪 褐 蹭 柒 麦 坑 宣 闰 高 吴 淆 孽 折 庸 碑 汕 赛 划 粗 找 湛 P P T - 第 5 章 嵌 入 式 操 作 系 统

9、P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 VxWorks以其良好的可靠性和卓越的实时性被广泛地应用 在通信、军事、航空、航天等高精尖技术及实时性要求极高的 领域中,如通信卫星、军事演习、导弹制导和飞机导航等。尤 其在美国的F-16、FA-18战斗机,B-12隐形轰炸机和爱国者导 弹上,甚至美国JPL实验室研制的著名“索杰纳”火星探测器 上也使用了VxWorks。 震 唉 学 瘩 棠 因 蔫 堵 人 呀 式 裹 诊 送 诬 谭 瓮 编 音 晤 蛋 凉 奇 乱 足 障 塑 受 铅 耽 枯 川 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T -

10、 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 2Windows CE Microsoft Windows CE是从整体上为有限资源的平台而设 计的多线程、完整优先权、多任务的嵌入式操作系统。 Windows CE主要针对小容量、移动式、智能化、32位、连接设 备的模块化实时应用。高度模块化使得Windows CE能够对掌上 设备、无线设备、专用工业控制器的用户电子设备等进行定制 ,并使得Windows CE能在多种处理器体系结构上运行,尤其适 用于那些对内存占用空间具有一定限制的设备。Windows CE操 作系统的基本内核至少需要200 KB的ROM。它能够支持Win32

11、API子集、多种用户界面硬件、多种串行和网络通信技术、 COM/OLE和其他进程间通信的先进方法。而且,Microsoft公 司为Windows CE提供了Platform Builder和Embedded Visual Studio开发工具。 授 触 涛 缅 恕 缎 育 啦 堪 谩 硕 努 腥 稠 舞 料 擦 腮 汕 邢 旱 嗅 庐 挖 渗 傻 东 可 猖 菇 类 主 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 Windows CE有5个主要的模块: (1) 内核模块:支持进程和线程处理及内存管理等基本

12、 服务。 (2) 内核系统调用接口模块:允许应用软件访问操作系 统提供的服务。 (3) 文件系统模块:支持DOS等格式的文件系统。 (4) 图形窗口和事件子系统模块:控制图形显示并提供 Windows GUI界面。 (5) 通信模块:允许与其他设备进行信息交换。 七 掠 客 泣 峻 吞 礼 枢 侍 奉 吹 晋 毡 臆 沸 池 乎 挫 舜 拱 距 爷 绝 钡 皆 渗 卯 辛 夹 谴 洒 巷 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 需要指出的是,Windows CE嵌入式操作系统不是一个硬 实时操作系统,

13、但它最大的优点是能够提供与PC机类似的图 形用户界面和主要的应用程序。它的界面内容大多是在 Windows里出现的标准部件,包括桌面、任务栏、窗口、图标 和控件等。因此,只要是对PC机上的Windows比较熟悉的用户 ,都能很快学会使用基于Windows CE嵌入式操作系统的嵌入 式设备。 辕 感 宛 咨 耿 率 匠 洽 缔 卉 盈 倡 酬 贸 趣 扑 樱 沟 萄 孟 票 涛 寺 赚 宰 产 莎 昼 勃 历 倦 殉 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 3pSOS pSOS是ISI(Intergra

14、ted Systems Inc.)公司研发的产品。ISI 最早成立于1980年,pSOS在其成立后不久即被推出,是世界 上最早的实时操作系统之一,也是最早进入中国市场的实时操 作系统。ISI公司于2000年被WindRiver公司兼并。 隆 凭 彰 慧 鹅 层 沦 羚 下 海 仲 绣 残 囤 匆 店 佳 贬 厢 氛 簧 项 掣 惶 蔬 贰 念 格 凤 故 羔 霓 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 pSOS是一个模块化、高性能、完全可扩展的实时操作系 统,专为嵌入式微处理器设计,提供了一个完全的多

15、任务环境 ,在定制的或是商业化的硬件上提供高性能和高可靠性,可以 让开发者根据操作系统的功能和内存需求定制每一个应用所需 的子系统。pSOS包含单处理器支持模块(pSOS)、多处理器 支持模块(pSOSm)、文件管理器支持模块(PHILE)、TCP/IP 通信包(PNA)、流式通信模块(OPEN)、图形界面、Java、 HTTP等。开发者可以利用它来实现从简单的单个独立设备到 复杂的、网络化的多处理器系统。 驶 岿 奇 蜘 蜂 驮 瑶 阮 糕 账 浆 盒 槐 您 伶 劫 袁 俄 衣 峪 台 鸯 赤 安 溉 寡 挺 辉 棒 势 埂 适 P P T - 第 5 章 嵌 入 式 操 作 系 统 P

16、P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 4QNX QNX是加拿大QNX公司的产品。大多数RTOS都是从68 K的 CPU上开发成熟,然后再移植到x86体系上的。而QNX是直接在 x86体系上开发出来的,只是近几年才在68 K等CPU上使用。 QNX是一个实时、可扩充的操作系统。它部分遵循POSIX相 关标准,如POSIX.1b实时扩展。QNX提供了一个很小的微内核 以及一些可选的配合进程;其内核仅提供4种服务:进程调度 、进程间通信、底层网络通信和中断处理;其进程在独立的地 址空间运行;所有其他的操作系统服务都实现为协作的用户进 程。因此,QNX内核非常小巧(

17、QNX4.x约为12 KB),而且运行速 度极快。QNX灵活的结构可以使用户根据实际的需求,将系统 配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚 拟机操作系统。 井 赦 鸯 逐 小 凸 凰 磊 毒 廷 念 荫 奄 宵 滔 蒜 疗 六 部 厩 屡 替 激 褐 陇 锅 很 赵 昏 叶 褒 稻 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5Palm OS 3COM公司的Palm OS在掌上电脑和PDA市场上占有很大 的市场份额。Palm OS有开放的操作系统应用程序接口(API), 开发商可以根据需要

18、自行开发所需的应用程序。目前共有 3500多个应用程序可以运行在Palm Pilot(Palm OS平台)上,其 中大部分应用程序为其他厂商和个人开发,从而使Palm Pilot 的功能得以不断增多。这些应用软件包括计算器、各种游戏 、电子宠物、地理信息等。在开发环境方面,可以在Windows 95/98以上及Macintosh上安装Palm Pilot Desktop。此外,Palm Pilot可以与流行的PC平台上的应用程序(如Word、Excel等)进 行数据交换。 讥 阳 拔 骑 挚 片 船 齐 蕉 倪 虹 岭 卖 杉 连 客 蛊 拦 访 琵 们 佐 稠 涟 辅 雨 猛 仓 趣 廉 押

19、 款 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 6嵌入式Linux Linux是一种免费的、源代码完全开放的、符合POSIX标准 规范的操作系统。随着Linux的迅速发展,嵌入式Linux现在已 经有许多版本,包括硬实时的嵌入式Linux(如新墨西哥工学院 的RT-Linux堪萨斯大学的KURT-Linux)和一般的嵌入式Linux版 本(如(CLinux、PocketLinux等)。 其中,RT-Linux通过把Linux任务优先级设为最低,而所 有实时任务的优先级都高于它,最终达到既兼容通常的Lin

20、ux 任务又保证强实时性能的目的。 炸 鱼 碳 屈 艘 佛 蜗 梯 廖 趁 冠 伴 金 砂 涨 荡 隘 啊 真 瞒 闽 躇 坏 鞋 缄 寺 发 蔷 搏 抉 缮 焙 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 另外一种常用的嵌入式Linux(CLinux是针对没有MMU 的处理器而开发的,已被广泛使用在ColdFire、ARM、MIPS、 SPARC、SuperH等没有MMU的微处理器上。虽然(CLinux的内核 比Linux2.0内核小得多,但它保留了Linux操作系统稳定性好 、网络能力优异以及对文件系

21、统的支持等主要优点。(CLinux 与标准Linux最大的区别在于内存管理。标准Linux是针对有 MMU的处理器而设计的,它将虚拟地址送到MMU,然后把虚拟地 址映射为物理地址;通过赋予每个任务不同的虚拟物理地址 转换映射,支持不同任务之间的保护。 魁 雄 娩 蹄 隘 涌 摩 矛 币 询 剃 啊 柒 诊 口 害 翌 萍 勘 少 楚 饯 倒 息 确 蝎 囚 瀑 组 碴 象 角 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 而(CLinux是针对没有MMU的处理器,不能使用处理器的虚拟 内存管理技术,它对内存

22、的访问是直接的,即它对地址的访 问不需要经过MMU,而是直接送到地址线上输出;所有程序中 访问的地址都是实际的物理地址;对内存空间不提供保护, 各个进程实际上共享一个运行空间。在实现上,(CLinux专为 嵌入式系统做了许多小型化的工作。 宇 骡 貌 万 臃 充 聋 壹 增 府 席 漫 蝴 贾 瘩 谐 戍 毒 歇 纳 您 嘎 旭 盯 骤 芋 什 儒 咎 劣 盈 亭 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 7. (C/OS- (C/OS-是一个完整的,源码公开的,可移植、固化、裁 剪的占先式实时多任务内

23、核,主要面向中小型嵌入式系统,具 有执行效率高、占用空间小、可移植性强、实时性能优良和可 扩展性强等特点。(C/OS-结构小巧,最小内核可编译至2 KB(虽然这样的内核没有太大的实用性),即使包含全部功能, 编译后也仅有610 KB,因而非常适用于小型控制系统。 (C/OS-具有良好的兼容性,如系统本身不支持文件系统,但 是如果需要,也可以自行加入文件系统的内容。此外,(C/OS- 是用ANSI的C语言编写的,包含一小部分汇编语言代码,使 之可供不同架构的微处理器使用。至今,从8位到16位,(C/OS -已在超过49种不同架构的微处理器上成功移植。 荔 毙 姓 渺 筷 娠 斋 非 薪 嚷 柱

24、磐 忌 樟 庶 屏 覆 狰 修 钙 花 皿 脐 瞎 唬 妥 排 餐 街 纺 犬 等 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 (C/OS-是基于实时内核(C/OS的,和(C/OS版本 V1.11(C/OS的最终版)是向上兼容的。目前,世界上已有很多 人在各个领域中使用(C/OS及(C/OS-,这些领域包括:照相 机行业(如数码相机)、航空业、高端音响、医疗器械、电子乐 器、发动机控制、网络设备、高速公路电话系统、自动提款 及工业机器人等。更因为(C/OS-完全公开源代码,所以国内 外很多高等院校都将其用

25、于实时系统教学。 够 如 陡 犬 扯 臭 罗 杂 舍 曹 裹 蓄 刺 嵌 骂 檄 咋 珊 钉 常 霖 镁 急 搬 奢 网 蚕 饭 码 摄 拭 撕 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 8国内著名的嵌入式实时操作系统 (1) Delta OS:Delta OS是全中文的嵌入式实时操作系统 ,提供强实时和嵌入式多任务的内核。Delta OS的特点是任务 响应时间快速、确定,不随任务负载大小改变;绝大部分的代 码由C语言编写,具有很好的移植性。它适用于内在要求较大、 可靠性要求较高的嵌入式系统。 Delt

26、a OS主要包括:嵌入式实时内核DeltaCORE、嵌入式 TCP/IP组件DeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图 形用户接口DeltaGUI等。同时,它还提供了一整套的嵌入式开 发套件LamdaTOOL。Delta OS是国内嵌入式领域不可多得的一 整套嵌入式开发应用解决方案,已成功应用于通信、网络、信 息家电等多个领域。 六 掌 拜 抠 钎 篙 孟 镍 瘤 穷 绸 彩 遗 厦 磕 睛 缘 衣 冠 省 涵 剑 辉 宵 恒 虹 像 坟 酉 袍 癣 傅 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌

27、入式操作系统 (2) Hopen OS:Hopen OS由一个体积很小的内核以及一 些可以根据需要自行定制的系统模块组成。其核心Hopen Kernel的规模一般为10 KB左右,占用空间小,并具有实时、 多任务、多线程的系统特征。 (3) HBOS:HBOS系统是浙江大学自主研制开发的全中文 实时操作系统。它具有实时、多任务等特征,能提供浏览器、 网络通信核图形窗口等服务,还可供进行一定的定制或二次开 发,并能为应用软件开发提供API接口支持。HBOS系统可用 于信息家电、智能设备和仪器仪表等领域开发应用。在HBOS 系统平台下,已经成功地开发出机顶盒和数据采集等系统。 睡 凸 砂 孙 棺

28、弃 扭 犊 阮 翅 蹿 亥 被 面 偿 陡 斋 疆 醒 姜 叭 拇 级 拆 酱 埃 匝 厂 余 噶 他 尾 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3 操作系统的基本概念 5.3.1 多进程和多线程 许多嵌入式系统并不是单纯地完成一种功能。例如,在 一个电话应答机系统中,需要把记录通话信息和操作用户控 制面板定义为不同的任务,因为它们不仅在逻辑上进行的是 不同的操作,而且完成的速度也不同。这些不同的任务构成 了应答机系统功能的各个部分,为了完成多个任务而组织程 序结构的需要,引入了进程的概念。 谰

29、 叭 恕 莫 摸 蒜 肠 雾 杠 框 杯 记 昂 寒 箕 昆 士 淆 份 独 迢 砒 哑 钻 郧 郸 启 导 鬃 廊 温 型 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 一个进程可以简单地认为是一个程序的唯一执行。进程是 顺序执行的,而且CPU一次只能执行一个进程。但是,当确定了 一个进程的完整状态后,就可以强制CPU停止执行当前进程而执 行另一个进程。通过改变CPU中的程序计数器,使其指向新进程 的代码,同时将新进程的数据移入寄存器和主存中,就可以实 现进程的切换。这样,就能够使多个进程同时存在于CPU

30、中。 在嵌入式系统中,一个进程的常用形式是线程。线程在 CPU的寄存器中有各自不同的值集合,但是共存于一个主存储 空间中。线程普遍应用于嵌入式系统中(即任务),这样可以避 免存储管理单元的复杂,节约存储管理单元的消耗。 擒 辫 鸿 戎 忙 冬 桥 芹 簧 隔 衣 藐 废 渍 规 橇 揣 敬 敬 漂 险 菩 挞 藤 标 纯 调 榷 倒 情 危 界 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3.2 任务 在嵌入式系统中,一个任务也称作一个线程,是一个程序 ,该程序在运行时可以认为CPU完全只属于该程序自

31、己。在实 时应用程序的设计过程中,要考虑如何将应用功能合理地划分 为多个任务,让每个任务完成一定的功能,成为整个应用的一 部分。每个任务都被赋予一定的优先级,有自己的一套CPU寄 存器和栈空间(如图5-2所示)。 庙 把 蹦 酣 咬 辰 淆 舶 吓 铺 裙 覆 颅 勃 呻 胯 诡 宾 撞 妻 膜 娄 丫 怜 啡 茁 买 档 秋 馋 集 篓 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-2 多任务堆栈与CPU寄存器 死 产 织 蹲 婿 兆 携 井 琐 缘 稀 幻 隧 及 颠 矫 悄 肯 合 伐 骨 普

32、照 朗 瞒 钙 悍 秽 扁 寒 瑶 怜 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 一般的,每一个任务都是一个无限的循环,可以处在以下 五种状态之一: (1) 休眠态(Dormant):是指任务驻留在内存的程序空间 中,并未被多任务内核所调度。 (2) 就绪态(Ready):是指任务已经准备好,可以运行, 但是由于该任务的优先级比正在运行的任务的优先级低,还暂 时不能运行。 (3) 运行态(Running):是指任务获得了CPU的控制权,正 在运行中。基于优先级调度的实时内核总是让处于就绪态的优 先级最高

33、的任务运行。 谱 灼 向 硬 恬 峙 铃 廉 荔 硕 六 戳 淬 抡 攻 父 着 傲 讫 寿 堡 似 乎 附 含 忘 即 腾 罗 姬 览 诌 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 (4) 挂起态(Pending):也叫作等待事件态(waiting), 是指任务在等待某一事件的发生(如等待某外设的I/O操作、 等待定时脉冲的到来、等待超时信号的到来以结束目前的等 待,等等)。正在运行的任务由于调用了延时函数或等待某事 件发生而将自身挂起,就处于挂起态。 (5) 被中断态(Interrupt):是指发生

34、中断时,CPU提供相应 的中断服务,原来正在运行的任务暂不能运行,而进入了被 中断状态。 输 昆 桐 乔 俯 盖 恒 炒 茂 极 级 臻 伺 吁 寿 封 常 驮 帽 漂 爬 未 熬 捐 谦 枪 憋 旧 诬 纠 膏 挖 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3.3 任务切换 任务切换(Context Switch)是指CPU寄存器内容切换。当多 任务内核决定运行另外的任务时,它保存正在运行的任务的当 前状态,即当前CPU寄存器中的全部内容;内核将这些内容保存 在该任务的当前状态保存区,也就是该任务

35、自己的栈区之中(这 个过程称为“入栈”)。入栈工作完成后,把将要运行的任务的 当前状态从该任务的栈中装入CPU寄存器(这个过程称为“出栈 ”),并开始这个任务的运行。这样,就完成了一次任务切换。 任务切换过程增加了应用程序的额外负荷,CPU的内部寄 存器越多,额外负荷就越重。任务切换所需要的时间取决于 CPU有多少寄存器要入栈。 孕 级 忠 叹 钱 屈 骆 闻 爆 皆 傍 史 示 橡 逊 振 钱 枷 撰 膝 亢 梭 耗 证 饮 哗 境 屈 穴 妻 万 昧 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3

36、.4 内核 多任务系统中,内核负责管理各个任务,为每个任务分配 CPU的使用时间,并且负责任务间的通信。内核提供的基本服 务是任务切换,通过提供必不可少的系统服务,诸如信号量管 理、邮箱、消息队列及时间延时等,使得CPU的利用更为有效 。此外,实时内核允许将应用程序划分成若干个任务并对它们 进行管理(如任务切换、调度、任务间的同步和通信,等等), 因而使用实时内核可以大大简化应用系统的设计。 稿 坷 梁 亏 己 剁 弘 缀 剧 醉 振 呐 爬 肾 飘 家 侠 视 棕 荣 颇 唯 别 胎 澈 箕 盂 懒 浮 烯 认 静 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第

37、5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 但是,内核本身也增加了应用程序的额外负荷,因为内核 提供的服务需要一定的执行时间。额外负荷的多少取决于用户 调用这类服务的频率。在设计得较好的应用系统中,内核占用 2%5%的CPU负荷。再有,内核是加在用户应用程序中的软 件,因而会增加ROM(程序代码空间)的用量,而内核本身的数 据结构还会增加RAM(数据空间)的用量。更主要的是,每个任 务都要有自己的栈空间,这会占用相当多的内存(由任务的数 量决定)。单片机一般不能运行实时内核,就是因为单片机的 RAM非常有限。 周 主 词 兼 的 徽 成 锯 荣 谢 丫 砂 湛 箭 蜒 拽 柏 雌

38、 屿 辙 衷 已 金 弘 施 拢 栓 睫 半 诅 稻 咱 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3.5 任务调度 1非占先式内核 非占先式内核(non-preemptive kernel)中各个任务彼此合作 ,共享CPU。在一个任务的运行过程中,除了中断,不能在 该任务未运行完时抢占该任务的CPU控制权。中断服务可使 一个高优先级的任务由挂起态变为就绪态,但中断服务以后 ,CPU的使用权交回给原来被中断了的任务,直到该任务主 动释放CPU的控制权,一个新的高优先级的任务才能运行。 图5-3表示非

39、占先式内核的运行情况。 赖 葡 践 许 石 技 芦 雪 惨 界 柄 亏 核 卡 挟 霓 煞 传 婚 裸 恨 居 悉 隔 瞩 挖 庄 扑 熊 跪 沛 把 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-3 非占先式内核 赊 纱 揍 匣 臂 门 邱 档 寡 傣 丽 宋 蔬 晦 刨 兑 绅 蝇 傀 臃 此 坡 吮 饮 茫 趣 醛 村 职 爬 廉 问 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-3中, 1:任务在运行

40、过程中被中断。 2:若此时中断开着,则CPU进入中断服务子程序(ISR)。 3:ISR做事件处理,使一个更高优先级的任务进入就绪态 。 4:中断服务完成后,使CPU回到原来被中断的任务。 5:继续执行该任务。 6:直到该任务完成,释放CPU的使用权给其他任务。 7:看到有高优先级的任务处于就绪态,内核做任务切换 ,高优先级的任务才开始处理ISR标志的事件。 满 玩 郑 迅 若 宣 娇 形 欣 缎 撰 哉 捅 抖 琳 宣 双 愉 连 疤 访 梨 化 哭 睛 弄 指 铝 渤 半 屹 效 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统

41、第5章嵌入式操作系统 非占先式内核的优点包括: (1) 响应中断快。 (2) 可以使用不可重入函数。由于任务运行过程中不会被 其他任务抢占,该任务使用的子函数不会被重入,因此不必担 心其他任务正在使用该函数而造成数据破坏。 (3) 共享数据方便。 仇 悍 俩 侧 戒 稼 瘫 鹤 闲 遗 般 笆 稍 史 创 秦 屏 适 赢 腹 榜 胃 震 审 丈 琢 腿 泵 杨 囚 漓 片 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 2占先式内核 当系统响应时间很重要时,须使用占先式内核。在占先式 内核中,最高优先级的任务

42、一旦就绪,便能得到CPU的使用权 。当一个运行着的任务使一个比它优先级高的任务进入就绪态 时,当前任务被挂起,那个高优先级的任务立刻得到CPU的使 用权开始运行。如果是中断服务子程序使一个高优先级的任务 进入就绪态,则当中断完成时,被中断的任务被挂起,优先级 高的任务开始运行。占先式内核的执行过程如图5-4所示。 淬 猜 念 宿 悔 堪 甄 渺 躁 监 付 耶 患 圈 瓶 殉 惠 捣 虾 惊 屠 搏 濒 扩 疥 踪 敏 贼 氧 驳 杠 袋 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-4 占先式内核

43、伪 壹 雀 踪 来 阵 剁 辞 已 涕 酱 唐 头 旷 府 荧 躬 今 碍 猫 下 富 症 桐 限 俱 岳 烧 峦 琶 要 篮 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 图5-4中,1:任务在运行过程中被中断。 2:若此时中断开着,则CPU进入中断服务子程序(ISR)。 3:ISR做事件处理,使一个更高优先级的任务进入就绪态 。当ISR完成时,进入内核提供的一种服务(内核提供的一个函 数被调用)。 4:这个函数识别出有一个高优先级的任务(更重要的任务 )进入就绪态,内核做任务切换。 5:执行高优先级的任

44、务直到该任务完成,而不再运行原 来被中断了的任务。 6:内核看到原来的低优先级的任务要运行,进行另一次 任务切换。 7:被中断了的任务继续运行,直到该任务完成。 碱 搔 拦 挎 避 坐 浊 铃 慕 凑 喜 扶 玛 坑 仟 羔 争 汁 苦 擞 痕 驶 巨 皮 表 艺 醉 铆 孺 擒 因 而 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 5.3.6 任务间的通信与同步 在多任务的实时系统中,一项工作可能需要多个任务或多 个任务与多个中断处理程序共同完成。那么,它们之间必须协 调工作、互相配合,必要时还要交换信息

45、。实时内核提供了任 务间的通信与同步机制以解决这个问题。 1任务间的通信 多任务实时系统中,任务间或中断服务与任务间常常需要 交换信息,这种信息传递称为任务间的通信(inter task communication)。任务间的通信有两个途径:共享数据结构和 消息机制。 兰 拨 陆 撅 勺 急 镊 祈 噶 描 灌 帅 骂 能 偿 逝 骆 谣 茄 奇 垄 杖 啪 肉 逢 酪 九 随 三 绒 箱 巫 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 1) 共享数据结构 实现任务间通信的最简单方法是使用共享数据结构,尤

46、其 是多个任务在同一地址空间下的情形。共享数据结构的类型可 以是全局变量、指针、缓冲区等。在使用共享数据结构时,必 须保证共享数据结构使用的排它性,即保证每个任务或中断服 务子程序独享该数据结构。否则,会导致竞争或对数据时效的 破坏。因此,在使用共享数据结构时,必须实现存取的互斥机 制。实现对共享数据结构操作的互斥常常采用以下方法:开/关 中断、禁止任务切换以及信号量(semaphore)机制等。 曾 涕 残 糕 舞 欢 秃 漠 讽 陆 森 皑 箔 邻 憎 甄 毫 嫩 瑞 舍 其 乌 乘 拙 绿 慢 禾 贞 攒 眺 藏 橡 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T -

47、 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 (1) 开/关中断。开/关中断实现数据共享保护是指在进行共 享数据结构的访问时先进行关中断操作,在访问完成后再开中 断。这种方法简单、易实现,是中断服务子程序中共享数据结 构的唯一方法。但是,如果关中断的时间太长,则可能影响整 个实时系统的中断响应时间和中断延迟时间。 性 峙 熙 帕 堕 枉 厩 字 但 端 蔓 秒 冷 厅 靛 牲 睁 嫌 觅 普 摘 邢 廷 佬 色 嚣 晾 狂 脖 抓 氛 甘 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 (2

48、) 禁止任务切换。禁止任务切换是指在进行共享数据的 操作前,先禁止任务切换,操作完成后再允许任务切换。这种 方式虽然实现了共享数据的互斥,但是实时系统的多任务切换 在此时被禁止了,应尽量少使用。需要注意的是,尽管禁止任 务切换,但任务进行共享数据操作时,中断服务子程序此时仍 然可以抢占CPU的使用权。因此,这种方式只适合任务间的共 享数据结构的互斥。 佃 资 仁 匆 咆 拿 叠 才 即 迹 蔗 刨 霹 镁 妊 棵 幽 军 柄 哟 赘 鲤 孝 苔 簇 忘 钩 乃 概 锗 猪 裕 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章

49、嵌入式操作系统 (3) 信号量。在多任务实时操作系统中,信号量也被广泛 用来进行任务间的通信和同步。但是,信号量的使用应该有所 节制,不能让所有的互斥处理都使用信号量机制实现,因为信 号量机制是有一定系统开销的。对于简单的数据共享,如果处 理时间很短,使用开/关中断实现而不需要使用信号量。只有涉 及系统消耗比较大的共享数据操作时,才考虑使用信号量,因 为如果此时使用开/关中断,就可能会影响系统的中断响应时间 。 腐 描 嫂 韭 棘 编 会 涎 股 福 纹 碘 吁 屋 按 贡 灸 赊 批 愧 蛊 尸 讹 酚 乔 乱 润 侯 标 隅 姐 将 P P T - 第 5 章 嵌 入 式 操 作 系 统 P P T - 第 5 章 嵌 入 式 操 作 系 统 第5章嵌入式操作系统 2) 消息机制 (1) 消息邮箱。消息通常是内存空间的一个数据结构,通常 是一个指针型变量。一个任务或一个中断服务子程序通过内核 服务,可以把一则消息放到邮箱里去;同样的,一个或多个任 务通过内

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1