网站大量收购独家精品文档,联系QQ:2885784924

第3章嵌入式软件系统(二)(2课时)讲解.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准 2001年,Linux2.4版内核发布 2003年,Linux2.6版内核发布 …… 4 嵌入式Linux 历史 Linux适用于嵌入式系统的六个理由 可运行于多种硬件平台 可裁剪,性能优异,应用软件丰富 使用成本低 强大的网络功能 丰富的GUI开发支持 丰富的开发技术资源 4 嵌入式Linux * * 计算机系统的基本特征就是以操作系统为主体,以计算机硬件为基础而构成的一种保障整个计算机系统正常运行的工作环境,也称为工作平台。 如果说硬件是计算机的物质基础,那么软件就是计算机的灵魂,而操作系统则是计算机软件的核心和基础。 操作系统 * 操作系统是一段核心程序 作为软硬件资源的控制中心,它以尽量合理有效的方法组织多个用户共享计算机的各种资源。 作为一台功能强大的虚拟机,给用户一个方便、有效、安全的工作环境和开发环境,提供人机交互接口和API函数。 操作系统 操作系统 举例:上节课word和excel、打印机打印、UNIX多用户 嵌入式操作系统:实时的、支持嵌入式系统应用的操作系统,具有较为突出的实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面特点。 嵌入式操作系统 定义 通用操作系统注重注重平均表现 嵌入式系统注重的是个体表现,更准确地讲是个体最坏情况表现。 通用操作系统大而全,不可裁剪和配置。 嵌入式操作系统必须可裁剪和配置。 嵌入式操作系统 与通用操作系统区别 嵌入式操作系统是嵌入式应用软件的基础和开发平台。 本质:也是一段程序,系统启动(Bootloader)后首先执行,相当于用户的主程序和API函数接口,运行完将接力棒交给应用程序。 无限循环 本质 嵌入式操作系统 运行必要条件 外存空间:存储数据、程序 内存空间:程序运行、中间计算变量 定时器:等优先级,调度任务 中断:中断服务、任务关联 堆栈:保护现场 嵌入式操作系统 嵌入式操作系统的特点 1 实时性 2 体积小、小内核 3 可配置性 4 可移植性 5 可靠性 * 嵌入式操作系统常常有实时要求 早期:嵌入式操作系统 = 实时操作系统 近期: 1)手持计算机和掌上计算机的出现; 2)CPU速度的提高; 3)常规操作系统增加实时进程调度的支持 1 实时性 * 缩短上下文切换时间 缩短最大中断禁止时间 提高调度的规整性 1 实时性 提高实时性,从以下几个方面入手 * 进程必须是具有严格优先级差异的,而且应该是抢占式的操作系统内核 与实时处理相关的函数应尽量都是可重入的 涉及到共享资源的互斥访问时,有效的克服优先级倒置问题 解决周期性任务的调度和时间抖动问题 1 实时性 嵌入式系统实时性设计 * 有A、B两个任务,A的优先级比B高,但是A在挂起,而B在运行。 B需要进行文件操作,发请求给文件服务进程,自己进入挂起,等待文件操作完成。 本来在挂起的文件服务进程接受到B的请求后开始为B服务。 优先级倒置 优先级倒置—主要资源共享引发 * 此时A因某外部事件而变成就绪。 发生调度时,A与文件服务进程都是就绪状态。文件服务进程由于优先级高而更为优先。可是文件服务进程代表的是B,因此发生优先级倒置。 优先级倒置 * 信息总线管理 与地面通信 气象任务 ,气象任务正在运行 气象任务需要访问共享内存,等待信号量开始使用。 气象任务获得信号量,开始工作。 此时与信息总线管理被外部时间唤醒,也需要访问共享内存,发请求,等待信号量。 优先级倒置实例 美国火星“探路者”号频繁重启事件 优先级倒置 * 与地面通信由于外部事件变成就绪 由于与地面通信 气象任务,与地面通信任务开始执行。 对于气象任务是合理的,但是对于信息总线管理任务,被堵死了。 信息总线管理任务长期不运行,看门狗启动。 引发崩盘,系统重启,噢。。。 优先级倒置 * 优先级倒置 解决办法一:优先级继承 priority inheritance 该技术强令低优先级的任务继承与之共享资源并被挂起的任意高优先级任务的优先等级。 一旦高优先级任务开始挂起,即可实施优先级继承,直到资源释放。 * 优先级倒置 解决办法二:优先级顶置 priority ceiling 当任务申请某资源时,把该任务的优先级提升到可访问这个资源的所有任务中的最高优先级。 这种方法简单易行,不必进行复杂的判断 但是改变任务的优先级是很花时间的,也影响了系统的实时性。 * 基本内核 + 开发人员配置外围 嵌入式操作系统尺寸 静态:内核二进制文件占用非易失存储器的大小 动态:系统运行起来后占用内存的大小 2 体积小 * 许多嵌入式操作系统不采用虚拟存储技术 许多嵌入式操作系统不划分“系统空间”和

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档