嵌入式系统基础部分-实时系统.ppt
《嵌入式系统基础部分-实时系统.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统基础部分-实时系统.ppt(103页珍藏版)》请在三一办公上搜索。
1、嵌入式系统原理与应用,实时系统,?,嵌入式系统都是实时系统吗?,不一定吧!,实时系统与嵌入式系统,嵌入式系统不一定是实时系统实时系统一般都是嵌入式系统,什么是实时?,龟兔赛跑,有熊出没!,不幸被熊发现!,逃跑吧!,谁能跑的掉?,足够快!,什么是实时系统?,实时指对随机发生的外部时间做出及时的相应并对其进行处理。(所谓事件时指来自与计算机系统相连接的设备所提出的服务要求和采集数据)实时系统指系统能及时(或即时)相应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。,什么是实时系统?,开始截止时间实时系统在某时间以前必须开始执行指定任务;完成截止时间实时系统在某时
2、间以前必须完成指定任务。,什么是实时系统?,IEEE(美国电气电子工程师协会)实时系统为“那些正确性不仅取决于计算的逻辑结果,也取决于产生结果所花费的时间的系统”。实时嵌入式系统必须在一个可预测可保证的时间段内做出对外部事件的反应。如果没有达到上述要求,那么系统就会做出错误的操作。,什么是实时系统?,POSIX Standard 1003.1操作系统中实时的定义:操作系统有能力在限定响应时间范围内,提供满足需求的服务。,-,实时系统指标,响应时间(Response Time):是计算机识别一个外部事件到作出响应的时间,生存时间(Survival Time):是数据有效等待时间,在这段时间里数据
3、是有效的。吞吐量(Throughput):是在一给定时间内,系统可以处理的事件总数。,实时系统到底有多快?,实时系统的响应“足够快”满足要求即可实时软件时限十微秒的时间内对外部事件做出可靠的响应实时系统是最快的吗?不一定是运行速度最快的代码可预测性比速度更重要,怎么达到实时的要求呢?,充分发挥硬件的功能微处理器的中断机制简单的单线程循环程序基于实时操作系统的复杂多线程程序以硬件的方式实现软件,嵌入式系统分类,按确定性来分嵌入式系统硬实时系统(Hard Real Time)系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要引起系统崩溃或致命的错误。软实时系统(Soft Real Ti
4、me)系统对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。,嵌入式系统分类,按确定性来分嵌入式系统严格实时系统(Firm Real-Time)系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要导致无法接受的低质量服务。非实时系统(Non Real-Time)系统对系统响应时间没有实时要求。,硬实时系统应用,汽车(沃尔沃S80有19台计算机)飞机(JAS)医疗设备 空间设备(火星探测器)军方系统 工业自动化,举例硬实时嵌入式系统,交换机交换机速度很快,你感觉不到交换机的交换时间消耗。当你在互联网上冲浪时,你访问一个网站,需要经过无数次交换过程,如
5、果其中一个交换机的交换服务速度下降,将导致访问速度的下降,甚至导致网络的终端。,软实时系统应用,软实时系统应用 游戏 DVD(MPEG 编码)英特网视频和广播 通讯Web Server,举例软实时嵌入式系统,PDA,手机PDA支持很多应用软件,这些手机的应用软件的响应时间只要用户可以接受即可,举例严格实时嵌入式系统,打印机一分钟可以打印3页至100页想像一下,如果打印机二分钟只打印一页,不错打印机还在工作,但你能忍受吗?视频点播宽带视频点播一般可以达到512K,视频效果基本可以观看。如果宽带视频速度只能达到128K,你能忍受吗?,软实时 vs 硬实时,1s,100ms,10ms,1ms,100
6、ms,10ms,1ms,Soft,Hard,激光打印机,TCPIP协议栈,自动检票机,大型游戏,比较,非实时系统,软实时系统,严格实时实时系统,硬实时系统,嵌入式实时系统分类,按软件结构来分嵌入式实时系统单线程程序(Single-threaded program)(1)循环轮询系统(Polling Loop)(2)有限状态机(Finit State Machine)事件驱动系统(Event-Driven system)(1)前后台系统(Foreground/Background)又叫中断驱动系统(2)实时多任务系统(Multitasking或Multi-thread Program Model
7、)(3)多处理机系统,循环轮询系统,优点:对于简单的系统而言,便于编程和理解没有中断的机制,程序运行良好,不会出现随机的问题缺点:有限的应用领域(由于不可确定性)对于大量的I/O服务的应用,不容易实现大的程序不便于调试适合于慢速和非常快速的简单系统,循环轮询系统,最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。Initialize()While(true)if(condition_1)action_1();if(condition_2)action_2();if(condition_n)acition_n();,举例-简单循环轮询系统,举例-复杂循环
8、轮询系统,有限状态机,优点:对于小的系统而言,便于编程和理解可以快速的执行只是通过改变输出功能来改变机器的响应缺点:有限的应用领域不能保证确定性对于大的应用系统,难于调试,举例-简单有限状态机,举例-复杂有限状态机,事件驱动系统,事件驱动系统是能对外部事件直接响应的系统。是嵌入式实时系统的主要形式。前后台实时多任务多处理器等例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,前后台系统,前后台系统(Foreground/Background)中断服务程序处理异步事件,这部分可称为前台(Foregro
9、und),或叫中断级应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可称为后台(Background),或叫任务级系统的性能:中断延迟时间(Interrupt latency time)响应时间(response time)恢复时间(recovery time),前后台系统,中断驱动系统的一种后台是一个循环轮询系统一直在运行。前台是由一些中断处理过程组成的。当有一前台事件(外部事件)发生时,引起中断,进行前台处理,处理完成后又回到后台(通常又称主程序)。,中断1,中断2,前后台系统,ISR1,ISR2,前台处理,后台处理,ISR3,前后台系统,需要考虑的是中断的现场保护和恢
10、复,中断嵌套,中断处理过程与主程序的协调(共享资源)问题。系统的性能:中断延迟时间(Interrupt latency time)响应时间(response time)恢复时间(recovery time),中断请求,数据传送,响应时间,主程序,现场保护,和恢复,中断服务,|,中断延迟时间,恢复时间,前后台系统,实时多任务系统,优点:将复杂的系统分解为相对独立的多个线程,达到“分而制之”的目的,从而降低系统的复杂性。保证系统的实时性系统的模块化好,提高系统的可维护性。缺点:需要采用一些新的软件软件设计方法需要增加功能:线程间的协调,同步和通信功能需要对每一个共享资源互斥导致线程间的竞争需要使用
11、RTOS,RTOS要增加系统的开销,实时多任务系统,实时多任务系统单处理器多任务系统多处理多任务系统,单处理器多任务系统,对于一个复杂的嵌入式实时系统来说,当采用中断处理程序加一个后台主程序这种软件结构难以实时的、准确的、可靠的完成时存在一些互不相关的过程需要在一个计算机中同时处理时,需要采用实时多任务系统!,单处理器多任务系统,结构由多个任务,多个中断处理过程,实时操作系统组成的有机的整体。每个任务是顺序执行的,并行性通过操作系统来完成,任务间的相互通信和同步也需要操作系统的支持。,流程,并发多任务,:,:,后台,前台,ISRs,Tasks,单处理器多任务系统,多任务系统多个顺序执行的程序并
12、行运行。宏观上看,所有的程序同时运行,每个程序运行在自己独立的CPU上。实际上,不同的程序是共享同一个CPU和其它硬件。因此,需要RTOS来对这些共享的设备和数据进行管理。每个程序都被编制成无限循环的程序,等待特定的输入,执行相应的任务等。这种程序模型将系统分成相对简单的,相互合作的模块。,单处理器多任务系统,优点将复杂的系统分解为相对独立的多个线程,达到“分而制之”的目的,从而降低系统的复杂性。保证系统的实时性。系统的模块化好,提高系统的可维护性。缺点需要采用一些新的软件设计方法。需要增加功能:线程间的协调,同步和通信功能。需要对每一个共享资源互斥。导致线程间的竞争。需要使用RTOS,RTO
13、S要增加系统的开销。,多处理器多任务系统,多任务可运行在多个处理器上,由操作系统统一调度,处理。宏观上看是并发的,微观上看也是并发的。多处理机系统分为紧耦合系统(tightly-coupled system)和松耦合系统(loosely-coupled system)两种。多处理多任务系统目前还不成熟。,多处理机系统,紧耦合系统(tightly-coupled system)多个处理器通过共享内存空间来交换信息(如:SMP),松耦合系统(loosely-coupled system)多个处理器通过通讯线路来连接和交换信息。,举例-多处理机系统,举例-多处理机系统,实时系统杀毒软件,杀毒引擎架构
14、,杀毒引擎架构,实时多任务系统,优点:将复杂的系统分解为相对独立的多个线程,达到“分而制之”的目的,从而降低系统的复杂性。保证系统的实时性系统的模块化好,提高系统的可维护性。,实时多任务系统,缺点:需要采用一些新的软件软件设计方法需要增加功能:线程间的协调,同步和通信功能需要对每一个共享资源互斥导致线程间的竞争需要使用RTOS,RTOS要增加系统的开销,实时系统基本概念,任务,一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄
15、存器和自己的栈空间。,Stack,Stack,Stack,Memory CPU,TASK 1,TASK 2,TASK n,CPU Registers,多任务,实时任务,如实时系统支持n个周期实时任务T1,Tn。Ti 可以用(Pi,Ci,Di)三元组描述 P,周期 C,最坏情况下的执行时间 D,任务结束期限实时任务 Ti 在周期开始执行,消耗Ci时间单元,但必须在Di时间单元后执行完毕。如果Pi=Di,则三元组中Di可以被忽略,任务的分类,按照到达情况的可预测性,任务可以划分为:周期任务(periodic task)非周期任务按照重要程度,可分为:关键任务(critical task)非关键任务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 基础 部分 实时
链接地址:https://www.31ppt.com/p-5396039.html