EmbeddedSystemCH2嵌入式操作系统.ppt_第1页
EmbeddedSystemCH2嵌入式操作系统.ppt_第2页
EmbeddedSystemCH2嵌入式操作系统.ppt_第3页
EmbeddedSystemCH2嵌入式操作系统.ppt_第4页
EmbeddedSystemCH2嵌入式操作系统.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论