资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MC 12009520, Fall 2010MC 12009520, Fall 2010嵌入式系统 Embedded System重庆大学光电工程学院二、嵌入式实时操作系统MC 12009520MC 12009520嵌入式实时操作系统嵌入式实时操作系统概述OS、RTOS、Kernel、前后台系统、分层和模块化设计、微内核 操作系统原理任务管理、同步与通信、时钟管理、中断/异常管理、内存管理、I/O管理主流嵌入式操作系统Windows CE、Palm OS、Linux、VxWorks 2MC 12009520MC 12009520嵌入式实时操作系统RTOS任务管理同步与 通信时钟管理中断管理任务调度任务创建、删 除、挂起、唤 醒、属性设置任务扩展 内核文件系统TCP/IP 网络系统3MC 12009520MC 12009520嵌入式实时操作系统同步与通信p在多任务系统中,经常需要在任务之间或者中断服 务与任务之间传播或交换信息,这种消息传递机制 被称为任务间的通信p同步(Synchronization)p资源同步p活动同步4MC 12009520MC 12009520嵌入式实时操作系统资源同步 互斥p不同任务对共享内存进行访问时,必须进行资源同 步,否则程序的运行具有不确定性p决定对资源的访问是否安全p在一个进程对共享内存进行写操作的时候绝对不允 许另一个进程对此区域进行读操作活动同步 同步p当某一任务由多个子任务相互协作完成时,必然出 现进度不一致的情况p通过活动同步,对各个任务的执行情况进行协调5MC 12009520MC 12009520嵌入式实时操作系统任务之间的信息传递方式p全局变量p共享内存p各种消息机制(信号量、邮箱、消息队列、互斥体 等)6MC 12009520MC 12009520嵌入式实时操作系统信号量(Semaphore)实现对某些临界资源的访问,用来在进程间进行互 斥和同步的一种机制信号量的作用p控制共享资源的使用权p标志某个事件发生p使两个任务的行为同步7MC 12009520MC 12009520嵌入式实时操作系统信号量p二值信号量 其值只能是0和1p计数式信号量 取值范围由所使用的嵌入式操作系统内核决定 8MC 12009520MC 12009520嵌入式实时操作系统等待信号操作p简写为P(S)或Wait(S)p检查S是否大于0,若是,S=S-1;若S=0,进程睡 眠发送信号操作p简写为V(S)或Signal(S)pS=S+1。若该信号量上有进程在其上睡眠,则唤醒 该进程,但S不变9MC 12009520MC 12009520嵌入式实时操作系统举例某停车场3个车位,全空开来5辆车看门人选择3辆车停放,剩余2辆入口处等待1辆停放在停车场的车离开,看门人允许再进入1辆车位是公共资源,每辆车是一个进程,看门人是信 号量,车位数是信号量的值信号量的值是非负整数10MC 12009520MC 12009520嵌入式实时操作系统任务1申请资源申请资源内核信号量任务2申请资源等待解除释放资源等待资源11MC 12009520MC 12009520嵌入式实时操作系统邮箱p有些系统称为消息交换p使用指针变量的形式,通过发送或接收放在系统内 存中的消息来同步和通信的一种对象,包含发送队 列和接收队列消息队列p通过发送和接收变长消息来进行同步和通信的对象12MC 12009520MC 12009520嵌入式实时操作系统邮箱与消息队列p邮箱只工作于共享内存区p邮箱在数据结构上是一个双队列p消息队列还可用来处理任务与外部事件之间的通信邮箱可以看作一种特殊的消息队列13MC 12009520MC 12009520嵌入式实时操作系统互斥体p资源程序运行时可使用的软、硬件环境称为资源。 资源可以是 输入输出设备,例如打印机、键盘、显示器,也可以是一 个变量、一个结构或一个数组。可以被一个以上任务使用 的资源叫做共享资源。p临界区每个进程中访问临界资源的那段程序称为临界区(Critical Section)。每次只准许一个进程进入临界区,进入后不允 许其他进程进入。不论是硬件临界资源,还是软件临界资 源,多个进程必须互斥地对它进行访问。14MC 12009520MC 12009520嵌入式实时操作系统互斥体(Mutex)互斥体可看作只能取0和1两种值的信号量,禁止多 个任务同时进入受保护的代码临界区,任何任务在 进入临界区之前必须获取与此区域相关联的互斥体 的所有权在基于优先级抢占的系统中,使用信号量、 互斥体访问临界资源时,可能引发优先级反 转p优先权继承p优先权置顶(优先权天花板)15MC 12009520MC 12009520嵌入式实时操作系统几种通信方式的比较p全局变量与共享内存:可以承载通信的内容,但接 收方无法意识到信息的到达,除非发送方向接收方 发送一个信号量,或者接收方不断监听p信号量与互斥量:可以立即使接收方知道某个事件 的发生,但无法传递具体内容全局变量:有通话内容但不拨打对方手机 信号量:只拨通对方手机而不与之通话消息队列或邮箱:既拨通手机又与之通话消息队列和邮箱可以及时传送事件的内容16MC 12009520MC 12009520嵌入式实时操作系统时钟管理p为应用系统的实时响应提供支持,保证系统运行的 实时性、有序性,是任务调度的时间基准p硬件时钟p实时时钟(Real Time Clock,RTC)p可编程间隔定时器(Programmable Interval Timer)p虚拟时钟p系统时钟17MC 12009520MC 12009520嵌入式实时操作系统实时时钟(RTC)p向处理器提供时、分、秒、日历等时间信息p系统掉电后由片内或片外的备用电池供电可编程间隔定时器(PIT)p又称计数器p事件计数和生成时间中断,用于系统时间控制系统时钟是操作系统中的内部计数器,由定时器/计数器的 周期性中断来驱动18MC 12009520MC 12009520嵌入式实时操作系统时钟粒度p时钟中断到来的频率,即每个时钟中断的时间间隔 ,就是系统时钟的最小计时单位,称为时钟粒度p时钟粒度大小决定了操作系统的时间精度以及对外 界的响应速度p嵌入式操作系统时钟粒度通常可调(至少10ms) ,通用操作系统的时钟粒度不可调(Windows 55ms、Linux 10ms)19MC 12009520MC 12009520嵌入式实时操作系统时钟机制p实时内核的时间管理以系统时钟为基础,可通过提 高系统时钟精度来增强系统的实时性p如果系统的时钟粒度配置到非常高的精度,那么 CPU的主要用于处理时钟中断,严重影响系统正常 工作20MC 12009520MC 12009520嵌入式实时操作系统中断/异常管理p中断/异常代表一个事件的发生,处理器暂停当前 正在执行的任务,转而处理该事件,处理完毕再返 回执行先前任务p根据引起中断的事件性质,广义的中断分为p中断(Interrupt)p自陷(Trap)p异常(Exception)21MC 12009520MC 12009520嵌入式实时操作系统中断源引起中断的事件称为中断源中断接管程序从识别中断源到对事件做出响应,以及恢复中断现 场,退出中断处理的程序,均称为中断接管程序( 中断承接程序)中断处理程序具体完成事件处理的程序叫做中断处理程序(中断 服务程序)22MC 12009520MC 12009520嵌入式实时操作系统中断由于处理器外部的原因而改变程序执行流程的事件自陷通过处理器软件指令可预期的,使处理器正在执行 的程序流程发生变化,以执行特定的程序异常处理器自动产生的异常事件,又称为同步中断中断又称为外部中断,属于异步事件;自陷和异常 为内部中断,属于同步事件23MC 12009520MC 12009520嵌入式实时操作系统中断处理过程p前两个步骤由硬件完成p中断处理,即执行中断服务程序,由RTOS内核( 和应用程序)完成中断检测中断响应中断处理24MC 12009520MC 12009520嵌入式实时操作系统伪中断(Spurious Interrupt)p触发中断的方式p数字信号:边沿触发p模拟信号:电平触发p实际中,输入信号没有理想的干净,中断线上的短 时脉冲波形干扰,可能引起伪中断25MC 12009520MC 12009520嵌入式实时操作系统中断性能的评价指标p中断延迟时间:从关中断到开始执行中断服务程序 第1条指令的时间p考察实时内核性能的重要指标p降低中断延迟时间的方法因执行临界区代码而关中断是造成中断长时间得不到响应 的最主要的因素p临界区代码应该尽可能短小p尽量把耗时的操作放在临界区以外p完成临界区处理后,立即转入中断处理26MC 12009520MC 12009520嵌入式实时操作系统内存管理p通用计算机操作系统采用虚拟存储管理p嵌入式则采用静态内存分配和动态内存分配相结合 的管理方式p由于虚拟机制引起的缺页及调页现象会给系统带来 不确定性且需要比较多的资源27MC 12009520MC 12009520嵌入式实时操作系统虚拟内存(Virtual Memory)p为用户提供一种可以超越物理内存容量限制的存储 技术,是通用操作系统扩展有限物理内存的通用方 法p实现方式:使用频率最低的页面(Page)将被临时 置换到磁盘等外部存储器中,为页面需要的其他任 务预留空间28MC 12009520MC 12009520嵌入式实时操作系统嵌入式RTOS内存管理策略p快速而确定的内存管理相对于固定尺寸内存池,可变尺寸内存池的管理相对灵活 ,但在分配和回收过程中会有内存碎片的产生p内存保护p防止地址越界p防止操作越权p尽量不使用虚拟内存29
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号