第十课-嵌入式操作系统概述课件.ppt

上传人(卖家):三亚风情 文档编号:3177811 上传时间:2022-07-28 格式:PPT 页数:74 大小:1.05MB
下载 相关 举报
第十课-嵌入式操作系统概述课件.ppt_第1页
第1页 / 共74页
第十课-嵌入式操作系统概述课件.ppt_第2页
第2页 / 共74页
第十课-嵌入式操作系统概述课件.ppt_第3页
第3页 / 共74页
第十课-嵌入式操作系统概述课件.ppt_第4页
第4页 / 共74页
第十课-嵌入式操作系统概述课件.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、 CPUCPU与外设的数据传输方式通常有以下几种:与外设的数据传输方式通常有以下几种:查询方式:查询方式:CPUCPU不断的查询外设状态,如果外设准备就绪就开始传输数据,如果外不断的查询外设状态,如果外设准备就绪就开始传输数据,如果外设还没有准备好,就进入循环等待设还没有准备好,就进入循环等待 中断方式:中断方式:当外设准备好与当外设准备好与CPUCPU进行数据交换时,首先向进行数据交换时,首先向CPUCPU提出中断请求,提出中断请求,CPUCPU在在接到中断请求并在一定条件下,暂停原来的程序,并执行中断服务程序,接到中断请求并在一定条件下,暂停原来的程序,并执行中断服务程序,执行完后再次返回

2、源程序的过程执行完后再次返回源程序的过程 DMA DMA方式:方式:不经过不经过CPUCPU而直接进行数据交换的过程而直接进行数据交换的过程中断概述中断法的引入,极大的提高了中断法的引入,极大的提高了CPUCPU的利用效率的利用效率 ARM920TARM920T内核有两个中断内核有两个中断IRQIRQ中断和中断和FIQFIQ中断中断 IRQIRQ是普通中断用于处理一般事件,是普通中断用于处理一般事件,FIQFIQ是快速中断,是快速中断,一般用于大批量数据传送等情况一般用于大批量数据传送等情况 S3C2440S3C2440中断控制器有中断控制器有6060个中断源个中断源 对外提供对外提供2424

3、个外中断输入引脚,内部所有设备都有个外中断输入引脚,内部所有设备都有中断请求信号,例如中断请求信号,例如DMADMA控制器、控制器、UARTUART、IICIIC等等等等中断概述中断异常基本概念中断异常基本概念中断异常基本概念中断异常基本概念ARMARM的异常中断的异常中断n复位复位(reset):(reset):当处理器的复位引脚有效时,系统产生复位当处理器的复位引脚有效时,系统产生复位中断,程序跳到中断处理程序处执行。中断,程序跳到中断处理程序处执行。复位中断发生的情况复位中断发生的情况:n系统加电时系统加电时n系统复位时系统复位时n跳转到复位中断向量处跳转到复位中断向量处(0 x0000

4、0000)(0 x00000000)n未定义指令未定义指令(undefined instruction):(undefined instruction):当当ARMARM处理器或者处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常处理。的指令异常处理。n软件中断软件中断(software interrupt):(software interrupt):有用户定义的中断指令,有用户定义的中断指令,在实时操作系统中可以通过该机制实现系统功能的调用。在实时操作系统中可以通过该机制实现系统功能的调用。ARM的异常中断n指令预取中止指

5、令预取中止(prefech abort):(prefech abort):如果处理器预取的指令的地如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,处理器产生指址不存在,或者该地址不允许当前指令访问,处理器产生指令预取中止异常处理。令预取中止异常处理。n数据访问中止数据访问中止(data Abort):(data Abort):如果数据访问指令的目标地址如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常处理。访问中止异常处理。n外部中断请求外部中断请求(IRQ):(IRQ):当处理器的外部

6、中断请求引脚有效,而当处理器的外部中断请求引脚有效,而且且CPSRCPSR寄存器的寄存器的I I控制位被清除时,处理器产生外部中断请控制位被清除时,处理器产生外部中断请求求(IRQ)(IRQ)异常处理。异常处理。n快速中断请求快速中断请求(FIQ):(FIQ):当处理器的外部快速中断请求引脚有效,当处理器的外部快速中断请求引脚有效,而且而且CPSRCPSR寄存器的寄存器的F F控制位被清除时,处理器产生快速中断控制位被清除时,处理器产生快速中断请求请求(FIQ)(FIQ)异常处理。异常处理。ARMARM处理器对异常中断的响应过程处理器对异常中断的响应过程n进入异常中断的过程进入异常中断的过程(

7、由内核自动完成由内核自动完成)n保存保存PCPC4 4值到新的异常模式的值到新的异常模式的LrLr中,以便处理完异常后,中,以便处理完异常后,能正确返回原程序。能正确返回原程序。n保存保存CPSRCPSR到新的异常模式的到新的异常模式的SPSRSPSR中。中。n强制改变强制改变Mode bitsMode bits,使,使ARMARM进入相应的运行模式。进入相应的运行模式。n强制强制PCPC值,设置成该异常模式的向量地址,从而跳转到相应值,设置成该异常模式的向量地址,从而跳转到相应的异常处理程序处执行程序。的异常处理程序处执行程序。n设置设置CPSRCPSR中的中断禁止位,以禁止中断发生。中的中

8、断禁止位,以禁止中断发生。n从异常中断返回的过程从异常中断返回的过程(由内核自动完成由内核自动完成)n由链接寄存器由链接寄存器LRLR的值恢复的值恢复PCPC,返回到发生异常中断的指令的,返回到发生异常中断的指令的下一条指令处执行程序。下一条指令处执行程序。n从从SPSRSPSR恢复恢复CPSRCPSR。n清除中断屏蔽位。清除中断屏蔽位。注注:当一个异常发生时当一个异常发生时,ARM,ARM处理器总是切换到处理器总是切换到ARMARM状态状态(即非即非ThumbThumb状态状态).).一、进入异常一、进入异常 当发生异常时,除了复位异常立即中止当前指令当发生异常时,除了复位异常立即中止当前指

9、令外,处理器尽量完成当前指令,然后脱离当前的程序外,处理器尽量完成当前指令,然后脱离当前的程序去处理异常。去处理异常。ARMARM处理器对异常中断的响应过程如下处理器对异常中断的响应过程如下 :1 1、保存返回地址、保存返回地址 将引起异常指令的下一条指令的地址保存到新的将引起异常指令的下一条指令的地址保存到新的异常模式异常模式x x下的下的R14R14,即,即R14R14_ _中,使异常处理程中,使异常处理程序执行完后能正确返回原程序。序执行完后能正确返回原程序。2 2、保存当前状态寄存器、保存当前状态寄存器CPSRCPSR的内容的内容 将将CPSRCPSR的内容保存到将要执行的异常中断对应

10、的的内容保存到将要执行的异常中断对应的SPSRSPSR中,便于中断返回时恢复处理器当前的状态位、中,便于中断返回时恢复处理器当前的状态位、中断屏蔽位以及各条件标志位。中断屏蔽位以及各条件标志位。3 3、设置当前状态寄存器、设置当前状态寄存器CPSRCPSR中的相应位中的相应位设置设置CPSRCPSR模式控制位模式控制位CPSRCPSR4 4:0 0,使处理器进入相应的,使处理器进入相应的执行模式;执行模式;设置中断标志位(设置中断标志位(CPSRCPSR6 6=1=1),禁止),禁止IRQIRQ中断;中断;设置中断标志位(设置中断标志位(CPSRCPSR7 7=1=1)禁止)禁止FIQFIQ中

11、断,当进入中断,当进入ResetReset或或FIQFIQ模式时。模式时。4 4、转去执行中断处理程序、转去执行中断处理程序 取相应的中断向量给程序计数器取相应的中断向量给程序计数器PCPC,使程序开始执行,使程序开始执行中断处理程序。中断处理程序。一般地说,矢量地址处将包含一条指向相应程序的转一般地说,矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序常中断处理程序 。ARMARM处理器对异常的响应过程可以用处理器对异常的响应过程可以用伪代码描述如下伪代码描述如下 :R14_=return l

12、ink R14_=return link SPSR_=CPSRSPSR_=CPSR CPSR CPSR4 4:0 0=exception mode number=exception mode number CPSR CPSR5 5=0 =0 /*当运行于当运行于ARMARM状态时状态时*/CPSR CPSR6 6=1 =1 /*禁止新的禁止新的IRQIRQ中断中断*/if =Reset or FIQ thenif =Reset or FIQ then CPSR CPSR7 7=1 =1 /*当当Reset Reset 或或FIQFIQ异常中断时异常中断时*/*禁止新禁止新 的的FIQFIQ中断

13、中断*/PC=exception vector address PC=exception vector address 注意使用异常模式下的特有寄存器注意使用异常模式下的特有寄存器F 每个异常模式对应有两个寄存器每个异常模式对应有两个寄存器R13_R13_、R14_R14_分别保存相应模分别保存相应模式下的堆栈指针、返回地址;堆栈指针可式下的堆栈指针、返回地址;堆栈指针可用来定义一个存储区域保存其它用户寄存用来定义一个存储区域保存其它用户寄存器,在程序初始化时应该对各种模式堆栈器,在程序初始化时应该对各种模式堆栈设置,便于随时使用。设置,便于随时使用。F FIQFIQ模式还有额外的专用寄存器模

14、式还有额外的专用寄存器R8_fiqR8_fiqR12_fiqR12_fiq,使用这些寄存器可以,使用这些寄存器可以加快快速中断的处理速度。加快快速中断的处理速度。二、异常返回二、异常返回 异常返回应执行的操作异常返回应执行的操作异常处理完毕之后,异常处理完毕之后,ARMARM微处理器会执行以下几步操作从异常返回:微处理器会执行以下几步操作从异常返回:n将返回地址装入将返回地址装入PCPC:把连接寄存器把连接寄存器LRLR的值减去相应的偏移量,然后送到的值减去相应的偏移量,然后送到PCPC中。中。n恢复恢复CPSRCPSR的值的值:将将SPSRSPSR复制回复制回CPSRCPSR中。中。n清除中

15、断屏蔽位清除中断屏蔽位:若在进入异常处理时设置了中断禁止位,要在此清除。若在进入异常处理时设置了中断禁止位,要在此清除。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。异常处理程序不需要返回。嵌入式操作系统嵌入式操作系统本章主要内容:本章主要内容:(1)嵌入式操作系统概述嵌入式操作系统概述(2)嵌入式操作系统的功能嵌入式操作系统的功能(3)几种主要的嵌入式操作系统几种主要的嵌入式操作系统嵌入式操作系统概述嵌入式操作系统概述嵌入式操作系统是一种用于支持嵌入式应嵌入式操作系统是一种用于支持嵌入式应用程序的操

16、作系统。它是一个界于应用程用程序的操作系统。它是一个界于应用程序和嵌入式计算机系统的硬件之间的程序序和嵌入式计算机系统的硬件之间的程序集合,其任务是控制和管理嵌入式系统中集合,其任务是控制和管理嵌入式系统中的硬件和软件资源,以方便系统使用者。的硬件和软件资源,以方便系统使用者。为什么要使用嵌入式操作系统为什么要使用嵌入式操作系统并不是所有的嵌入式系统上面都需要有一个嵌并不是所有的嵌入式系统上面都需要有一个嵌入式操作系统。一些本身功能很简单的嵌入式入式操作系统。一些本身功能很简单的嵌入式系统出于效率和成本的考虑,常不使用嵌入式系统出于效率和成本的考虑,常不使用嵌入式操作系统。但当一个嵌入式系统的

17、复杂程度达操作系统。但当一个嵌入式系统的复杂程度达到一定的水平,其硬件又具备充足的处理能力到一定的水平,其硬件又具备充足的处理能力的时候,就需要使用嵌入式操作系统。一般说的时候,就需要使用嵌入式操作系统。一般说来当一个嵌入式系统有以下一些需求的时候就来当一个嵌入式系统有以下一些需求的时候就要用到嵌入式操作系统。要用到嵌入式操作系统。1.系统需要运行多个任务系统需要运行多个任务随着应用的发展,嵌入式系统需要运行的任务随着应用的发展,嵌入式系统需要运行的任务变得越来越复杂,这时便需要引入操作系统的变得越来越复杂,这时便需要引入操作系统的概念。操作系统可以给系统中的任务提供调度概念。操作系统可以给系

18、统中的任务提供调度机制,使用实时调度算法完成任务调度。操作机制,使用实时调度算法完成任务调度。操作系统还提供内存管理接口,用以简化任务中需系统还提供内存管理接口,用以简化任务中需要的操作。在使用操作系统之后,可以方便地要的操作。在使用操作系统之后,可以方便地定制任务,并与操作系统一起下载到系统中。定制任务,并与操作系统一起下载到系统中。如果用户的需求发生了变化,只需要改变任务如果用户的需求发生了变化,只需要改变任务内容,然后重新和操作系统一起下载即可。内容,然后重新和操作系统一起下载即可。2.系统需要有直观的用户界面系统需要有直观的用户界面一些嵌入式系统并不是在启动之后就默默地一些嵌入式系统并

19、不是在启动之后就默默地去运行,它们也需要同用户进行交互。最好去运行,它们也需要同用户进行交互。最好是能通过图形式的用户界面进行这种交互。是能通过图形式的用户界面进行这种交互。这就要用到图形界面系统。而图形界面系统这就要用到图形界面系统。而图形界面系统是离不开操作系统支持的。是离不开操作系统支持的。3.系统需要有网络功能系统需要有网络功能在没有操作系统的情况下,支持网络功能在没有操作系统的情况下,支持网络功能并不是不可能的事情。比如并不是不可能的事情。比如TCP/IP协议就协议就可以用硬件芯片来实现。但使用这样的芯可以用硬件芯片来实现。但使用这样的芯片会使成本增加,并且网络协议常会不断片会使成本

20、增加,并且网络协议常会不断升级,用硬件芯片则无法同步地升级。而升级,用硬件芯片则无法同步地升级。而在有操作系统的嵌入式计算机系统中,则在有操作系统的嵌入式计算机系统中,则可以根据需要定制网络协议,适应各种网可以根据需要定制网络协议,适应各种网络环境的需求,也便于跟上网络协议更新络环境的需求,也便于跟上网络协议更新的步伐。的步伐。4.系统需要用到数据库管理系统系统需要用到数据库管理系统一些移动信息设备需要使用嵌入式数据库一些移动信息设备需要使用嵌入式数据库管理系统解决移动计算环境下的数据管理管理系统解决移动计算环境下的数据管理问题。比如掌上计算机、问题。比如掌上计算机、PDA、车载设备、车载设备

21、、智能手机等一些嵌入式系统就经常有此类智能手机等一些嵌入式系统就经常有此类需求。而嵌入式数据库管理系统则不能离需求。而嵌入式数据库管理系统则不能离开操作系统的支持。开操作系统的支持。5.系统需要不断地进行升级和系统需要不断地进行升级和进行二次开发进行二次开发如果要进行某些二次开发工作,那么使用嵌如果要进行某些二次开发工作,那么使用嵌入式操作系统是一个明智的选择。嵌入式操入式操作系统是一个明智的选择。嵌入式操作系统都提供了一系列供二次开发人员使用作系统都提供了一系列供二次开发人员使用的的API接口。在这些接口之上进行开发,可接口。在这些接口之上进行开发,可以免去很多繁琐的底层开发工作,这不仅可以

22、免去很多繁琐的底层开发工作,这不仅可以大大提高嵌入式系统的开发效率。而且也以大大提高嵌入式系统的开发效率。而且也提高了嵌入式应用软件的可移植性。提高了嵌入式应用软件的可移植性。嵌入式操作系统与实时操作系统嵌入式操作系统与实时操作系统早期的嵌入式系统几乎都用于控制目的,早期的嵌入式系统几乎都用于控制目的,因此或多或少都有些实时要求。所以在那因此或多或少都有些实时要求。所以在那时时“嵌入式操作系统嵌入式操作系统”实际上就是实际上就是“实时实时操作系统(操作系统(RTOS)”的代名词。近几年的代名词。近几年来,由于掌上计算机这类设备的出现,有来,由于掌上计算机这类设备的出现,有了许多没有实时要求的嵌

23、入式系统。在这了许多没有实时要求的嵌入式系统。在这样的背景下,样的背景下,“嵌入式操作系统嵌入式操作系统”和和“实实时操作系统时操作系统”就成了不同的概念。就成了不同的概念。实时系统实时系统一个实时系统是能满足以下的要求的系统:一个实时系统是能满足以下的要求的系统:当外部事件到来时,计算机能立即进行处理,当外部事件到来时,计算机能立即进行处理,使得在指定的时间内能完成对事件的处理。使得在指定的时间内能完成对事件的处理。而且外部事件到来的时间完全是随机的,没而且外部事件到来的时间完全是随机的,没有什么周期性的规律。有什么周期性的规律。实时操作系统实时操作系统实时操作系统是具有实时性,能支持实时实

24、时操作系统是具有实时性,能支持实时系统工作的操作系统。它必须能保证实时系统工作的操作系统。它必须能保证实时任务在预定的时间内完成。其首要任务是任务在预定的时间内完成。其首要任务是调度一切可以利用的资源完成实时任务。调度一切可以利用的资源完成实时任务。其次才着眼于提高整个计算机系统的使用其次才着眼于提高整个计算机系统的使用效率。效率。嵌入式操作系统和实时操作系统之间的关系嵌入式操作系统和实时操作系统之间的关系大部分嵌入式操作系统都是实时操作系统。大部分实时操作系统也都大部分嵌入式操作系统都是实时操作系统。大部分实时操作系统也都是嵌入式操作系统。它们二者间有很大的交集,我们称属于交集部分是嵌入式操

25、作系统。它们二者间有很大的交集,我们称属于交集部分的操作系统为实时嵌入式操作系统。的操作系统为实时嵌入式操作系统。嵌入式操作系统的主要性能指标嵌入式操作系统的主要性能指标嵌入式操作系统在实时系统中起着重要的嵌入式操作系统在实时系统中起着重要的作用,其性能的好坏将直接影响到整个系作用,其性能的好坏将直接影响到整个系统的性能。各种量化的性能指标对评价一统的性能。各种量化的性能指标对评价一个嵌入式操作系统提供了客观的依据,这个嵌入式操作系统提供了客观的依据,这些指标分为时间性能指标和存储开销指标些指标分为时间性能指标和存储开销指标两类。两类。1.时间性能指标时间性能指标(1)中断响应时间中断响应时间

26、(2)中断恢复时间中断恢复时间(3)任务上下文切换时间任务上下文切换时间(4)任务响应时间任务响应时间28中断响应时间中断响应时间中断响应时间是指从中断发生到开始执中断响应时间是指从中断发生到开始执行用户中断服务程序的第一条指令之间行用户中断服务程序的第一条指令之间的时间。应注意中断延迟时间与中断响的时间。应注意中断延迟时间与中断响应时间的区别。前者指从中断发生到开应时间的区别。前者指从中断发生到开始执行中断服务程序的第一条指令之间始执行中断服务程序的第一条指令之间的时间,而后者指开始执行用户的中断的时间,而后者指开始执行用户的中断服务程序的第一条指令之间的时间。服务程序的第一条指令之间的时间

27、。29中断恢复时间中断恢复时间中断恢复时间是从用户中断服务程序结中断恢复时间是从用户中断服务程序结束运行到回到被中断代码之间的时间。束运行到回到被中断代码之间的时间。中断处理时间中断处理时间具体的中断处理是由应用决定的,并不是具体的中断处理是由应用决定的,并不是操作系统的组成部分,但在这里单独提出操作系统的组成部分,但在这里单独提出来的目的是让大家对中断处理时间的要求来的目的是让大家对中断处理时间的要求有个清晰的认识。有个清晰的认识。30任务上下文切换时间任务上下文切换时间在多任务系统中,任务上下文切换是指在多任务系统中,任务上下文切换是指CPU的控制权由当前运行的任务转移到另外一个的控制权由

28、当前运行的任务转移到另外一个就绪任务时所发生的事件。这时,当前运行就绪任务时所发生的事件。这时,当前运行的任务将转为就绪或者等待状态,另一个被的任务将转为就绪或者等待状态,另一个被选定的就绪任务将成为当前运行任务。选定的就绪任务将成为当前运行任务。任务上下文切换时间包括保存当前运行任务任务上下文切换时间包括保存当前运行任务的时间、选择下一个任务的调度时间以及将的时间、选择下一个任务的调度时间以及将要运行任务的恢复时间。任务切换是在实时要运行任务的恢复时间。任务切换是在实时系统中频繁发生的动作,其时间的快慢直接系统中频繁发生的动作,其时间的快慢直接影响到整个系统的实时性能。影响到整个系统的实时性

29、能。31任务响应时间任务响应时间任务响应时间是指从任务对应的中断产任务响应时间是指从任务对应的中断产生到该任务真正开始运行这一过程所花生到该任务真正开始运行这一过程所花费的时间。任务响应时间又称调度延迟。费的时间。任务响应时间又称调度延迟。2.存储开销指标存储开销指标在嵌入式系统中,存储空间的大小也是很重要在嵌入式系统中,存储空间的大小也是很重要的问题。即使目前存储器的价格在不断下降,的问题。即使目前存储器的价格在不断下降,但基于成本和功耗的考虑,嵌入式系统的存储但基于成本和功耗的考虑,嵌入式系统的存储器一般都不大。而在这有限的空间内不仅要装器一般都不大。而在这有限的空间内不仅要装载嵌入式操作

30、系统,还要装载应用程序。因此,载嵌入式操作系统,还要装载应用程序。因此,在嵌入式操作系统的设计实现和应用开发中,在嵌入式操作系统的设计实现和应用开发中,除了上述各项时间性能指标,还应关注嵌入式除了上述各项时间性能指标,还应关注嵌入式操作系统的存储开销,这也是嵌入式操作系统操作系统的存储开销,这也是嵌入式操作系统与其他操作系统的明显区别之一。与其他操作系统的明显区别之一。嵌入式操作系统的存储开销嵌入式操作系统的存储开销嵌入式操作系统的存储开销分为嵌入式操作系统的存储开销分为代码代码的存储开的存储开销和销和数据数据空间的存储开销两部分。空间的存储开销两部分。操作系统的代码大小取决于多种因素,它一般

31、操作系统的代码大小取决于多种因素,它一般与操作系统的功能有直接关系,从几与操作系统的功能有直接关系,从几KB到上到上百百KB都是可能的。都是可能的。操作系统的数据空间通常又被称为操作系统的工作操作系统的数据空间通常又被称为操作系统的工作区。它由以下几部分所构成:区。它由以下几部分所构成:(1)用于存储操作系统的系统变量的用于存储操作系统的系统变量的RAM空间。这空间。这一部分空间的大小固定。一部分空间的大小固定。(2)用于存储用于存储操作系统对象操作系统对象的的RAM空间。在多任务空间。在多任务的系统中要创建任务、消息队列、事件、堆、分区、的系统中要创建任务、消息队列、事件、堆、分区、信号量、

32、软定时器和用户扩展区等各种操作系统对信号量、软定时器和用户扩展区等各种操作系统对象。它们的数目根据应用的需要是可变的。象。它们的数目根据应用的需要是可变的。(3)堆栈所需的空间。包括任务堆栈、中断堆栈等。堆栈所需的空间。包括任务堆栈、中断堆栈等。在多任务系统中,每个任务都是独立运行的,操作在多任务系统中,每个任务都是独立运行的,操作系统给每个任务提供了单独的堆栈空间。应用开发系统给每个任务提供了单独的堆栈空间。应用开发者决定分配给每个任务的堆栈空间时,应尽可能使者决定分配给每个任务的堆栈空间时,应尽可能使之接近实际需求量(但这实际上是一件很困难的之接近实际需求量(但这实际上是一件很困难的事)。

33、决定堆栈空间的大小,不仅需要计算任务本事)。决定堆栈空间的大小,不仅需要计算任务本身的需求(局部变量、函数调用等),如果允许中身的需求(局部变量、函数调用等),如果允许中断嵌套,则还需要计算最多中断嵌套层数(保存寄断嵌套,则还需要计算最多中断嵌套层数(保存寄存器、中断服务程序中的局部变量等)。存器、中断服务程序中的局部变量等)。嵌入式操作系统的结构嵌入式操作系统的结构1.单单一内核一内核结构结构2.层次结构层次结构3.微内核结构微内核结构 操作系统可以最粗略地分为操作系统可以最粗略地分为内核内核(kernel)、设备驱动设备驱动与与外壳外壳(shell)三大部分。通)三大部分。通俗地讲,内核是

34、操作系统的核心模块,管俗地讲,内核是操作系统的核心模块,管理理CPU的运行;而外壳是内核的外围模块的运行;而外壳是内核的外围模块,对用户发出的命令进行解释和处理。,对用户发出的命令进行解释和处理。嵌入式系统内核嵌入式系统内核 广义解释广义解释 指装入到存储器的嵌入式软件中的操作系统部指装入到存储器的嵌入式软件中的操作系统部分,在这种情况下,除了操作系统内核之外,分,在这种情况下,除了操作系统内核之外,嵌入式软件还包括板级支持包,驱动程序和应嵌入式软件还包括板级支持包,驱动程序和应用软件用软件 狭义解释狭义解释 指嵌入式操作系统中负责多任务管理及任务之指嵌入式操作系统中负责多任务管理及任务之间进

35、行通信的多任务处理部分。它进行任务管间进行通信的多任务处理部分。它进行任务管理(进程管理),时钟管理,内存管理等理(进程管理),时钟管理,内存管理等 1.单单一内核一内核结构的操作系统结构的操作系统2.层次结构的操作系统层次结构的操作系统3.微内核结构的操作系统微内核结构的操作系统在单在单一内核一内核结构和层次结构两类操作系统结构和层次结构两类操作系统中,操作系统的功能大部分都是由系统内中,操作系统的功能大部分都是由系统内核提供的。系统内核中包含的功能很多。核提供的。系统内核中包含的功能很多。整个操作系统是一个整体。没有再划分内整个操作系统是一个整体。没有再划分内核部分和核外部分。我们把这两类

36、操作系核部分和核外部分。我们把这两类操作系统统称为一体化结构的操作系统。统统称为一体化结构的操作系统。这样按照操作系统内核中包括的功能的多这样按照操作系统内核中包括的功能的多少,操作系统就被分为了微内核结构的操少,操作系统就被分为了微内核结构的操作系统和一体化结构的操作系统两大类。作系统和一体化结构的操作系统两大类。微内核结构操作系统的优点微内核结构操作系统的优点(1)内核本身小,而且简单,所以系统容易理解,容内核本身小,而且简单,所以系统容易理解,容易维护。易维护。(2)系统的配置更为灵活方便。有利于其它软件开发系统的配置更为灵活方便。有利于其它软件开发商开发各种商开发各种“第三方软件包第三

37、方软件包”。(3)更重要的是,由于微内核很小,所以更重要的是,由于微内核很小,所以CPU在内核在内核中运行的时间十分短暂。因而提高了系统的实时性。中运行的时间十分短暂。因而提高了系统的实时性。内核是操作系统中靠近硬件并且享有最高特权的一内核是操作系统中靠近硬件并且享有最高特权的一层。为了适应嵌入式计算机存储空间小的限制,嵌层。为了适应嵌入式计算机存储空间小的限制,嵌入式操作系统的内核都尽量小型化。入式操作系统的内核都尽量小型化。单内核单内核 缺点缺点 占内存空间大,缺乏可扩展性,维护困难,占内存空间大,缺乏可扩展性,维护困难,排除故障和增加新功能需要重编译排除故障和增加新功能需要重编译 优点优

38、点 系统花在内核功能切换的开销非常小,对外系统花在内核功能切换的开销非常小,对外来事件反应速度快来事件反应速度快 嵌入式操作系统的组成嵌入式操作系统的组成1.硬件抽象层硬件抽象层硬件抽象层用于屏蔽不同硬件的特征。向下它与嵌硬件抽象层用于屏蔽不同硬件的特征。向下它与嵌入式系统的硬件直接打交道,向上它对操作系统内入式系统的硬件直接打交道,向上它对操作系统内核中的各个模块提供了一个统一的接口,增强了系核中的各个模块提供了一个统一的接口,增强了系统的可移植性。当需要将嵌入式操作系统从一个硬统的可移植性。当需要将嵌入式操作系统从一个硬件平台移植到另一个硬件平台上的时候只需件平台移植到另一个硬件平台上的时

39、候只需修改硬修改硬件抽象层的程序代码件抽象层的程序代码。一些嵌入式操作系统提供一种称为一些嵌入式操作系统提供一种称为板级支持包板级支持包(Board Support Package)的软件模块。这种板级)的软件模块。这种板级支持包就是一种具体化的硬件抽象层软件。支持包就是一种具体化的硬件抽象层软件。2.操作系统内核操作系统内核任务管理、存储管理、任务间通信和中断响应等几任务管理、存储管理、任务间通信和中断响应等几部分功能必须放在操作系统的内核中。而其它的一部分功能必须放在操作系统的内核中。而其它的一些功能,例如时钟管理、文件管理、电源管理、动些功能,例如时钟管理、文件管理、电源管理、动态加载等

40、,虽然也可以放在内核之中,但更多的是态加载等,虽然也可以放在内核之中,但更多的是放在内核之外,以服务任务或库函数的形式存在。放在内核之外,以服务任务或库函数的形式存在。3.核外服务核外服务在多数情况下时钟管理、文件管理、电源管理、动在多数情况下时钟管理、文件管理、电源管理、动态加载等一些功能是由内核之外的服务任务来实现。态加载等一些功能是由内核之外的服务任务来实现。4.应用程序接口应用程序接口应用程序接口的作用是方便用户编写特定领域的嵌应用程序接口的作用是方便用户编写特定领域的嵌入式应用程序。入式应用程序。嵌入式操作系统的类型嵌入式操作系统的类型嵌入式操作系统的分类原则:嵌入式操作系统的分类原

41、则:q供应方式供应方式q实时性实时性q应用应用按供应方式分类按供应方式分类从嵌入式操作系统的供应方式上可将其分为商从嵌入式操作系统的供应方式上可将其分为商用型和免费型两类。用型和免费型两类。按实时性分类按实时性分类从嵌入式操作系统的实时性上可将其分为实时从嵌入式操作系统的实时性上可将其分为实时操作系统和非实时操作系统两类。操作系统和非实时操作系统两类。按按 应用分类应用分类从嵌入式操作系统的历史渊源上可将其分为从嵌入式操作系统的历史渊源上可将其分为PC型嵌入式操作系统和非型嵌入式操作系统和非PC型嵌入式操作系型嵌入式操作系统两类。统两类。任务管理任务管理任务是一个具有独立功能的程序段的一次运行

42、任务是一个具有独立功能的程序段的一次运行活动,是操作系统内核进行调度的活动,是操作系统内核进行调度的基本单位基本单位。在不支持线程的嵌入式操作系统中,它相当于在不支持线程的嵌入式操作系统中,它相当于进程进程,在支持线程的系统中它相当于,在支持线程的系统中它相当于线程线程。任务管理包括建立任务、删除任务、挂起任务、任务管理包括建立任务、删除任务、挂起任务、唤醒任务、设置任务属性、查询任务属性、调唤醒任务、设置任务属性、查询任务属性、调度任务等项工作。它们可以引起任务在各种状度任务等项工作。它们可以引起任务在各种状态之间进行转换。在这几项工作中任务调度是态之间进行转换。在这几项工作中任务调度是关键

43、。关键。任务状态任务状态任务的状态代表了任务占有系统资源的状况。不任务的状态代表了任务占有系统资源的状况。不同的嵌入式操作系统所定义的任务状态虽然略有同的嵌入式操作系统所定义的任务状态虽然略有不同,但都有就绪、运行、阻塞等不同,但都有就绪、运行、阻塞等3种状态。种状态。1.就绪状态:就绪状态是任务已经具备被运行的就绪状态:就绪状态是任务已经具备被运行的条件,正在等待被运行的状态。条件,正在等待被运行的状态。2.运行状态:运行状态是任务已经获得了处理器运行状态:运行状态是任务已经获得了处理器资源,正在被运行的状态。资源,正在被运行的状态。3.阻塞状态:任务正在等待某种事件发生。例如阻塞状态:任务

44、正在等待某种事件发生。例如等待某一资源已经可以使用的通知。等待某一资源已经可以使用的通知。任务状态间的转换任务状态间的转换一个任务被建立后首先一个任务被建立后首先进入的是就绪状态。进入的是就绪状态。处于执行状态的任处于执行状态的任务如果需要使用某务如果需要使用某种资源并且暂时得种资源并且暂时得不到满足时,就会不到满足时,就会进入到阻塞状态。进入到阻塞状态。处于就绪状态的任务,如果被操作系统内核中的调度程序选中处于就绪状态的任务,如果被操作系统内核中的调度程序选中,获得了,获得了CPU的使用权后就将进入执行状态,在系统的处理器的使用权后就将进入执行状态,在系统的处理器上运行。上运行。处于执行状态

45、的任务如果执行权被具处于执行状态的任务如果执行权被具有更高优先级的任务抢占或运行时间有更高优先级的任务抢占或运行时间超时,就会重新超时,就会重新回到就绪状态。回到就绪状态。处于阻塞状态的任务,如果需要使用的资源系统已经可以处于阻塞状态的任务,如果需要使用的资源系统已经可以得到,那么它将转换为就绪状态。得到,那么它将转换为就绪状态。任务调度任务调度任务调度是在多任务环境下产生的一个概念。任务调度是在多任务环境下产生的一个概念。其作用是确定任务的执行顺序和执行时间的长其作用是确定任务的执行顺序和执行时间的长短。调度可被认为是在一个特定时刻用来短。调度可被认为是在一个特定时刻用来选择选择将要运行的任

46、务及其运行时间的规则将要运行的任务及其运行时间的规则。在发生。在发生以下情况后,操作系统内核通常就要进行任务以下情况后,操作系统内核通常就要进行任务调度。调度。(1)中断服务程序结束运行。中断服务程序结束运行。(2)当前运行的任务因等待某一资源而进入了当前运行的任务因等待某一资源而进入了阻塞状态。阻塞状态。(3)某一任务进入就绪状态。某一任务进入就绪状态。先来先服务(先来先服务(First Come First Serve,FCFS)法、轮)法、轮转法是两种在通用操作系统中采用最多的调度方法。转法是两种在通用操作系统中采用最多的调度方法。但它们不太适用于嵌入式操作系统。为适应但它们不太适用于嵌

47、入式操作系统。为适应实时实时应用应用的要求,嵌入式操作系统通常采用的要求,嵌入式操作系统通常采用基于优先级的可抢基于优先级的可抢占式调度方法占式调度方法。采用基于优先级的可抢占式调度方法时,采用基于优先级的可抢占式调度方法时,每个任务被每个任务被赋予一个优先级赋予一个优先级。这个优先级体现了任务对实时性的。这个优先级体现了任务对实时性的要求,要求,任务的实时性越强,其优先级就越高任务的实时性越强,其优先级就越高。当有优。当有优先级更高的任务进入就绪状态时,则当前任务立即停先级更高的任务进入就绪状态时,则当前任务立即停止运行,把止运行,把CPU的使用权交给这个优先级更高的任务,的使用权交给这个优

48、先级更高的任务,使它立刻投入运行。这样保证了使它立刻投入运行。这样保证了CPU时刻总是在运行时刻总是在运行优先级最高的任务。优先级最高的任务。任务通信任务通信在并发环境下,若一个任务不受其它任务的影响,则在并发环境下,若一个任务不受其它任务的影响,则称该任务为称该任务为独立任务独立任务,若一个任务会受到其它任务的,若一个任务会受到其它任务的影响,则称该任务和影响它的任务为影响,则称该任务和影响它的任务为协作任务协作任务。任务。任务之间的影响关系有之间的影响关系有互斥、同步、数据交换互斥、同步、数据交换等等3种。这种。这3种关系统称为种关系统称为任务通信任务通信。(1)互斥:互斥指多个任务不能同

49、时使用同一资源。例互斥:互斥指多个任务不能同时使用同一资源。例如,如,CPU、打印机、数据等。、打印机、数据等。(2)同步:同步指一个任务能否继续执行需要受到另一同步:同步指一个任务能否继续执行需要受到另一个任务的制约。例如,打印任务必须等计算任务完成个任务的制约。例如,打印任务必须等计算任务完成计算工作之后才能开始打印计算结果。计算工作之后才能开始打印计算结果。(3)数据交换:数据交换目的是为了在任务之间传递一数据交换:数据交换目的是为了在任务之间传递一批数据。批数据。57存储器 storage,memory内存储器(简称内存、主存、物理存储器)(简称内存、主存、物理存储器)处理机能直接访问

50、的存储器。用来存放系统和用户的程序和数据,其处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,存储方式是以新换旧,断电信息丢失。特点是存取速度快,存储方式是以新换旧,断电信息丢失。外存储器(简称外存、辅助存储器)(简称外存、辅助存储器)处理机不能直接访问的存储器。用来存放用户的各种信息,存取速处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。度相对内存而言要慢得多,但它可用来长期保存用户信息。存储管理概述存储管理概述协调使用这些存储器正是协调使用这些存储器正是OS提要做的工作之一提要做的工作之一存储管理概述

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第十课-嵌入式操作系统概述课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|