第一章1.5前后台系统的组成和运行模式如何?需要考虑的主要因素有哪些?主要性能指标是什么?答:系统组成:由前台事件(外部事件)和后台(主程序组成)。运行模式:后台是一个一直在运行的系统,前台是由一些中断处理过程组成的。当有一个前台事件引起中断,中断后台运行,进行前台处理,处理完成后又回到后台。考虑因素:中断的现场保护和恢复;中断嵌套;中断处理过程;主程序的协调(共享资源)问题性能指标:中断延迟时间;响应时间;恢复时间1.6单处理器多任务系统由哪些部分组成?其运行方式如何?答:系统组成:是由多个任务、多个中断处理过程和嵌入式操作系统组成的有机整体运行方式:在多任务系统中每个任务是顺序执行的,并行性通过操作系统来完成,任务间以及任务与中断处理程序间的通信、同步和互斥也需要操作系统的支持。第二章2.1嵌入式硬件系统由哪几部分组成?答:嵌入式微处理器;总线;存储器;I/O接口和设备2.4ARM有几种异常?其异常处理方式和80×86有什么不同?答:异常:7种。Rest异常;UndefinedInstruction异常;SoftwareInterrupt异常;PrefetchAbort异常;DataAbort平常;IRQ(interrupt);FIQ(fastinterrupt)不同:对于80×86CPU,当有异常发生时CPU是到指定的向量地址读取要执行的程序的地址,跳转到相应的地址并执行;而对于ARMCPU,当有异常发生时CPU是到向量地址的读取指令并执行,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)。第三章3.2嵌入式软件的体系结构包括哪些部分?每部分的作用是什么?答:部分:①驱动层;②操作系统层;③中间件层;④应用层。驱动层:直接与硬件打交道,它对操作系统和应用提供所需驱动的支撑。操作系统层:包括嵌入式内核、嵌入式TCP/IP等网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理器等部分。其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系系统的需要来确定。中间件层:解决跨平台应用及支持二次开发等问题应用层:应用层软件主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如I/O任务、计算的任务和通信任务等,由操作系统调度各个任务的运行3.3嵌入式软件的体系结构包括哪些部分?每部分的作用是什么?答:5个阶段。①上电复位、板级初始化阶段;②系统引导/升级阶段;③系统初始化阶段;④应用初始化阶段;⑤多任务应用阶段①:嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。②:根据需要分别进入软件系统引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。③:在该阶段进行操作系统等系统软件各功能部分所必需的初始化工作;系统初始化阶段需要按特定顺序进行。④:在该阶段进行应用任务的创建,信号量、消息队列等的创建和与应用相关的其他初始化工作。⑤:各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。3.4嵌入式操作系统与通用计算机操作系统的区别是什么?其发展趋势是什么?分析见作业答:区别:通用计算机操作系统以提高系统总体利用率为标准,比如最大化利用CPU;而嵌入式操作系统关注的是如何在规定时间内完成任务,时效性和可靠性更重要。趋势:①形成行业的标准;②向高可用和高可靠方向发展;③适应不同的嵌入式硬件平台④功能丰富第四章4.3可抢占式调度和可抢占的操作系统内核是否是同一个概念?为什么?谁对系统的实时响应性能影响大答:不是。内核可抢占与不可抢占,体现在任务在使用内核提供的和统调过程中被中断打断的不同处理上。可抢占的操作系统内核对实时性影响更大。第五章5.1请说明什么叫任务,任务有哪些主要特性,主要包含哪些内容,并说明任务、进程与线程三个概念之间的区别。答:任务是一个具有独立功能的无限循环的程序段的一次运行活动,是实时内核调度的单位,具有动态性、并行性和异步独立性等特性。特性:①动态性任务状态是不断变化的。任务状态一般分为就绪态、运行态和等待态。在多任务系统中,任务的状态将随着系统的需要不断进行变化。②并行性系统中同时存在多个任务,这些任务在宏观上是同时运行的。③异步独立性每个任务各自按互相独立的不可预知的速度运行,走走停停。内容:①代码,即一段可执行的程序。②数据,即程序所需要的相关数据(变量、工作空间、缓冲区等)。③堆栈。④程序执行的上下文环境。区别:①在嵌入式实时系统中,任务通常为进程和线程的统称,并把任务作为调度的基本单位进行阐述。②进程由代码、数据、堆栈和进程控制块PCB构成。③线程是进程内部一个相对独立的控制流,由线程上下文和需要执行的一段程序指令构成。5.3请说明任务主要包含哪些参数,并对参数的含义进行解释。答:任务的特性可以通过优先级、周期、计算时间、就绪时间和截止时间等参数来进行描述。任务的优先级表示任务对应工作内容在处理上的优先程度。优先级越高,表明任务越需要得到优先处理。任务的优先级分为静态优先级和动态优先级。静态优先级表示任务的优先级被确定后,在系统运行过程中将不再发生变化;动态优先级则意味着在系统的运行过程中,任务的优先级是可以动态变化的。周期是周期任务所具有的参数,表示任务周期性执行的间隔时间。任务的计算时间是指任务在特定硬件环境下被完整执行所需要的时间,也被称为是任务的执行时间。任务的就绪时间表示任务具备了在处理器上被执行所需要的条件时的时间。任务的截止时间意味着任务需要在该时间到来之前被执行完成。截止时间可以通过绝对截止时间和相对截止时间两种方式来表示,相对截止时间为任务的绝对截止时间减去任务的就绪时间。5.4请说明任务主要包含哪些状态,并就状态之间的变迁情况进行描述。答:三种基本状态:①等待任务在等待某个事件的发生;②就绪任务等待获取处理器资源;③执行任务获得处理器资源,所包含的代码内容正在被执行。5.6请说明什么叫做任务切换,任务切换通常在什么时候进行以及任务切换的主要工作内容答:任务切换指当前任务的上下文,并恢复需要执行任务的上下文的过程。任务切换可以在实时内核从当前正在运行的任务中获得控制权的任何时刻发生。①保存处理器上下文环境;②更新当前处于运行状态任务的任务控制块的内容。如把任务的状态由运行改为就绪或者等待;③把任务的任务控制块移到相应的队列;④选择另一个任务进行执行,实时内核通过调度程序按照一定的策略来选取需要投入运行的任务;⑤改变需要投入运行的任务的任务控制块的内容,把任务的状态变为运行状态;⑥根据任务控制块,恢复需要投入运行的任务的上下文环境。5.13什么叫优先级反转?解决优先级反转有哪些主要方法?分别就这些方法进行描述。答:高优先级任务需要等待低优先级任务释放资源,而低优先级任务又在等待中等优先级任务的现象。①优先级继承协议;②优先级天花板协议。①当一个任务阻塞了一个或多个高优先级任务时,该任务将不使用其原来的优先级,而使用被该任务阻塞的所有任务的最高优先级作为其执行临界区的优先级。当该任务退出临界区时,又恢复到其最初的优先级。②目的在于解决优先级继承协议中存在的死锁和阻塞链问题。第六章6.3什么是“删除安全”问题?在什么情况下需要对任务实施删除安全保护?答:1.为了避免任务在临界区执行时不被意外删除,系统可以提供“任务保护”和“解除任务保护”这样一对原语作为一种解决方法;同时,为互斥信号量提供“删除安全”选项。2.在一个受信号量保护的临界区执行的任务不会被意外地删除,删除一个在临界区执行的任务可能引起意想不到的后果,如造成保护资源的信号量不可用第七章7.1请阐述中断的概念,并说明中断与自陷阱、异常之间的概念上有哪些联系与区别。(判断,选择)答:中断:由于CPU外部原因而改变的程序执行执行流程的过程,属于异步事件,又称为硬件中断。自陷和异常则为同步事件。自陷:表示通过处理器所拥有的软件指令,可预期地使处理器正在执行的程序流程发生变化,以执行特定的程序。自陷是显式的事件,需要无条件执行。异常:CPU自动产生的自陷,以处理异常事件,如被0除,执行非法指令和内存保护故障等。异常没有对应的处理器指令;当异常事件发生时,处理器也需要无条件地挂起当前运行的程序,执行特定的处理程序。7.3请描述中断处理的基本过程答:中断处理的全过程分为中断检测,中断响应和中断处理3个阶段。中断检测在每条指令结束时进行,检测是否有中断请求或是否满足异常条件。为满足中断处理的需要,在指令周期中使用中断周期。中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。中断处理处理即执行中断服务程序。中断服务程序用来处理自陷,异常或者是中断。7.7请说明在系统时钟中断服务程序中,主要完成哪些工作?答:定时器发生中断后,执行系统时钟中断处理程序,并在中断处理程序中调用tick处理程序,实现系统中与时间和定时相关的操作。第八章8.1请说明内存主要存放哪些内容,实时系统在进行内存管理时通常需要考虑哪些因素。(简答,选择)①指令代码(二进制机器指令);②静态分配的数据(如静态变量,全局变量);③具有先进后出处理方式的栈或动态分配的数据(如动态变量和返回地址);④堆。用来存储数据,并可被编程人员分配和释放。1)什么是嵌入式系统,嵌入式系统与通用计算机系统的异同?以应用为中心,以计算机技术为基础,软/硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的的面目应用在社会的各种领域,其典型产品为PC机;而嵌入式计算机,则是非通用计算机形态的计算机应用,它以潜入系统核心部件的形式隐藏在各种装置、设备、产品和系统中。因此,嵌入式计算机是一种计算机的存在形式,是从计算机技术的发展中分离出来的。3)按实时性分,嵌入式系统可分为几类?他们的特点是?可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求,但系统响应时间得不到满足时,不会导致系统崩溃或致命的错误。4)按软件结构来分嵌入式系统可分为几类?它们的优缺点是什么?分别适用于哪些系统?5)前后台系统的组成和运行模式如何?需要考虑的主要因素有哪些?主要性能指标是什么?6)单处理器多任务系统由哪些部分组成?其运行方式如何?嵌入式硬件系统由哪几部分组成?嵌入式微处理器的分类,特点是什么?主流的嵌入式处理器又哪些?ARM有几种运行模式?哪些具有特权?如何改变处理器的模式?运行模式和寄存器的关系如何?什么是影子寄存器?AMBA属于哪种总线?请以一款ARM芯片为例分析AMBA的作用。嵌入式软件的种类和特点是什么?嵌入式软件的体系结构包括哪些分布?每部分的作用是什么?嵌入式软件的运行流程一般分几个阶段?每个阶段完成的主要工作是什么?嵌入式操作系统与通用计算机操作系统的区别是什么?其发展趋势是什么?请分析一种面向行业的嵌入式操作系统的标准。嵌入式软件开发工具的分类如何?什么是交叉开发环境?嵌入式实时内核设计的关键问题包括哪些方面?在嵌入式实时内核的实际实现中,可以采取哪些方法来提高其实时性?可抢占式调度和可抢占的操作系统内核是否是同一个概念?为什么?哪一个对系统的实时响应性能影响更大?请说明什么叫任务,任务有哪些主要特征,主要包含哪些内容,并说明任务,进程与线程三个概念之间的区别。。请说明任务主要包含哪些参数,并对参数的含义进行解释。请说明任务主要包含哪些状态,并就状态之间的变迁情况进行描述。请说明什么叫任务切换,任务切换通常在什么时候进行以及任务切换的主要工作内容。请说明任务调度有哪些分类方法,并说明每种分类下的主要调度方法。什么叫优先级反转?解决优先级反转有哪些主要方法?分别就这些方法进行描述。嵌入式操作系统内核提供的同步,互斥与通信机制有哪些?请以一具体的嵌入式操作系统为例,分析他所提供的同步,互斥与通信机制。任务等待消息的方式有哪几种?当任务