版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课题(章节名称)嵌入式操作系统
2010年9/3日1,23,4节
10/35,6教学目的与要求
掌握嵌入式操作系统的分类和特点,明确实时操作系统的内核特点教学重点
嵌入式操作系统的分类和特点,实时操作系统的内核特点
教学难点
无教学方法
讲授法教学时数
2课外作业
1.41.5主要内容
1、嵌入式操作系统的分类2、嵌入式操作系统的特点3、实时操作系统4、目前市场上流行的嵌入式操作系统20303020课后小结
课时授课计划
嵌入式系统软件组成:驱动层程序实时操作系统(RTOS)操作系统的应用程序接口(API)应用程序四、嵌入式操作系统嵌入式操作系统是嵌入式应用软件的基础和开发平台.嵌入式系统的出现,解决了嵌入式软件开发标准化的难题。嵌入式系统具有操作系统的最基本的功能:进程调度内存管理(没有虚拟内存的管理)设备管理文件管理操作系统接口(API调用)中断管理嵌入式操作系统具有的特点:系统可裁减,可配置.系统具备网络支持功能系统具有一定的实时性嵌入式系统的软/硬件框架冯·诺依曼体系结构和哈佛体系结构CISC与RISCIP核流水线存储器系统嵌入式系统硬件基础冯·诺依曼体系结构模型指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2CISC和RISCCISC:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式;8/2原则:80%的程序只使用20%的指令;大多数程序只使用少量的指令就能够运行。RISC:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令;确保数据通道快速执行每一条指令;使CPU硬件结构设计变得更为简单。
CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道CISC与RISC的对比类别CISCRISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容复制;或将多个寄存器的内容复制到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器进行算术和逻辑操作只能对寄存器对行算术和逻辑操作,Load/Store体系结构编译难以用优化编译器生成高效的目标代码程序采用优化编译技术,生成高效的目标代码程序IP核的种类SoftCores(“code”)(软核)HDL语言描述;灵活度高,可修改;与工艺独立,可根据具体的加工工艺重新综合;IP很难保护。Firmcores(“code+structure”)(固核)逻辑综合后的描述;与工艺相关。Hardcores(“physical”)(硬核)物理综合后的描述;准备流片;包含工艺相关的布局和时序信息;IP很容易保护。多数的处理器和存储器IP核的商业模型三种模式1.设计者提供设计和工具的许可证DSPGroup(PineandOakCores),3Soft,ARM。提供包括HDL在内的模拟模型,工具或仿真器。使用者负责设计制造。2.核厂商设计并制造集成电路芯片TI,Motorola,Lucent。VLSI,SSI,Cirrus,Adaptec。3.核厂商卖核,负责为客户设计并制造芯片LSIlogic,TI,Lucent。IP核的市场构成74%为硬件设计厂商。26%将购买IP核。40%hard,68%soft,32%firm。流水线技术流水线技术:几个指令可以并行执行。提高了CPU的运行效率。内部信息流要求通畅流动。译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp指令流水线—以ARM为例为增加处理器指令流的速度,ARM7系列使用3级流水线。允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,而非正在执行的指令。FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM Thumb最佳流水线该例中用6个时钟周期执行了6条指令。所有的操作都在寄存器中(单周期执行)。指令周期数(CPI)=1。
操作周期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch分支流水线举例流水线被阻断。注意:内核运行在ARM状态。周期
12345
0x8000BL0x8004X0x8008XX0x8FECADD0x8FF0SUB0x8FF4MOV地址
操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch存储器系统RAM:随机存取存储器,SRAM:静态随机存储器,DRAM:动态随机存储器。
SRAM比DRAM快。
SRAM比DRAM耗电多。
DRAM存储密度比SRAM高得多。
DRM需要周期性刷新。ROM:只读存储器。FLASH:闪存。输入输出接口I/OA/D、D/A键盘LCD存储器接口设备接口操作系统的分类(1)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。(2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序,如UNIX。(3)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。按实时性分类强实时系统,其系统响应时间在毫秒或微秒级(数控机床)。一般实时系统,其系统响应时间在毫秒到几秒的数量级上,其实时性的要求比强实时系统要差一些(媒体播放)。弱实时系统,其系统响应时间约为数十秒或更长。前后台系统(后台循环、前台中断)ISRISR后台前台ISR时间代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打断。在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。代码的临界区多任务(任务、进程和线程)CPU寄存器任务控制块1任务控制块2任务控制块n休眠、就绪、运行、挂起、被中断任务1任务2任务n……CPU寄存器一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化,如综合实验(时钟、位图、USB、KEY)。任务的状态系统内核(Kernel)与调度(Scheduler)多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核(Kernel):提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点之间。调度(Scheduler):是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法则,CPU总是让处在就绪态的优先级最高的任务先运行。非占先式与占先式非占先式(non-preemptive)调度法也称作合作型多任务(cooperativemultitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很长时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。非占先式(Non-Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使高优先级任务就绪低优先级任务释放CPU使用权TIME当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。占先式(preemptive)占先式(Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使高优先级任务就绪高优先级任务得到CPU使用权TIME可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。一个不可重入型函数的例子intTemp;Voidswap(int*x,int*y){Temp=*x;*X=*Y;*y=Temp;}可重入型函数一个可重入型函数的例子Voidswap(int*x,int*y){intTemp;Temp=*x;*X=*Y;*y=Temp;}任务优先级静态优先级应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。动态优先级应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。优先级反转
实时系统的定义:能够对外部事件做出及时响应的系统。响应时间要有保证。对外部事件的响应包括:事件发生时要识别出来在给定时间约束内必须输出结果实时操作系统必须有以下特征:多任务有线程优先级多种中断级别硬实时系统:系统对系统响应时间有严格的要求如果系统响应时间不能满足就会引起系统崩溃或致命的错误。软实时系统:统对系统响应时间有要求,但是如果系统响应时间不能满足,它并不会导致系统出现致命的错误或崩溃。几种主流的嵌入式操作系统:µC/OS-II:免费、面向中小型嵌入式系统应用。Vxworks:美国WindR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 270-2026安全与韧性业务连续性管理体系业务连续性策略指南
- T/ZJSEE 0048.2-2025虚拟电厂 第2部分:信息交互功能规范
- T/JCJJ 048-2024钢渣资源回收利用一次处理工艺技术要求
- T/CNCA 065-2024二氧化碳深部咸水层地质封存泄漏监测指标体系
- T/CASMES 400-2024质子交换膜水电解制氢阳极催化剂 测试方法
- T/CSMT YB015-2025光电复合电离源飞行时间质谱仪性能测试方法
- GB/T 18591-2026焊接预热温度、道间温度及预热维持温度的测量
- 2027届重庆市沙坪坝区第八中学数学七上期末统考试题含解析
- 2025-2026学年辽宁省凤城市初中政治九年级期末上册自测核心强化题(附答案)
- PHP商城开发面试题及详细答案(实战版)
- 2026年四川省拟任县处级领导干部理论(任职资格考试)全真模拟试题及答案
- 钩吻碱中毒(断肠草中毒)的急诊处理
- 冷轧硅钢及金属制品深加工项目可行性研究报告模板拿地申报
- 2026年4月自考04184线性代数(经管类)试题及答案含评分参考
- 制度壁垒经济效应-洞察与解读
- 2025年荆州市文旅集团公开招聘10名工作人员笔试参考题库附带答案详解
- 设备日常维护保养培训课件
- 造林树种选择
- 女性权益保障课件
- 义鼠课件教学课件
- 雨课堂学堂在线学堂云《临床伦理与科研道德(山东大学)》单元测试考核答案
评论
0/150
提交评论