第一章
1.5 前后台系统的组成和运行模式如何?需要考虑的主要因素有哪些?主要性能指标是什么?
  答:系统组成:由前台事件(外部事件)和后台(主程序组成)。
      运行模式:后台是一个一直在运行的系统,前台是由一些中断处理过程组成的。当有一个前台事件
                引起中断,中断后台运行,进行前台处理,处理完成后又回到后台。
      考虑因素:中断的现场保护和恢复;中断嵌套;中断处理过程;主程序的协调(共享资源)问题
      性能指标:中断延迟时间;响应时间;恢复时间
1.6 单处理器多任务系统由哪些部分组成?其运行方式如何?     
  答:系统组成:是由多个任务、多个中断处理过程和嵌入式操作系统组成的有机整体
      运行方式:在多任务系统中每个任务是顺序执行的,并行性通过操作系统来完成,任务间以及任务
                与中断处理程序间的通信、同步和互斥也需要操作系统的支持。
第二章
2.1 嵌入式硬件系统由哪几部分组成?
  答:嵌入式微处理器; 总线; 存储器; I/O接口和设备
2.4 ARM有几种异常?其异常处理方式和80×86有什么不同?
  答:异常:7种。Rest异常;Undefined Instruction异常;Software Interrupt异常;Prefetch Abort异常;
            Data Abort平常;IRQ(interrupt);FIQ(fast interrupt)
    不同:对于80×86CPU,当有异常发生时CPU是到指定的向量地址读取要执行的程序的地址,跳
            转到相应的地址并执行;而对于ARM CPU,当有异常发生时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个阶段。中断检测在每条指令结束时进行,检测是否有中断请求或是否满足异常条件。为满足中断处理的需要,在指令周期中使用中断周期。  中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。  中断处理处理即执行中断服务程序。中断服务程序用来处理自陷,异常或者是中断。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。