跳转至

第四章 测验题

本章精选 50 道真题,涵盖嵌入式系统软件的核心考点。


软件组成与实时操作系统

1. IEEE的实时UNIX分委会认为实时操作系统应该具备若干特征,下面哪一项不是实时操作系统必须具有的特征?

  • A)具有异步I/O和中断处理能力
  • B)任务切换时间和中断延迟时间确定
  • C)优先级中断和调度
  • D)轮转调度
答案解析

答:D IEEE的实时UNIX分委会认为实时操作系统应该具备7个特征:具有异步I/O和中断处理能力;任务切换时间和中断延迟时间确定;优先级中断和调度;抢占式调度;内存锁定;连续文件;同步。轮转调度不是实时系统的特征。


2. 一般按照对外部事件的响应时间快慢,将嵌入式操作系统分成强实时型和普通实时型。以下均为强实时嵌入式操作系统的是

  • A)VxWorks,pSOS,μC/OS-II
  • B)VxWorks,pSOS,Windows Embedded
  • C)pSOS,μC/OS-II,μCLinux
  • D)pSOS,Windows Embedded,Symbian
答案解析

答:A 强实时嵌入式操作系统有VxWorks、pSOS、μC/OS-II。Windows Embedded、μCLinux、Symbian均属于普通实时操作系统。


3. RTOS的主要实时指标不包括

  • A)截至时间(Finish Time)
  • B)吞吐量(Throughput)
  • C)生存时间(Survival Time)
  • D)响应时间(Response Time)
答案解析

答:A 实时操作系统(RTOS)的实时性能指标主要根据三个指标来衡量:响应时间、吞吐量和生存时间。截至时间不属于RTOS的主要实时指标。


4. RTOS响应时间的具体指标不包括如下哪一项?

  • A)中断延迟时间(Interrupt Latency)
  • B)任务切换时间(Task Switching Latency)
  • C)进程切换时间(Process Switching Latency)
  • D)存储器延迟时间(Memory Latency)
答案解析

答:D RTOS响应时间的具体指标是:中断延迟时间和任务切换时间。在操作系统中,术语"任务"和"进程"基本上是通用的,因此A、B、C都属于响应时间指标。存储器延迟时间不属于此范畴。


5. 下面关于硬实时系统和软实时系统的叙述中,错误的是

  • A)如果任务执行时间超过截止时间后系统的效益变为负,这种实时系统称为硬实时系统
  • B)如果任务执行时间超过截止时间后系统的效益下降但仍保持为正,这种实时系统称为软实时系统
  • C)导弹控制器属于硬实时系统
  • D)高铁自动驾驶系统属于软实时系统
答案解析

答:D 高铁自动驾驶系统属于硬实时系统,一旦超过时限将导致严重后果。软实时系统的例子包括视频播放、高铁购票系统等。


6. 下面关于硬实时任务和软实时任务的叙述中,错误的是

  • A)软实时任务仍然要求系统的响应越快越好,但是偶尔超出时限并不会造成任务失败或导致任务出现致命错误。
  • B)对硬实时任务,必须在给定的时限内完成,超过时限将会导致任务失败或引起致命的错误。
  • C)硬实时任务的相对时限比软实时任务短。
  • D)DVD播放机的视频播放任务属于软实时任务。
答案解析

答:C 硬实时、软实时与准实时的概念与时限的长短没有关系,而是与超时后果的严重程度有关。硬实时任务的相对时限不一定比软实时任务短。


7. 按照内核结构,可将嵌入式操作系统分为单内核操作系统与微内核操作系统,下列不属于微内核操作系统的是

  • A)iOS
  • B)Android OS
  • C)Symbian
  • D)μC/OS-II
答案解析

答:B 属于微内核结构的典型嵌入式操作系统有Symbian、VxWorks、QNX、μC/OS-II、iOS等。Android OS是典型的单内核(宏内核)操作系统。


8. 以下关于微内核操作系统的叙述中,错误的是

  • A)内核小巧,传统操作系统内核中的许多部分都被移出内核
  • B)接口一致,所有进程请求使用统一接口,进程不区分内核模式和用户模式服务
  • C)各个功能模块之间松散耦合,只完成服务功能,系统管理功能交给一个或多个特权服务程序
  • D)微内核功能扩充方便,而且各个功能之间的切换而引起的开销比较小
答案解析

答:D 微内核功能扩充方便,但各个功能之间的切换引起的开销比较大,而非比较小。这是微内核相比单内核的主要缺点。


9. 以下各项不属于开源嵌入式操作系统的是

  • A)μCLinux
  • B)RTLinux
  • C)μC/OS-II
  • D)VxWorks
答案解析

答:D VxWorks是美国风河公司的大型商用操作系统,需要付费授权。μCLinux、RTLinux、μC/OS-II均属于开源操作系统。


10. 按照实时性能和内核结构划分,VxWorks操作系统属于

  • A)硬实时微内核嵌入式操作系统
  • B)软实时微内核嵌入式操作系统
  • C)硬实时单内核嵌入式操作系统
  • D)软实时宏内核嵌入式操作系统
答案解析

答:A VxWorks是目前公认为实时性最强、可靠性最高的一种嵌入式实时操作系统,属于硬实时微内核嵌入式操作系统。


11. 如下关于TinyOS的说法,正确的是

  • A)主要用于无线传感器网络的操作系统
  • B)属于重量级的操作系统
  • C)是QNX公司开发的开放源代码操作系统
  • D)TinyOS的技术特点是轻进程、被动消息、对象驱动和组件化编程
答案解析

答:A TinyOS是UC Berkeley开发的开放源代码操作系统,属于深度轻量级的操作系统,专为嵌入式无线传感网络设计。其技术特点是轻线程、主动消息、事件驱动和组件化编程。


12. 以下各项陈述中,不属于单内核操作系统特点的是

  • A)基于客户机/服务器体系结构。
  • B)执行效率高。
  • C)性能好。
  • D)占用资源较多。
答案解析

答:A 基于客户机/服务器体系结构是微内核操作系统的特点,不是单内核操作系统的特点。单内核的特点是执行效率高、性能好,但占用资源较多、可扩展性差。


13. 【填空题】实时操作系统(RTOS)有3个主要的实时指标,除响应时间和生存时间之外,另一个指标是在给定时间内可以处理的事件总数,它称为_,其英文名称是_。

答案

答:吞吐量、Throughput RTOS的实时性能指标主要有三个:响应时间、吞吐量和生存时间。吞吐量(Throughput)是指在给定时间内实时系统可以处理的事件总数。


14. 【填空题】实时操作系统完成每次任务所需时间的偏差称为_。评价实时操作系统的实时性最重要的指标是_,即系统从事件请求开始到任务完成的时间间隔。

答案

答:抖动、响应时间 实时操作系统完成每次任务所需时间的偏差称为抖动。评价实时系统最重要的指标是响应时间。


15. 【填空题】在实时系统中,从接收到可屏蔽中断请求信号到操作系统做出响应并转入中断服务程序所需要的最长时间称为_时间;系统将控制权从低优先级的任务转移到高优先级任务所花费的时间称为_时间。

答案

答:中断延迟、任务抢占 中断延迟时间包括最长关中断时间和从硬件开始响应中断到开始执行ISR第一条指令之间的时间。任务抢占时间属于任务切换时间的一部分。


16. 【填空题】在实时系统中,根据截止时间约束的软硬属性划分,视频播放系统属于_实时系统,自动驾驶系统属于_实时系统。

答案

答:软、硬 视频播放偶尔超出时限不会造成严重后果,属于软实时系统;自动驾驶超过时限将导致严重后果,属于硬实时系统。


BSP与Bootloader

17. 如下几种Bootloader中,用于Linux操作系统引导程序加载时所支持不同体系结构处理器种类最多的是

  • A)LILO
  • B)GRUB
  • C)U-Boot
  • D)Loadlin
答案解析

答:C U-Boot支持PowerPC、x86、ARM、MIPS等多种常用体系结构处理器,是支持处理器种类最多的Bootloader。


18. 关于U-Boot,以下说法错误的是

  • A)U-Boot全称USB Bootloader,通过USB接口完成启动支持多种处理器和操作系统
  • B)U-Boot支持PowerPC、x86、ARM等多种体系结构的处理器
  • C)U-Boot支持嵌入式Linux、VxWorks、QNX、RTEMS、Windows CE等操作系统
  • D)U-Boot采用两个阶段完成操作系统的引导加载
答案解析

答:A U-Boot全称Universal Boot Loader(通用引导加载程序),而非USB Bootloader。它是德国DENX公司开发的,遵循GPL条款,源代码完全开放。


19. 在Bootloader的stage1中,以下各步骤的顺序应为:a.跳转到stage2的C程序入口点;b.为加载stage2准备RAM空间;c.拷贝stage2的执行代码到RAM空间中;d.基本硬件初始化

  • A)bdac
  • B)dbca
  • C)dbac
  • D)dcba
答案解析

答:B Bootloader的stage1基本步骤按执行先后顺序为:d.基本硬件初始化 -> b.为加载stage2准备RAM空间 -> c.拷贝stage2的执行代码到RAM空间中 -> a.跳转到stage2的C程序入口点。即dbca。


20. 以下各项关于引导加载程序的说法,不正确的是

  • A)引导加载程序对应的英文术语是BIOS
  • B)嵌入式系统加电后执行的第一批最初操作称为引导或者自举
  • C)引导加载程序会进行内存加电自检和外设存在自检
  • D)引导加载程序会进行内存地址映射,初始化外围设备
答案解析

答:A 引导加载程序对应的英文术语是Bootloader,而非BIOS。BIOS是基本输入输出系统,两者是不同的概念。


21. 下列关于Bootloader的描述中,错误的是

  • A)依赖于CPU体系结构的代码通常都放在Bootloader阶段1中
  • B)Bootloader通常支持启动加载模式和下载模式
  • C)Bootloader执行的第一条指令必须存储在RAM存储器中
  • D)Bootloader阶段2的代码通常用C语言实现
答案解析

答:C 系统加电后,CPU执行的第一条指令就是Bootloader程序中的第一条指令,这条指令一般存储在某种类型的固态存储设备上,如ROM、EEPROM或Flash ROM等,而非RAM。


22. 下列关于Bootloader的陈述中,不正确的是

  • A)Bootloader的实现依赖于CPU的体系结构
  • B)Bootloader是嵌入式系统开发过程中使用的仿真软件
  • C)大多数Bootloader都分为stage1和stage2两大部分
  • D)Bootloader主要完成内存加电自检、外设存在自检、初始化外围设备、加载和启动操作系统等功能
答案解析

答:B Bootloader不是仿真软件,而是引导加载程序,负责嵌入式系统加电后的第一批操作,完成硬件初始化和操作系统加载。


23. 在Bootloader中,一般不会出现在stage 2的操作是

  • A)调用内核代码
  • B)处理器内部的基本寄存器设置、系统基本参数设置、时钟初始化
  • C)向操作系统内核传递启动参数
  • D)将内核代码和根文件系统映像从ROM存储器复制到RAM存储器
答案解析

答:B Bootloader的stage1完成依赖于CPU体系结构的代码,包括处理器内部的基本寄存器设置、系统基本参数设置、时钟初始化等。stage2通常用C语言实现更复杂的功能。


24. 下列关于嵌入式系统板级支持包的描述中,错误的是

  • A)板级支持包又称为BSP
  • B)板级支持包与硬件无关,故在移植操作系统时不需要改动
  • C)板级支持包含有电路板的初始化程序
  • D)操作系统的上层代码通过板级支持包访问底层硬件
答案解析

答:B 板级支持包(BSP)与硬件关系密切,所有与特定电路板上硬件相关的功能都集成在BSP的库里。在移植操作系统时,BSP需要根据具体硬件进行修改。


25. 关于硬件抽象层,下面的描述中错误的是

  • A)硬件抽象层是嵌入式硬件电路板的最基本软件
  • B)硬件抽象层包含嵌入式软件中直接访问底层硬件的例程集合
  • C)HAL的函数是移植操作系统的基础
  • D)硬件抽象层是操作系统内核的重要组成部分
答案解析

答:D 硬件抽象层(HAL)位于硬件电路板和操作系统内核之间,是独立于操作系统内核的一层接口软件,并非操作系统内核的组成部分。


26. 下列关于HAL的描述中,不正确的是

  • A)HAL位于硬件和操作系统内核之间
  • B)术语HAL和Bootloader具有相近的含义,有时甚至可以相互替代使用
  • C)引入HAL的目的是对硬件进行抽象
  • D)HAL改善了操作系统的可移植性
答案解析

答:B HAL是硬件抽象层,Bootloader是引导加载程序,两者含义完全不同,不能相互替代使用。HAL负责向操作系统提供访问硬件的统一接口,Bootloader负责初始化硬件并加载操作系统。


27. 【填空题】引导加载程序主要完成_、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载并启动_。

答案

答:加电自检、操作系统 Bootloader主要完成加电自检、外设存在自检、内存地址映射、初始化外围设备、内存寻址定位、加载并启动操作系统。


28. 【填空题】U-Boot是一种通用的引导加载程序,对_系列处理器支持最为丰富,对_操作系统的支持最为完善。

答案

答:PowerPC、Linux U-Boot以PPCBoot和ARMBoot为基础发展而来,对PowerPC系列处理器支持最为丰富,对Linux操作系统的支持最为完善。


29. 【填空题】美国风河公司推出的实时性最强、可靠性最高的嵌入式实时操作系统名为_。在该操作系统中,所有与特定电路板上硬件相关的功能都集成在一个库中,该库的名称为_。

答案

答:VxWorks、板级支持包(BSP) VxWorks是目前公认为实时性最强、可靠性最高的嵌入式实时操作系统。其中硬件相关功能集成在板级支持包(BSP)中。


嵌入式Linux

30. 嵌入式Linux操作系统的组成,不包括

  • A)用户进程
  • B)OS服务组件
  • C)Linux内核
  • D)编译程序
答案解析

答:D 嵌入式Linux操作系统主要由用户进程、OS服务组件和Linux内核三大子系统组成。编译程序属于开发工具,不属于操作系统的组成部分。


31. 嵌入式Linux中,不属于Linux内核部分的功能是

  • A)用户界面
  • B)内存管理
  • C)网络接口
  • D)进程间通信
答案解析

答:A Linux内核主要由5个子系统组成:进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)、进程间通信(IPC)。用户界面不属于内核功能。


32. 下面对于Linux内核的叙述,错误的是

  • A)Linux内核通过OS服务组件访问硬件
  • B)Linux内核主要作用包括进程管理与调度、内存管理等
  • C)应用程序通过GLIBC调用通用函数和内核的内部功能
  • D)系统调用是Linux中用户进程与操作系统之间的重要接口
答案解析

答:A Linux内核为用户进程提供了一个虚拟接口(系统调用),而OS服务组件是位于Linux操作系统内核之上的一层服务模块或实用程序集合。Linux内核并非通过OS服务组件访问硬件。


33. 以下关于Linux的叙述,错误的是

  • A)Linux内核第一次问世是在1991年10月
  • B)Linux是一种微内核结构
  • C)同一个应用程序在UNIX环境下的运行速度和效率往往高于Linux环境
  • D)Linux系统最初以Unix为原型,以实现POSIX标准作为其目标
答案解析

答:B Linux是典型的单内核(宏内核)操作系统,不是微内核结构。典型的微内核操作系统有Symbian、VxWorks、QNX、μC/OS-II等。


34. 下面关于Linux操作系统的论述中,正确的是

  • A)Linux是能够为多用户提供多任务功能的微内核操作系统
  • B)eCOS是一种嵌入式Linux操作系统发行版
  • C)安卓是一种以Linux为基础的操作系统
  • D)Linux内核通过系统调用接口访问系统硬件
答案解析

答:C Android(安卓)是以Linux内核为基础的操作系统。Linux是单内核而非微内核;eCOS是RedHat开发的独立RTOS,非Linux发行版;系统调用是用户进程与内核之间的接口,而非内核访问硬件的接口。


35. 关于Linux操作系统的组成和结构,下面叙述中错误的是

  • A)某个应用程序在Linux操作系统环境下运行时,它就成为一个用户进程
  • B)Linux提供的GLIBC是可移植的标准C库函数实现,提供标准I/O和标准流的一系列接口。
  • C)Linux内核包含进程管理、内存管理、文件管理、网络接口和进程间通信等模块
  • D)Linux是参照Minix开发的,采用与Minix相同的微内核结构。
答案解析

答:D Linux虽然参考了Minix,但采用了单内核(宏内核)结构,与Minix的微内核结构不同。


36. 按照实时性能和内核结构划分,一般而言大多数嵌入式Linux操作系统发行版都属于

  • A)硬实时微内核嵌入式操作系统
  • B)非实时微内核嵌入式操作系统
  • C)硬实时单内核嵌入式操作系统
  • D)软实时宏内核嵌入式操作系统
答案解析

答:D 大多数嵌入式Linux操作系统发行版属于软实时宏内核嵌入式操作系统。Linux采用宏内核结构,实时性为软实时。


37. 下面关于Linux内核的有关叙述中,错误的是

  • A)进程调度模块负责控制进程对CPU资源的使用,所采取的调度策略是使得各个进程能够平均访问CPU,但并不保证内核能及时地执行硬件操作
  • B)Linux内存管理模块的功能之一是屏蔽各种硬件内存结构的差异并向上返回统一的访问接口
  • C)网络接口模块包含网络接口驱动程序
  • D)支持进程之间各种通信机制,其通信机制主要包括信号、管道、消息队列、信号量、共享内存和套接字
答案解析

答:A 进程调度模块所采取的调度策略是使得各个进程能够公平合理地访问CPU,同时保证内核能及时地执行硬件操作,而非"不保证"。


38. 【填空题】常见的嵌入式Linux进程间通信机制包括信号、管道、_、信号量、共享内存和_。

答案

答:消息队列、套接字 嵌入式Linux进程间通信机制包括六种:信号、管道、消息队列、信号量、共享内存和套接字(Socket)。


39. 【填空题】若以S3C2410为核心的目标机上,已经移植成功Linux操作系统。若要开发该目标机的Linux应用程序,通常使用arm-linux-_交叉编译器来编译应用程序。若要对一个应用程序进行调试排错,则应该在编译命令中加_参数对它进行编译。

答案

答:gcc、-g ARM目标机的交叉编译器为arm-linux-gcc,加-g参数可以在编译时加入调试信息供GDB调试使用。


40. 【填空题】Linux操作系统中,可执行文件的文件名中没有统一的文件后缀。若用GCC命令生成可执行文件,命令中未指定输出文件名时,则GCC生成一个名为_的可执行文件。针对ARM硬件平台的目标机,其GCC的基本命令格式是:_ [options] [filenames]。

答案

答:a.out、arm-linux-gcc Linux操作系统中GCC默认生成名为a.out的可执行文件。针对ARM平台使用交叉编译器arm-linux-gcc。


μC/OS-II操作系统

41. μC/OS-II操作系统启动过程中,main()函数需要执行以下三个主要函数:I. OSStart() II. OSTaskCreate() III. OSInit(),它们的执行顺序是

  • A)I、II、III
  • B)III、I、II
  • C)II、III、I
  • D)III、II、I
答案解析

答:D 正确的执行顺序是:OSInit()(系统初始化)-> OSTaskCreate()(创建任务)-> OSStart()(启动多任务调度)。即III、II、I。


42. 关于μC/OS-II的基本特点,以下说法错误的是

  • A)μC/OS-II是抢占式实时操作系统内核
  • B)由于存在内核任务,用户编写的应用程序最多可以有60个任务
  • C)μC/OS-II不支持时间片轮转调度法
  • D)μC/OS-II允许每个任务有不同的栈空间
答案解析

答:B μC/OS-II只能管理64个任务,目前的版本保留8个任务给系统,用户编写的应用程序最多可以有56个任务,而非60个。


43. 在μC/OS-II操作系统下,处于运行态的任务因更高优先级的任务就绪而被剥夺CPU使用权后将转入

  • A)等待态
  • B)被中断态
  • C)就绪态
  • D)休眠态
答案解析

答:C μC/OS-II支持抢占式任务调度,处于运行态的任务一定是当前就绪任务集里的最高优先级任务;因更高优先级任务就绪而被剥夺CPU使用权后,该任务转入就绪态。


44. 在μC/OS-II操作系统下,处于运行态的任务调用系统函数OSTaskDel()后将转入

  • A)等待态
  • B)被中断态
  • C)就绪态
  • D)休眠态
答案解析

答:D OSTaskDel()用于删除任务,调用后任务转入休眠态。休眠态相当于该任务驻留在内存中,但还没有交给内核管理。


45. μC/OS-II操作系统的内核非常小,其提供的基本功能中,不包括

  • A)文件系统
  • B)任务间通信与同步
  • C)时间管理
  • D)内存管理
答案解析

答:A μC/OS-II只提供任务调度、任务间通信与同步、任务管理、时间管理和内存管理等基本功能。文件系统不包含在μC/OS-II的内核功能中。


46. 下列关于μC/OS-II操作系统的描述中,错误的是

  • A)在μC/OS-II中,任务是操作系统的基本调度单位
  • B)为保证内核精简,μC/OS-II不支持中断嵌套
  • C)μC/OS-II不支持时间片轮转调度法
  • D)μC/OS-II的事件控制块可以用于对信号量的管理
答案解析

答:B μC/OS-II允许中断嵌套,嵌套层数可达255层。B选项说法错误。


47. μC/OS-II操作系统通过事件控制块ECB支持任务间通信。下列说法中错误的是

  • A)中断服务程序不能等待信号
  • B)任务可以通过ECB向其他任务发信号
  • C)多个任务不能同时等待同一事件发生
  • D)中断服务程序可以通过ECB向任务发信号
答案解析

答:C 多个任务可以同时等待同一事件的发生。当该事件发生后,所有等待该事件的任务中,只有优先级最高的任务得到该事件并进入就绪状态。


48. μC/OS-II能够提供周期性时钟信号(即所谓的时钟节拍),用于实现任务的正确延时和超时确认。节拍率应在什么范围内?

  • A)10 Hz~100Hz
  • B)10 Hz~1000Hz
  • C)100 Hz~1000Hz
  • D)100 Hz~10000Hz
答案解析

答:A μC/OS-II的时钟节拍率应在每秒10次到100次之间,即10~100Hz。


49. 【填空题】μC/OS-II操作系统可以定义的最大任务数是64个,最高优先级定为_,最低优先级取值为实际定义的最大任务数减_。

答案

答:0、1 μC/OS-II中最高优先级为0,最低优先级为实际定义的最大任务数减1(如64个任务时为63)。空闲任务占据最低优先级。


50. 【填空题】在μC/OS-II系统中,可以采用的任务间通信机制有_、_、消息队列、互斥信号量和事件标志组等。

答案

答:信号量、消息邮箱 μC/OS-II的任务间通信机制包括五种:信号量、消息邮箱、消息队列、互斥信号量和事件标志组。