实时操作系统考试复习内容

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

09计科嵌入式方向实时操作系统考试复习内容小编:余建第一章嵌入式系统导论1、RTOS指的是什么?嵌入式系统的定义是什么?P2RTOS指的是嵌入式实时操作系统(RealTimeOperatingSystem)。嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2、按嵌入式软件结构分类,嵌入式系统可分为哪几类?P9循环轮询系统、前后台系统、单处理器多任务系统、多处理器多任务系统第三章嵌入式软件系统1、什么是“零拷贝”(零复制)技术?P71-72所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移。2、(并发,多任务多操作系统)目前操作系统的体系结构有哪些?单块结构、层次结构、客户/服务器(微内核)结构。第四章嵌入式实时内核基础1、中断响应时间、中断延迟时间的概念是什么?什么是响应性?P126、P124、P94中断响应时间是指从中断发生到开始执行用户中断服务程序的第一条指令之间的时间。中断延迟时间是指从中断发生到系统获知中断,并且开始执行中断服务程序所需要的最大滞后时间。响应性是指识别外部事件,并服务该事件。中断延迟时间=最大关中断时间+中断嵌套时间+硬件开始处理中断到开始执行ISR第一条指令之间的时间最大关中断时间=MAX[MAX(内核关中断时间),MAX(应用关中断时间)]中断响应时间=中断延迟+保存CPU内部寄存器的时间中断响应时间(抢占式调度)=中断延迟+保存CPU内部寄存器的时间+内核中断服务程序入口函数的执行时间2、可抢占内核与抢占式调度的概念分别是什么?P97可抢占内核:即使正在执行的是内核服务函数,也能响应中断,并且中断服务程序退出时能进行任务重新调度。如果有优先级更高的任务就绪,就立即让高优先级任务运行,不要求回到被中断的任务,将未完成的系统调用执行完。抢占式调度:在抢占式调度的情况下,一旦更高优先级的任务就绪,当前任务的CPU使用权就会被尽快剥夺,以使更高优先级的任务能够尽快得到CPU。如果是中断服务程序使一个高优先级任务就绪,那么在中断完成后,高优先级任务开始运行。3、资源的有限时间等待方式指什么?(互斥,访问临界资源)P101在多任务实时应用中,任务没能获得需要的资源就会被阻塞,等待有限时间后,内核可唤醒该任务,确保其余下工作不被耽误。采用资源的有限时间等待方式,可以有效避免死锁。4、为什么中断服务程序应该尽量简短?P10209计科嵌入式方向实时操作系统考试复习内容小编:余建①避免中断嵌套带来的延误;②采用中断服务程序和任务配合方式,缩短中断处理时间。5、影响实时内核可移植性的因素有哪几个方面?具体实现又是如何考虑的?P103影响实时内核可移植性的因素主要有:编程语言、体系结构、代码实现的技巧。高级语言实现的代码比用汇编语言实现相应功能的代码具有更好的移植性;将内核设计为三层结构:硬件无关层、硬件抽象层和硬件相关层,内核的移植工作集中在硬件相关层,与其余两层无关,从而确保其具有良好的可移植性;程序中对不可移植代码的使用转换成对函数和宏定义的使用,在以后的移植过程中,既有利于迅速地对要修改的代码进行定位,又可以方便地进行修改,从而大大提高移植的效率。6、嵌入式操作系统的可剪裁性与可配置性的概念是什么?两者有何区别?P104可剪裁性:表示系统在增加、卸装功能模块时仅需做少量的修改或者根本不用修改。取决于模块之间的耦合程度;剪裁是有限的,有规则的。可配置性:表示用户可针对系统中未被卸装的模块,根据应用的不同需求,决定系统的规模、功能以及内存分配等。为了减轻用户配置系统的负担,配置项目应提供缺省值。7、为什么在嵌入式系统中不采用虚拟内存技术?P70因为虚拟内存机制引起的缺页、调页现象会给系统带来不确定性且需要比较多的资源,因此一般采用固定分区和堆的动态内存分配方式,使系统具有较好的可预测性,开销小。8、为什么要提供面向行业的接口标准?(提供和定制API有什么好处呢?)P106精简和可移植性的平衡;POSIX过于宽泛,不利于精简;开发人员易于上手。第五章任务管理与调度1、任务有何特性?每种特性的含义是什么?P139任务是一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位。任务的特性:①动态性:任务状态是不断变化的。一般分为就绪态、运行态和等待态。在多任务系统中,任务的状态将随着系统的需要不断进行变化。②并行性:系统中同时存在多个任务,这些任务在宏观上是同时运行的。③异步独立性:每个任务各自按相互独立的不可预知的速度运行,走走停停。2、任务的截止时间和计算时间分别指什么?P141任务的计算时间:任务在特定硬件环境下被完整执行所需要的时间,也被称为是任务的执行时间(executiontime)。任务的截止时间:意味着任务需要在该时间到来之前被执行完成。3、任务管理所涉及的名词解析:PCP、PHP、TCB、EDF、FIFO。P163、P164、P143、P161、PCP:优先级天花板协议(priorityceilingprotocol),PHP:优先级继承协议(priorityinheritanceprotocol),TCB:任务控制块(TaskControlBlock,TCB),任务控制块是包含任务相关信息的数据结构,包含了任务执行过程中所需要的所有信息。EDF:最早截止时间优先算法(EarliestDeadlineFirst),也称为截止时间驱动调度算法(DDS),EDF09计科嵌入式方向实时操作系统考试复习内容小编:余建在调度时,任务的优先级根据任务的截止时间动态分配。截止时间越短,优先级越高。FIFO:先入先出队列(FirstInputFirstOutput),这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。4、任务的挂起和睡眠有何区别?P151-152任务的挂起:一个任务可以把自己挂起;任务被挂起后,该任务将处于等待状态。任务的睡眠:使当前任务睡眠一段指定的时间,时间到后,任务又重新回到就绪状态。任务的挂起的工作:根据指定的ID,获得对应任务的TCB;把任务的状态变为等待状态,并把TCB放置到等待队列;如果任务自己挂起自己,进行任务调度。任务的睡眠的工作:修改任务状态,把任务状态变为等待状态;把任务TCB放置到时间等待链;进行任务调度。5、上下文环境和上下文切换分别指是什么意思?任务(上下文)切换有哪些步骤?P139、P144上下文环境:包括了实时内核管理任务、以及处理器执行任务所需要的所有信息。如任务优先级、任务的状态等实时内核所需要的信息,以及处理器的各种寄存器的内容。任务的上下文环境通过任务控制块(TaskControlBlock,TCB)来体现。上下文切换:保存当前任务的上下文,并恢复需要执行的任务的上下文的过程。任务切换的基本步骤:①保存任务上下文环境;②更新当前运行任务的控制块内容,将其状态改为就绪或等待状态;③将任务控制块移到相应队列(就绪队列或等待队列);④选择另一个任务进行执行(调度);⑤改变需投入运行任务的控制块内容,将其状态变为运行状态;⑥恢复需投入运行任务的上下文环境。6、与进程相比,线程作为任务调度执行的单位有什么优势?P138创建:在一个已有进程中创建一个新线程比创建一个全新的进程所需的时间开销少;终止:终止一个线程比终止一个进程所花费的时间少;切换:线程切换比进程切换所花费的时间少;通信:使同一进程内部不同线程之间的通信效率得到显著提高。在大多数操作系统中,不同进程之间的通信需要内核的干预,而同一进程内部不同线程之间则可直接通信。7、时间片轮转调度算法的内容是什么?P157时间片轮转调度(round-robinscheduling)算法是指:当有两个或多个就绪任务具有相同的优先级,且它们是就绪任务中优先级最高的任务时,任务调度程序按照这组任务就绪的先后次序调度第一个任务,让第一个任务运行一段时间,然后又调度第二个任务,让第二个任务又运行一段时间,依次类推,到该组最后一个任务也得以运行一段时间后,接下来又让第一个任务运行。8、什么是优先级反转?优先级继承协议的基本思想是什么?它是如何产生死锁和阻塞链的?优先级天花板协议的基本思想是什么?P162、P163、P164、P164优先级反转是指:高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象。优先级继承协议的思想:当一个任务阻塞了一个或多个高优先级任务时,该任务将不使用其原来的优先级,而使用被该任务所阻塞的所有任务的最高优先级作为其执行临界区的优先级。当该任务退出临界区时,又恢复到其最初的优先级。09计科嵌入式方向实时操作系统考试复习内容小编:余建如何产生死锁:假定在时刻t1,任务T2获得信号量S2,进入临界区。在时刻t3,任务T2又试图获得信号量S1,但一个高优先级任务T1在这个时候就绪,抢占任务T2并获得信号量S1,接下来任务T1又试图获得信号量S2。这样就出现了死锁现象。这种死锁可以通过规定按顺序访问信号量的方式得到解决。如何产生阻塞链:假定任务T1需要顺序获得信号量S1和S2;任务T3在S1控制的临界区中被T2抢占,然后T2进入S2控制的临界区。这个时候,任务T1被激活而获得CPU资源,发现信号量S1和S2都分别被低优先级任务T2和T3加锁,使得T1将被阻塞两个临界区,需要先等待任务T3释放信号量S1,然后等待任务T2释放信号量S2,这样就形成了关于任务T1的阻塞链。优先级天花板协议的思想:在优先级天花板协议中,如果任务获得信号量,则在任务执行临界区的过程中,任务的优先级将被抬升到所获得信号量的优先级天花板;任务执行完临界区,释放信号量后,其优先级恢复到其最初的优先级;如果任务不能获得所申请的信号量,任务将被阻塞。使用优先级天花板协议目的在于解决优先级继承协议中存在死锁和阻塞链问题。9、任务的状态有哪几个?每个状态以什么形式变现出来?各状态之间如何转换的(画图)?P142任务的基本状态:等待(waiting):任务在等待某个事件的发生;就绪(ready):任务等待获得处理器资源;执行(running):任务获得处理器资源,所包含的代码内容正在被执行。在单处理器系统中:任何时候都只有一个任务在CPU中执行:如果没有任何事情可做,就运行空闲任务执行空操作。任何一个可以执行的任务都必须处于就绪状态:调度程序从任务的就绪队列中选择下一个需要执行的任务。处于就绪状态的任务拥有除CPU以外的其他所有需要的资源。任务还可能处于等待状态:如果任务在需要等待I/O设备或其他任务提供的数据,而数据又还没有到达该任务的情况下,就处于等待状态任务状态变迁图:10、嵌入式实时系统采用多任务处理方式有什么优势?P137①相对于前后台软件结构而言,多任务软件结构的每个任务规模较小,每个任务更容易编码和调试,其质量也更容易得到保证。②应用本身就是由多个任务构成的,采用多任务处理方式是应用问题的一个非常自然的解决方式。③任务之间具有较高的独立性,耦合性小,通过增加新的任务就能方便地扩充系统功能。09计科嵌入式方向实时操作系统考试复习内容小编:余建④实时性强,保证紧急事件得到优先处理成为可能。第六章同步、互斥与通信1、同步、互斥、通信分别是什么含义?P176同步:协调彼此运行的步调,保证协同运行的各个任务具有正确的执行次序。互斥:竞争除CPU外的其他共享资源。通信:彼此间传递数据或信息,以协同完成某项工作。2、通信所涉及的系统开销是什么?P177如果两个任务之间需要进行大量的通信,则耦合程度较高,相应的系统开销较大;如果两个任务之间不存在通信需求,其间的同步关系很弱甚至不需要同步或互斥,则耦合程度较低,系统开销较小。3、信号量有哪几种?各自有什么用途?P178信号量一般分为三种:①互斥信号量:用于解决共享资源互斥访问问题。它比较特殊,可能会引起优先级反转问题。

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功