《嵌入式实时操作系统试题.docx》由会员分享,可在线阅读,更多相关《嵌入式实时操作系统试题.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式实时操作系统试题 嵌入式实时操作系统试题(笔试、闭卷)一、判断(21224分)1、嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。(F)2、PC机可包含在嵌入式系统中。(T)3、通常嵌入式系统是一个通用的计算平台,其软件是应用程序和操作系统两种软件的一体化程序。(F)4、嵌入式硬件系统的多样性不仅表现在嵌入式CPU的多样性、而且具有相同微处理器的硬件系统可能会有多种不同的外围电路。(T)5、嵌入式硬件系统的核心是嵌入式微处理器,其主要体系架构有SPARC、Pentium、Itanium等。(F)6、AMBA总线是片内总线,包括高速总线AHB和低速总线APB。 (T)7、Nand
2、Flash是一种FlashMemory它既可以做主存也可做外存使用。(F)8、NorFlash是一种FlashMemory它既可以做主存也可做外存使用。(T)9、在ARMCPU模式中System模式与User模式的运行环境一样,但是它可以不受任何限制地访问任何资源。(T)10、在ARMCPU模式中除User模式外,其它模式都被称为特权模式,User模式可直接改变CPU的模式。(F)11、ARM有两种工作状态:ARM和Thumb,ARM和Thumb之间状态的切换将影响CPU的模式或寄存器的内容。(F)12、ARM是32位嵌入式处理器,并可以进入16位运行模式,可支持大、小端数据格式(T)13、X
3、86CPU的异常向量与ARMCPU的异常向量的区别是:在X86平台上,当有异常发生时CPU是到指定的向量地址读取要执行的程序的地址。而ARMCPU是到向量地址的地方读取指令,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)。(TRUE)14、存储器映射编址是指I/O端口的地址与内存地址统一编址,即I/O单元与内存单元在同一地址空间。其优点是可采用丰富的内存操作指令访问I/O单元、无需单独的I/O地址译码电路、无需专用的I/O指令。(T)15、ARM的中断处理方式与X86是一致的,当中断发生时CPU是到指定的向量地址读取要执行的程序的地址。 (F)16、AMBA中APB是低速总线,
4、并可支持多个主单元。(F)17、在设计嵌入式实时操作系统调度器的时候,应尽量考虑公平和最小化平均响应时间。(F)18、不可抢占内核是指内核不能被中断,可抢占内核指内核可被中断。(F)19、当任务等待资源时,系统调用一旦返回就获得了该等待的资源。(F)20、在嵌入式实时多任务系统中,任务的优先级比中断的优先级高。(F)21、中断处理程序可以使用嵌入式操作系统提供的所有系统调用。(F)22、基于优先级可抢占式调度是指任何时刻都严格按照高优先级任务在处理器上运行的原则进行任务调度,或者说,在处理器上运行的任务永远是系统中优先级最高的任务(F)23、优先级继承可解决优先级反转问题,需要操作系统提供该支
5、持,优先级继承对应用的运行流程影响大(F)23a、优先级天花板可解决优先级反转问题,它是当低优先级的任务阻塞高优先级任务时抬高低优先级任务的优先级(F)24、优先级继承算法要求在互斥信号量被创建时就确定出可能访问竞争资源的任务情况,从而确定该资源的优先级天花板。(FALSE)25、优先级继承和优先级天花板算法对任务优先级的改变在一定程度上都会影响应用中预先设定的任务运行流程。相对而言,优先级天花板算法对应用中任务流程的影响要小。(F)26、优先级天花板算法可有效地解决死锁和阻塞链问题。(T)27、事件机制是一种同步机制,当多次发送同一事件时,在未经过任何处理的情况下,其效果等同于只发送一次。(
6、T)27a.通常情况下,互斥信号量的取值为0和1,创建时初始值为0。(F)27b.从操作系统的角度来看,消息队列中存放的消息是无特定含义的字节流,其含义由具体应用来解释。(T)28、在事件机制中,等待事件的“与”关系表示等待的几个事件都要发生才算等待的结果发生了。(T)29、在中断处理程序中如果使用了操作系统的系统调用唤醒了比被中断任务的优先级高的任务,这时操作系统马上进行任务调度。(F)30、在嵌入式实时操作系统中一般不使用虚拟存储技术,以避免页面置换所带来的开销所引起的不确定。(T)31、在MMU的2级内存保护模式下,应用程序的逻辑地址同应用程序在物理内存中的物理地址相同。(T)32、交叉
7、调试可以直接调试不同指令集的程序,不需要通过外部通信的方式来控制被调试程序。(F)32、在OCD调试方式下,被调试程序在目标监控器的控制下运行,并与后者共享某些资源,如CPU资源、RAM资源以及通信设备(如串口、网卡等)等资源。(F)32a、OCD与RomMonitor相比,其优点是不占用目标平台的存储空间及通信设备(如串口、网卡等)等资源。(T)33、DARTS方法是结构化分析/设计的扩展,它主要用在系统设计阶段,进行任务的划分,并定义任务间的接口。(T)33a、嵌入式实时操作系统可提供高精度的系统时钟,其时间粒度由应用设定。(T)33b、时间管理中通常使用RTC和Timer两种硬件设备,其
8、中系统时钟通常以RTC为基础。(F)34、单调速率调度的基本原理是:基于任务的周期给它们指定优先级,一般来说,周期越短的任务优先级越低。(F)35、嵌入式DSP专用于数字信号处理,采用哈佛结构。(T)36、ARM处理器的Thumb指令集是32位ARM指令集的一个子集,在执行前,通过芯片上的逻辑块,扩展为标准的32位ARM指令来运行。(T)37、ARM处理器是典型的CISC体系。(F)38、QNX操作系统的体系结构为层次结构。(F)12、嵌入式操作系统内存管理比较简单,通常不采用虚拟内存管理。()13、嵌入式软件一般情况下调试器和被调试程序运行在相同的计算机上。()14、拥有关键任务的实时系统被
9、成为强实时系统,否则称为弱实时系统。()15、任务可以挂起自己也能唤醒自己。()16、采用时间片轮转调度算法,时间片设置太大与太小对系统都没有任何影响。()17、RMS调度算法只使用于所有任务都是周期性任务的情况。()18、NorFlash是一种FlashMemory它既可以做主存也可做外存使用。()19、强实时系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要引起系统崩溃或致命的错误。(F)20、弱实时对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。(F)21、循环轮询系统适合于慢速和非常快速的简单系统。(T)22、单处理器多任务系统无需嵌入
10、式操作系统的支持。 (F)23、ARM处理器有37个寄存器,9种运行模式。(F)24、如果ARM处理器运行在User模式下,则程序不能访问有些受保护的资源,但能通过异常的形式来改变CPU的当前运行模式。(T)25、异常和外部中断不能够引起ARM处理器工作模式的改变。(F)26、CPSR寄存器在所有的处理器模式下都是可以读/写的。(T)27、MIPS是一种很流行的RISC处理器。(T)28、嵌入式软件的运行方式主要有调试方式和固化方式两种,不同方式下程序代码或数据在目标机内存中的定位都相同。(F)29、交叉调试时,调试器和被调试程序运行在不同的计算机上。(T)30、任务控制块的内容在任务创建时进
11、行初始化,在系统运行过程中不会发生变化。(F)31、通过任务变量,多个任务可以把同一个全局或静态变量作为任务的私有变量来使用。(T)32、交叉编译是指编译过程由开发平台和运行平台一起编译完成。(F)二、单选或多选题(22040分,全部选对得2分,选对一半以下选项没有分,选对一半以上个选项得1分)1.嵌入式系统的特点是(ABCDE)(A)嵌入式系统通常是形式多样、面向特定应用的软硬件综合体; (B)嵌入式系统得到多种类型的处理器和处理器体系结构的支持; (C)嵌入式系统通常极其关注成本; (D)嵌入式系统有实时性和可靠性的要求; (E)嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型
12、、实时可靠、可固化的嵌入式操作系统;(F)嵌入式系统开发不需要专门工具和特殊方法。 2.精简指令集系统RISC(ReducedInstructionSetComputer)的特点是(BC)(A)减少代码尺寸,增加指令的执行周期数(B)简单的寻址模式,仅允许LOAD和STORE指令存取内存,其它所有的操作都基于寄存器到寄存器(C)直接执行、寄存器较多(D)由硬件完成部分软件功能,硬件复杂性增加,芯片成本高3.嵌入式微处理器降低功耗的技术包括如下方面:(BCD)(A)提高工作电压(B)提供不同的时钟频率:通过软件设置(C)关闭暂时不使用的功能块(D)提供功耗管理机制3.关于ROMMonitor调试
13、方式,以下说法中正确的是(ABCDE)(A)开发ROMMonitor的难度比较大。 (B)当ROMMonitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。 (C)要求目标机必须有足够的ROM(D)ROMMonitor要占用目标机一定数量的资源,如:CPU资源、RAM资源和通信设备(如:串口、网卡等)资源。 (E)调试环境不同于实际目标环境4.JTAG调试方式属于下列哪种调试方式(D)(A)RomMonitor方式(B)RomEmulator方式(C)InCircuitEmulator方式(D)OnChipDebugging方式(E)Simulator方式5.大多数嵌
14、入式实时操作系统中,大都采用调度算法(A)来保证优先级高的任务能及时运行,采用调度算法(D)解决多个同优先级任务平等调度问题。 (A)抢占式任务调度(B)单调速率调度(C)FIFO调度(D)时间片轮转调度6.在划分任务的原则中,使用哪个或几个原则划分的任务需设置较高的优先级(B、F)(A)I/O依赖性(B)时间关键性的功能(C)计算量大的功能(D)功能内聚(E)时间内聚(F)周期执行的功能7.多任务系统的主要优点是(ACE)。 (A)将复杂的系统分解成相对独立的多个任务,达到分而制之的目的,从而降低系统的复杂性; (B)需要采用一些新的软件设计方法; (C)保证系统的实时性; (D)需要增加功
15、能:任务间的协调,同步和通信功能; (E)系统的模块化好,提高系统的可维护性。 (F)需要对每一个共享资源互斥; (G)导致任务间的竞争; (H)需要使用RTOS,RTOS要增加系统的开销。 8.ARMCPU在FIQ模式下使用的寄存器集合是(A)(A)PC,R14_fiqtoR8_fiq,R7toR0,CPSR,SPSR_fiq(B)PC,R14toR8,R7toR0,CPSR,SPSR_fiq(C)PC,R14_fiqtoR8_fiq,R7_fiqtoR0_fiq,CPSR,SPSR_fiq(D)PC,R14toR8,R7toR0,CPSR9.在嵌入式实时操作系统中不采用虚拟存储管理的主要原
16、因是(AB)(A)对于实时、嵌入式应用,如果采用虚拟存储管理,由于页交换的时间不可预测会影响整个系统的确定性。 (B)在具体的嵌入式应用中,任务的数量和各自可能使用的内存容量在开发时就已预测。 10.在ARM微处理器的AMBA总线结构中,AHB由(ABCD)组成。 (A)主单元(B)从单元(C)仲裁器(D)译码器(E)APB桥10a.在ARM微处理器的AMBA总线结构中,APB具有以下(ACD)功能。 (A)AHB的从单元(B)仲裁器(C)译码器(D)APB中主单元11.关于任务,下列说法中正确的有(ABCE): (A)任务是一个具有独立功能的无限循环的程序段的一次运行活动,具有动态性、并行性
17、和异步独立性。 (B)任务控制块中应包括任务标识、任务优先级、任务状态和控制信息,以及CPU的现场的相关信息。 (C)不同的内核实现对任务状态的定义不尽相同,其基本状态为执行态、就绪态、等待态三种状态。 (D)任务函数不能有参数,但可以有返回值。 (E)与ISR不同,任务是由内核的调度程序调度的,而ISRs为异步地执行,不受调度程序调度。 12.在嵌入式系统的总体设计中,应完成如下工作(ABCDE)(A)系统总体框架设计(B)软硬件划分(C)处理器选定(D)操作系统选定(E)开发环境选定13.嵌入式软件的开发可以分为以下几种(ABCDE)。 (A)编写简单的板级测试软件,主要是辅助硬件的调试(
18、B)开发基本的驱动程序(C)开发特定嵌入式操作系统的驱动程序(板级支持包)(D)开发嵌入式系统软件,如嵌入式操作系统等(E)开发应用软件14.以下关于程序与任务区别的描述,正确的有(ABCDE)(A)任务更能真实地描述并发,而程序不能(B)程序是静态的,任务是动态的(C)任务有生命周期,有诞生有消亡,短暂的; 而程序是相对长久的(D)一个程序可对应多个任务,反之亦然(E)任务具有创建其他任务的功能,而程序没有15.假设在某嵌入式实时内核的实现中,定义了就绪、执行、挂起三种状态,并且有如下的任务状态变迁图: 就绪R执行E等待BRE的转换条件是(A)BR的转换条件是(D)ER的转换条件是(B)RB
19、的转换条件是(E)EB的转换条件是(C)(A)任务被调度,获得CPU(B)任务被抢占,放弃CPU(C)任务被阻塞(D)任务的阻塞条件被解除(E)就绪任务被运行任务通过挂起调用挂起16.以下关于中断与异步信号的描述正确的是:(ABC)(A)ISR的响应由硬件实现,ASR的响应由操作系统实现; (B)中断服务例程可运行在独立的堆栈中,异步信号例程运行在相关任务的上下文中; (C)ISR被触发时,用中断向量作为参数,而ASR触发时以异步信号集作为参数; (D)ASR调用的系统调用和ISR调用的一样。 17.实时内核的中断管理机制一般提供如下功能:(ABCDE)(A)安装中断服务程序(B)中断发生时,
20、对中断现场进行保存,并且转到相应的服务程序上执行(C)中断退出前,对中断现场进行恢复(D)中断栈切换(E)中断退出时的任务调度18.实时内核中的时钟、定时管理提供以下功能:(ABCD)(A)维持日历时间(B)任务有限等待的计时(C)软定时器的定时管理(D)维持系统时间片轮转调度18a.关于实时内核中的Tick处理程序以下(ABD)正确(A)维持系统时间(B)更新任务有限等待的计时(C)改变RTC时间(D)更新时间片(E)可根据应用的需要随时调用19.ARM有7种处理器模式和37个寄存器,所有模式共用的寄存器是(A)(A)R0-R7(B)R8-R13(C)R1420运行任务被抢占的原因可能有(A
21、CD)(A)它唤醒了高优先级的任务(B)将自己挂起(C)有多个同优先级的就绪任务,运行的时间片到(D)中断产生并处理中断21.随着任务(或ISR)不断地向(从)消息队列发送(接收)消息,消息队列的状态不断转换,可能有的状态是(AD)(A)消息队列为空(B)消息队列中有消息且有任务等待接收消息(C)消息队列中有消息,且有任务等待向它发送消息(E)消息队列满22、目前操作系统的体系结构可分为(ABC)A单块结构B层次结构C客户/服务器(微内核)D分布式结构23、以下为嵌入式实时操作系统的有()AVxWorksBQNXCLinuxDWinCEEPalmOS24、嵌入式处理器的特点有(A,B,D,E)
22、A体积小B集成度高C可靠性低D功耗低E抗电磁干扰能力强25、ARM处理器的数据类型有(A,B,C)A字节型数据B半字数据类型C字数据类型D双字数据类型26、下列ARM处理器的寄存器中,有对应影子寄存器的寄存器是(C,D)AR0,R1BR0,R8CR8,R9DR8,R13ER9,R327、下列那些存储器可以做嵌入式系统的主存(A,C,D)ANorFlashB移动硬盘CSRAMDEPROMENandFlash28、嵌入式软件有以下哪些特点(C、D、E)A规模大,开发难度大B快速启动,直接运行C开发平台和运行平台均相同D实时性和可靠性要求高E程序一体化29、操作系统通过一个调度程序来实现调度功能,调
23、用调度程序的具体位置被称为调度点,调度点通常位于以下那些位置()A中断服务程序的结束位置B任务因等待资源而处于等待状态C任务被创建或删除时D任务处于就绪状态时30、嵌入式实时操作系统的任务由以下(ABCE)部分组成A.任务控制块B.堆栈C.代码D.信号量E.数据31、以下关于MMU的说法哪些是正确的(BCE)A.所有的嵌入式微处理器都集成了MMUB.具有防止地址越界功能C.具有地址映射功能D.属于主存空间一部分E.具有操作越权功能32、在基于嵌入式操作系统的应用系统中,其初始化工作通常包括(ABDE)A.板级初始化B.系统初始化C.创建所有应用任务所需资源D.应用初始化E.创建Idle任务三、
24、简答(4X5=20分)1.按软件复杂程度来分,嵌入式系统有哪些种类?前后台系统由哪些部分组成,在设计中需要考虑的主要问题是什么?(5分)答:可分为循环轮循系统、前后台系统、单处理器多任务系统、多处理器多任务系统。 前后台系统由一个后台主程序和多个中断处理程序组成,需要考虑的是中断的现场保护和恢复,中断嵌套,中断处理过程与主程序的协调(共享资源)问题。 2、按软件复杂程度来分,嵌入式系统有哪些种类?单处理器多任务系统由哪些部分组成,在设计中首先需要考虑的主要问题是什么?(5分)答:可分为循环轮循系统、前后台系统、单处理器多任务系统、多处理器多任务系统。 系统由多个任务、多个中断处理程序和嵌入式操
25、作系统组成,首先需要考虑的是任务划分、任务和中断处理程序及任务与任务之间的接口关系。 2.ARMCPU有哪几种异常模式?比较System模式与User模式的异同答:ARMCPU的异常模式有FIQ,IRQ,Supervisor,Abort,Undefined,进入异常模式时CPU处于ARM的工作状态。 3、ARMCPU有多少个堆栈寄存器?与CPU模式的关系如何?答:6个堆栈寄存器,其中System和User模式公用一个,其他模式都有各自的堆栈寄存器。 4、简述任务上下文切换的主要步骤(5分)多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件; (2分)当前运
26、行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。(1分)上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。(1分)上下文的内容依赖于具体的CPU。(1分)4、请写出信号量、消息队列和事件的主要用途,信号量按照用途可分为几种?答:信号量主要用于同步、互斥消息队列主要用于通信,事件主要用于一对多和多对多的同步。 5、在单处理器多任务系统中最多有多少任务处于运行态、就绪态和等待态?答:最多一个任务处于运行,就绪和等待没有限制。 6、ARMCPU有多少个堆栈寄存器?与CPU模式的关系如何?答:6个堆栈寄存器,其中System和User模式公用一个,其他模式都有
27、各自的堆栈寄存器。 7、空闲任务是由谁创建的?空闲任务运行的条件和特点是什么?答:空闲任务是由OS在初始化时创建。如果系统没有其他任务可运行就运行空闲任务执行空操作。它的优先级最低,不能被删除。 8、简述多任务系统中,任务间关系和任务与中断处理程序间的关系答:任务之间的关系: l相互独立仅竞争CPU资源l竞争除CPU外的其他资源(互斥)l同步协调彼此运行的步调l通信彼此间传递数据或信息,以协同完成某项工作中断处理程序与任务间的关系为:竞争除CPU外的其他资源(互斥)、同步和通信。 9、假定嵌入式操作系统提供申请获得信号量系统调用voidSemphoneGet(SIDsid,INT16Utime
28、out,INT8U*err),其中sid为信号量的ID号,如果timeout=0表示永久等待,timeout0表示有限等待。请写出该系统调用实现的流程图。(8分)答:(1)当信号量值1,成功获得信号量,并成功返回(2)当信号量值=0,如果timeout=0就永久等待,在这种情况下有两种返回情况一是成功获得,二是信号量已被删除错误返回; 如果timeout0,在这种情况下有三种返回情况一是成功获得,二是信号量已被删除错误返回,三是超时错误返回。 10、简述中断管理中的前导和后续部分的功能。 答:中断处理前导:保存必要的寄存器,并根据情况切换中断栈,设置进入中断状态,然后调用用户中断服务程序。 中
29、断处理后续:实现中断返回前需要处理的工作,主要包括恢复寄存器和堆栈,如果要返回任务需进行任务的重调度,从中断服务程序返回到优先级最高的就绪任务。 11、简述RTC(RealTimeClock),定时器/计数器及Watchdog这三种硬件时钟在嵌入式系统中的作用,嵌入式操作系统一般使用哪些硬件时钟?如何使用。 答:RTC: v一般靠电池供电,即使系统断电,也可以维持日期和时间。 vRTC独立于操作系统,所以也被称为硬件时钟,为整个系统提供一个计时标准。 定时器/计数器: v嵌入式OS需要一个定时器作为系统时钟(或称OS时钟),并由实时内核控制系统时钟工作。 v一般情况下,系统时钟的最小粒度是由应
30、用和操作系统的特点决定的。 Watchdog:通常用于系统出错时的自动恢复,防止系统死机。 实时时钟和系统时钟之间的关系通常也被称作操作系统的时钟运作机制。 v一般来说,RTC是系统时钟的时间基准,嵌入式OS通过读取RTC来初始化系统时钟,此后二者保持同步运行,共同维系系统时间。 v系统时钟并不是本质意义上的时钟,只有当系统运行起来以后才有效,并且由实时内核完全控制12、什么是交叉开发环境?答:交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。 交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻
31、辑连接。 13、什么是交叉开发环境?答:交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。 14、OCD调试15、嵌入式软件运行流程在系统“引导/升级阶段”除了将系统软件从NorFlash中读取出来加载到RAM中运行外还有那两种引导方式?并分析这三种引导方式中那种方式引导速度最快?那种方式成本更低?16、什么是实时系统?什么是嵌入式系统?阐述二者之间的关系。 17、分别从硬件和软件两方面说明嵌入式系统的组成内容。 18、分析为什么嵌入式系统会存在功耗问题,有那些技术来降低嵌入式处理器的功耗?19、AMBA总线是ARM公司研
32、发的一种总线规范,目前为3.0版本。在AMBA总线规范中,定义了那几种总线类型?并说明这些总线中那些是高速总线,那些是低速总线?20、阐述嵌入式软件的运行流程,并介绍每个阶段的主要工作。(10分)21、什么是RMS调度算法,什么是EDF调度算法?22、四、应用题(20分)1.(8分)什么是优先级继承技术?如果采用优先级继承技术,请完成以下情况下系统运行时序的示意图:这四个任务的到达(即就绪)顺序为:D,C,B,A,且D在C到达之前已经获得了资源S。 优先级123任务D4时间任务A申请资源S失败任务D释放资源S任务A到达任务B申请资源S失败任务C申请资源S失败任务B到达任务C到达任务D获得资源S
33、任务D到达注意:在下图中用表示任务D正在运行,以此类推。 任务D答:优先级继承是当占有互斥信号量的任务的优先级低于请求获得该信号量的任务的优先级时,占有互斥信号量的任务的优先级被抬升到请求互斥信号量的任务的优先级(2分)。当任务释放完它所占有的全部互斥信号量时,它的优先级才恢复到它在进行任何优先级继承操作前的优先级。(2分)图4分优先级任务A任务D任务A1任务D任务B2任务D任务C3任务D4时间任务A申请资源S失败任务D释放资源S任务A就绪任务B申请资源S失败任务C申请资源S失败任务B就绪任务C就绪任务D获得资源S任务D就绪2.(8分)什么是优先级天花板技术?假定系统中有4个任务A,B,C,D
34、,其优先级分别为1,2,3,4(数字越小优先级越高)。这四个任务有一个共享资源(用一个互斥信号量S来确保对该资源的互斥访问)。如果采用优先级天花板技术,请完成以下情况下系统运行时序的示意图:这四个任务的到达(即就绪)顺序为:D,C,B,A,且D在C到达之前已经获得了资源S。 优先级1234时间任务A就绪任务B释放资源S任务D释放资源S任务B就绪任务B申请资源S任务C就绪任务D获得资源S任务D就绪任务D任务D任务D注意:在下图中用表示任务D正在运行,用表示任务D处于就绪,用表示任务D正在运行并获得共享资源,以此类推。 答:优先级继承是当占有互斥信号量的任务的优先级低于请求获得该信号量的任务的优先
35、级时,占有互斥信号量的任务的优先级被抬升到请求互斥信号量的任务的优先级(2分)。当任务释放完它所占有的全部互斥信号量时,它的优先级才恢复到它在进行任何优先级继承操作前的优先级。(2分)图4分优先级任务A任务B任务D1任务B任务B任务B任务B2任务C3任务D任务D4时间任务A就绪任务B释放资源S任务D释放资源S任务B就绪任务B申请资源S任务C就绪任务D获得资源S任务D就绪3.(6分)请分别填出在ARM中大端数据存放格式和小端数据存放格式下,下列变量在内存中的存放情况(该机器的字长为32位)。 变量A:wordA=0xf6734bcd,在内存中的起始地址为0xb3202100变量B:halfwor
36、dB=0x73,在内存中的起始地址为0xddddddd0变量C:wordC=0x73,在内存中的起始地址为0xddddddf0大端: 小端: 0xbxxxx0xbxxxx0xf60xcd0x730x4b0x4b0x730xcd0xf60xddddddd00xddddddd00x000xda0xda0x004、假设一款数码相机产品其开发成本为100万元,硬件BOM为1000元/台,外壳包装20元/台,软件版税为50元/台,预测该产品的销量为10万台,请列出算式并计算出这款数码相机的每台最后成本为多少?答案: 一次性的开发成本NRE(Non-RecurringEngineering)成本产品成本:
37、硬件BOM、外壳包装和软件版税等批量产品的总体成本=NRE成本+每个产品成本*产品总量每个产品的最后成本=总体成本/产品总量=NRE成本/产品总量+每个产品成本批量产品的总体成本=100(10002050)101070010010850万每个产品的最后成本=10850/10=1085=100/10+1000+20+505、假设有一款包含有xxxxI的芯片,它可工作在85MHZ,50MHZ和20MHZ的频率下,请分别列出算式并计算出其MIPS数。 答案:85*0.9=76.5MIPS,500.9=45MIPS,20*0.9=18MIPS6、请描述ARMCPUReset后CPU处于什么模式?CPS
38、R寄存器中I、F、T、M4-M0的值为多少?答案:进入Supervisior模式,I=F=1,T=0,M4M3M2M1M0=0b100117、假设一嵌入式系统的存储器包括主存NorFlash1MB和SDRAM8MB以及外存NandFlash64MB,其中初始化引导代码空间为50KB,代码、常数和初始化数据所需空间为1.2MB(该空间为一个完整的空间不可再分),数据空间所需4MB,请列举出可能的存储方式,并描述系统引导方式。 答案: 第一种方式: 将NorFlash空间分为两部分:Boot空间50KB,将1.2MB空间压缩存储到剩余空间中,上电时首先执行Boot,Boot将压缩代码等解压到SDR
39、AM中运行。 第二种方式:将NorFlash只存储Boot,1.2MB存储在NandFlash中。上电是首先执行Boot,Boot结束时将NandFlash中的1.2MB加载到SDRAM中运行。 8、以运行在X86实模式下的ucOS为例说明其任务的组成。 答案:任务通常主要包含以下内容: l代码:一段可执行的程序l数据:程序所需要的相关数据(变量、工作空间、缓冲区等)l堆栈l任务执行的上下文环境工作在X86实模式下的ucOS任务的上下文环境包括以下内容: l代码l数据l堆栈lTCBl保存在堆栈中的寄存器: 9、请运用ucOS的优先级位图算法给出优先级为8、23和16三个任务依次进入就绪态时的O
40、SRdyGrp及OSRdyTbl的值(假设初始OSRdyGrp=0b00000000,OSRdyTbl0-7=0b00000000),说明采用该算法的好处。(8分)答案:当8号任务进入时OSRdyGrp=0b00000010OSRdyTbl1=0b00000001当23号任务进入时OSRdyGrp=0b00000110OSRdyTbl1=0b00000001,OSRdyTbl2=0bxxxx当16号任务进入时OSRdyGrp=0b00000110OSRdyTbl1=0b00000001,OSRdyTbl2=0bxxxxhigh3Bit=OSUnMapTblOSRdyGrp=1;low3Bit=
41、OSUnMapTblOSRdyTblhigh3Bit=0;priority=(high3Bit3)+low3Bit=89、以下是ucOS操作系统的任务状态变迁图: 假定某多任务系统中有两个任务A,B,信号量S1和S2的初始值为0,其程序代码如下所示。假定初试时任务A和任务B都处于就绪,任务A的优先级较高。其运行流程如下表,请列出任务A和任务B所处的状态,S1和S2的值。 任务A:任务B:voidtaskA(void)Printf(“TaskARunning”);while(1)OSSemPend(S1);Printf(“TaskAHasgottenS1”)OSSemPost(S2);Print
42、f(“TaskAreleaseS2”)voidtaskB(void)Printf(“TaskBRunning”)while(1)OSSemPost(S1);OSSemPend(S2);Printf(“TaskBhasgottenS2”)运行流程TaskA状态TaskB状态S1的值S2的值TaskARunningTaskBRunningTaskAhasgottenS1TaskAreleaseS2TaskBhasgottenS2答案: 运行流程任务A状态任务B状态S1的值S2的值TaskARunning运行就绪00TaskBRunning等待S1运行00TaskAhasgottenS1运行就绪00TaskAreleaseS2运行就绪01TaskBhasgottenS2等待S1运行0010、在嵌入式OS中对于时间等待的对象,通常都被组织为差分链表的方式进行管理,以有效降低时间等待对象的管理开销。下图是当前时刻差分链,数字代表多少时间单位(Tick)。经过8个Tick后,T6任务进入等待状态,等待时间为8个Tick,请画出该时刻的差分链(4分)3T15T32T28T70T4答: 32T26T62T711、请从寄存器数目、处理器运行模式、指令集、中断处理、I/O端口的编址方法五个方面分析ARM处理器和X86处理器的异同。 14