嵌入式培训 百分网手机站

嵌入式软件助理工程师认证考试试题题库(3)

时间:2018-04-01 11:42:31 嵌入式培训 我要投稿

2016年嵌入式软件助理工程师认证考试试题题库

  26、 Linux系统中,普通用户使用的命令通常保存在___/bin___目录中。

  27、 setenv命令的功能是___设置环境变量___。

  28、 Linux文件的链接可分为符号链接和___硬链接___两种。

  29、 在shell编程时,要把一个用户的输入赋值给一个变量,使用__read_______命令。

  30、 Qt/Embedded使用___信号___和___插槽___的机制实现函数的回调。

  31、 加载Linux内核模块使用命令___insmod___。

  32、 ARM处理器有多种运行模式,用户程序运行在其中的___用户___模式。

  33、 Linux系统在启动init进程时使用的配置文件是_/etc/inittab_____。

  34、 VI编辑器有三种工作模式:命令模式、插入模式和___末行模式___。

  35、 交叉编译是指___在一个平台上生成可以在另一个平台上执行的代码___。

  36、 setenv命令的功能是___设置环境变量___。

  37、 在linux系统中,以 文件 方式访问设备 。

  38、 利用gdb进行调试时,可通过step或 next 命令进行单步执行。

  39、 Qt/Embedded的底层图形引擎基于 FrameBuffer 接口技术。

  40、 Linux操作系统的系统管理员(也就是超级用户)帐号是root 。

  41、 编写的shell程序运行前必须赋予该脚本文件 执行 权限 。

  42、 使用gcc编译c程序生成可执行文件有时似乎是一步完成的,但实际要经历如下四步:预处理、编译、 汇编 和连接。

  43、 内核分为 进程管理系统 、 内存管理系统 、 IO管理系统 和文件管理系统 等四个子系统。

  44、 嵌入式系统中按照总线所传送的信息类型,可以分为数据总线、地址总线和 控制总线 等几种。

  45、 嵌入式linux系统中,设备类型分为字符设备、块设备 和 网络设备 等三种。

  46、 Linux中所有用户的信息保存于__ /etc/passwd _和__/etc/shadow __文件。

  47、 链接分为__软连接 __和__硬链接 ____链接 。

  48、

  49、 某文件的权限位:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为_644 ,该文件属性是__目录 _。

  50、 嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、__ Linux内核___、__文件系统_、用户应用程序。

  51、 进程从产生到终止进程可以具有的基本状态为: _运行态__ 、 _就绪态__ 和 等待态(阻塞态)。

  四、判断题

  1、 在gdb调试过程中,不退出gdb也可以执行UNIX shell命令。(对)

  2、 退出交互模式的shell,应键入quit。(错)

  3、 Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在/etc目录中。(错)

  4、 命令fdisk /mbr的作用是安装系统引导程序到主分区。(错)

  5、 在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 nslookup 。(对)

  6、 命令mount /dev/hdc /mnt/cdrom是将光盘CD-ROM(hdc)安装到文件系统的/mnt/cdrom目录下。(对)

  7、 /home/src目录存放着Linux的源代码。( 错)

  8、 uCOS-II操作系统属于顺序执行系统 。(错 )

  9、 Linux 文件名的长度不得超256个字符。(对 )

  10、 在vi编辑器中的命令模式下,删除当前光标处的字符使用d命令。( 错 )

  11、 基于ARM架构的指令都是32位的。(错)

  12、 激活网卡需要编译内核。( 错)

  13、 可用ctrl+C强行结束后台进程。(错 )

  14、 写回Cache是指CPU在执行写操作时,必须把数据同时写入Cache和主存。(×)

  15、

  16、 文件系统的主要功能是实现虚拟存储。(错)

  17、 进程有三种状态是准备态、执行态和退出态。(错)

  18、 Samba服务器的进程由smbd和nmbd两部分组成。(对)

  19、 shell命令的第一个按键必须是字符、数字或者空格(错)

  20、 Linux 文件名的长度不得超256个字符。(对)

  21、 在gdb调试过程中,用make命令可以不用退出gdb就可以重新产生可执行文件。(对)

  22、 若一台计算机的内存为128MB,则交换分区的大小通常是64M。(错)

  23、 在重新启动Linux系统的同时把内存中的信息写入硬盘,应使用shutdown –r now命令实现。(对)

  24、 在vi编辑器中的命令模式下,删除当前光标处的字符使用d命令。(错)

  25、 Samba服务器的进程由smbd和nmbd两部分组成。(对)

  26、 从后台启动进程,应在命令的结尾加上符号@。(错)

  27、 网络管理的重要任务是: 控制 和 监控 。(对)

  28、 函数的标量参数通过传值的方式进行传递,而数组名参数则具有传址调用的语义。( √ )

  29、 (X)根文件系统是具有操作系统的嵌入式系统必须的组成部分。

  30、 (V)一个shell脚本运行时可以看成是一个Linux作业,它可能由多个进程完成。

  31、 (V)在2.6内核中加入的抢占点提高了Linux的可抢占性,但Linux仍不能看作实时系统。

  32、 (X)目前的ARM处理器采用的是哈佛体系结构。

  33、 (V)ARM处理器的运行模式可通过中断或异常处理改变。

  34、 (X)C语言中的栈的压入和弹出是由操作系统管理的。

  35、 (X)BootLoader属于嵌入式操作系统的一部分。

  36、 (X)chmod命令可用来修改处理器的运行模式。

  37、 (X)CGI程序由Web服务器解释运行。

  38、 (V)Linux系统中的目录可以看作是一种特殊的文件。

  39、 (X)shell环境变量主要用于脚本的执行过程,不会作用于脚本之外的程序。

  40、 (V)Busybox常用于替代桌面系统中的init和shell等程序,为嵌入式用户提供使用环境。

  41、 (V)LINUX是一个真正的多用户、多任务操作系统,允许多个用户在相同的机器上一次运行很多程序,并能保证相互之间的共享和安全。

  42、 在嵌入式系统中,整个系统的加载启动任务就完全由 Boot Loader 来完成。( √ )

  43、 在LINUX系统中,所有的内容被表示成文件,组织文件的各种方法便称为不同的文件系统。( √ )

  44、 Linux系统是一个多用户多任务的分时操作系统,允许多个用户在相同的机器上一次运行很多程序。( √ )

  45、 Linux 中的 ls 命令的功能是变换工作目录到目标指定目录。( × )

  46、 ARM包含32个通用寄存器。( × )

  47、 Qt Embedded的API同Qt/X11和Qt/Windows的相同,但它并不是基于X11库。( √ )

  48、 kmalloc和vmalloc的区别在于,前者申请到的是物理地址连续的内存空间,而后者则是虚拟地址连续的内存空间,不能用在中断时间。( √ )

  49、 LINUX是一个真正的多任务和分时操作系统,允许多个用户在相同的机器上一次运行很多程序。( √ )

  50、 (X)Linux采用线程调度程序选择线程占用CPU运行。

  51、 (V)在单机系统中可采用关中断的方式保证操作的原子性。

  52、 (X)根文件系统是系统启动时首先加载的文件系统,因此需要快速加载的内容应放置于其中,以加快系统的运行速度。

  53、 (X)线程切换成本小于进程,因此Linux系统中的多线程程序的调度开销要小于多进程程序。

  54、 (X)守护进程的主要任务是完成与用户的交互,以保证系统的响应性能。

  55、 (X)Linux内存管理采用了Slab机制,因此,无需硬件支持,Linux能够很好地支持虚拟存储。

  56、 (X)模块程序运行于内核模式,因此,它们能够访问内核中的所有函数。

  57、 (X)根文件系统所在的分区越大约好,因为根分区越大,Linux启动速度越快。

  58、 (V)一个shell脚本的第一行是:#! /bin/csh它的作用是注释,表示下面脚本是csh脚本。

  59、 (X)目前Linux平台上的各种线程库使得Linux能够在内核空间能够支持多线程。

  60、 (V)Linux允许内核以NFS的形式连接根文件系统

  61、 (V)EXT3文件系统是一种日志型的文件系统。

  62、 (V)BootLoader是嵌入式系统运行的第一个程序。

  63、 (X)自旋锁可以用在单机系统中来保证内核相关操作的原子性。

  64、 (X)Samba服务器在Linux平台上常用作Web服务器。

  65、 在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用下箭头命令。(错 )

  66、 进程有三种状态是准备态、执行态和退出态。( 错 )

  67、 触摸屏是一种输入设备。(√)

  68、 VHDL是一种硬件描述语言,用于设计硬件电子系统。(√)

  69、 二极管具有单向导通性。(√)

  70、 CISC机器多采用Load/Store结构(×)

  71、 GDB是一个用来调试C和C++程序的调试器。(√)

  72、 DSP是专门用于数字信号处理方面的处理器。(√)

  73、 Nand Flash的特点是应用程序可以直接在闪存中运行,不需要把代码读到系统RAM中。(×)

  74、 LCD是一种输出设备。(√)

  五、简答题

  1、简述嵌入式系统中非占先式与占先式调度法的区别有哪些。

  答:

  非占先式调度法也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。(1分)但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。(2分)

  当系统响应时间很重要时,要使用占先式(preemptive)内核。(1分)最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。(2分)

  2、什么是硬实时操作系统、软实时操作系统以及二者的区别?

  答:

  在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称为强实时系统或硬实时系统。(1分)强实时系统响应时间一般在毫秒或微秒级。(1分)

  在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。(1分)

  其系统响应时间在毫秒至秒的数量级上,(1分)其实时性的要求比强实时系统要差一些。(2分)

  3、介绍一下嵌入式系统的设计步骤有哪些?各部分主要工作是什么?

  答:

  (1)需求分析阶段,罗列出用户的需求;(1分)

  (2)体系结构设计阶段,描述系统的功能如何实现;(1分)

  (3)详细设计阶段,进行硬件系统与软件系统的分类划分,以决定哪些功能用硬件实现,哪些用软件实现;(1分)

  (4)系统集成,把系统的软件、硬件和执行装置集成在一起,(1分)进行调试,发现并改进在设计过程中的错误;(1分)

  (5)系统测试,对设计好的系统进行测试,看其是否满足给定的要求。(1分)

  4、ARM支持哪两种数据存储格式,简单描述各自特点。

  答:

  分为大端格式和小端格式。(2分)

  大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。(2分)

  小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。(2分)

  5、什么是BootLoader?主要有几种工作模式及主要功能是什么?

  答:

  简单说来,Bootloader就是操作系统内核运行的一段小程序,完成进行初始化系统硬件设置的任务,包括CPU、SDRRAM、Flash、串口等初始化,时钟的设置、存储器的映射。(2分)

  分为启动加载模式和下载模式。

  (1) 启动加载模式

  启动加载(Boot laoding)模式又称为“自主”(Autonomous)模式,是指 Bootloader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。(2分)

  (2) 下载模式

  在下载模式下,目标机上的 Bootloader 将先通过串口连接或网络连接等通信手段从宿主机下载文件。(2分)

  6、 简述Bootloader有何作用?

  答案要点:(1)首先,bootloader是在特定硬件平台运行的程序,严重依赖于硬件平台,需要移植;(2)是系统上电之后,第一个运行的程序,系统在上电或复位时通常都从地址 0x0 处开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序;(3)bootloader程序的设计目标是启动嵌入式操作系统,嵌入式操作系统的启动需要一定的条件,这些条件由bootloader来满足;(4)Bootloader一般具有对存储器和网络接口操作的功能;如擦除、读写Flash,通过USB、串口下载文件等

  7、 程序、进程、线程有何区别?

  答案要点:程序是编译后形成的可执行代码,是静止的。进程是程序的一次执行,是活动的。线程是进程的可执行单元,同一进程的不同线程共享进程的资源和地址空间。

  8、 简述嵌入式系统的几个重要特征?

  答案要点:系统内核小 ;专用性强 ;系统精简 ;高实时性的系统软件;多任务的操作系统 ;需要专用的开发工具和环境。 答出上述4个并适当阐述的即可给满分。

  9、 什么是程序的局部性原理?

  答案要点:程序的局部性原理是指程序在执行过程中的一个较短时期内,它所执行的指令和访问的存储空间分别局限在一定的区域内。具体表现在时间局部性和空间局部性。时间局部性是指一条指令的一次执行和下一次执行、一个数据的一次访问和下一次访问,都集中在一个较短的时间内。空间局部性是指程序执行了某条指令,则它相邻的几条指令也可能马上执行。

  10、Linux作为嵌入式操作系统的优势?

  答:

  Linux作为嵌入式操作系统的优势主要有以下几点:

  1. 可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对于经费,时间受限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发后移植到具体的硬件上,加快了软件与硬件的开发过程。Linux采用一个统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。(1分)

  2. Linux的高度模块化使添加部件非常容易。本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高。(1分)

  3. Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件(包括X86,Alpha、ARM和Motorola等现有的大 部分芯片)等特性的一种通用操作系统。(1分)

  4. Linux可以随意地配置,不需要任何的许可证或商家的合作关系。其程序源码全部公开,任何人可以修改并在GUN通用公共许可证(GNU General Public License)下发行。这样,开发人员可以对操作系统进行定制,适应其特殊需要。(1分)

  5. Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。其强大的语言编译器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。(分)

  11、简述网络文件系统NFS,并说明其作用。

  答:

  NFS即网络文件系统,是主机通过网络进行文件共享的协议(2分)。通常用于UNIX或类UNIX系统中。NFS服务器的共享目录可以被NFS客户端作为文件系统挂载到本地中(1分)。它的作用是通常用于局域网中用于文件共享(1分)。它的特点是不想http和ftp要把文件下载到本地才能够被访问,NFS不需要下载到本地即可访问(1分)。

  12、简述Boot Loader 的两种操作模式 (Operation Mode)?

  答:

  启动加载(Boot loading)模式:这种模式也称为"自主"(Autonomous)模式。也即 Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,因此在嵌入式产品发布的时侯,Boot Loader 显然必须工作在这种模式下。 (2.5分)

  下载(Downloading)模式:在这种模式下,目标机上的 Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被 Boot Loader 保存到目标机的 RAM 中,然后再被 Boot Loader 写到目标机上的FLASH 类固态存储设备中。Boot Loader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用 Boot Loader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。(2.5分)

  13、简述嵌入式系统设计过程。

  答;每条1分

  (1)需求分析 (4)设计硬件构件和软件构件

  (2)规格说明 (5)系统集成

  (3)体系结构设计 (6)系统测试

  14、ARM启动代码是系统加电后运行的第一段软件代码,由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容主要包括?

  答:每条1分

  中断向量表

  初始化存储器系统

  初始化堆栈

  初始化有特殊要求的断口,设备

  初始化用户程序执行环境

  改变处理器模式

  呼叫主应用程序

  15、什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

  答:

  链接分硬链接和符号链接。

  符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。

  硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

  16、进程的查看和调度分别使用什么命令?

  答:

  进程查看的命令是ps和top。

  进程调度的命令有at,crontab,batch,kill。

  17、简述嵌入式系统中非占先式与占先式调度法的区别有哪些。

  答:

  非占先式调度法也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。(1分)但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。(2分)

  当系统响应时间很重要时,要使用占先式(preemptive)内核。(1分)最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。(2分)

  18、什么是BootLoader,其主要功能是什么?

  答:Boot Loader相当于普通pc机的BIOS,是在系统复位后执行的第一段代码。因此,整个系统的加载启动任务就完全由Boot Loader来完成。它首先完成系统硬件的初始化,包括时钟的设置、存储器的映射等。并设置堆栈指针,然后跳转到操作系统内核入口,如系统在加电或复位时通常从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序。这样,将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。在此之后,系统的运行在操作系统的控制下了。通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。

  不同的嵌入式系统其Boot Loader一般是不同的。从操作系统的角度来看, Boot Loader的总目标就是正确地调用内核来执行。

  另外,由于大多数Boot Loader都分为阶段1和阶段2两部分。依赖于CPU的体系结构的代码,比如设备初始化代码等,通常都放在阶段1中,而且通常用汇编语言来实现,以达到短小精悍的目的。而阶段2通常用C语言来实现,这样可以实现一些复杂的功能,而且代码会具有更好的可读性和移植性。

  19、什么是硬实时操作系统、软实时操作系统以及二者的区别?

  答:

  在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称为强实时系统或硬实时系统。(1分)强实时系统响应时间一般在毫秒或微秒级。(1分)

  在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。(1分)

  其系统响应时间在毫秒至秒的数量级上,(1分)其实时性的要求比强实时系统要差一些。(2分)

  20、多线程有几种实现方法,线程间同步有几种实现方法,都是什么?

  答:

  两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。

  同步的实现方法有两种,分别是synchronized, wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。

  21、介绍一下嵌入式系统的设计步骤有哪些?各部分主要工作是什么?

  答:

  (1)需求分析阶段,罗列出用户的需求;(1分)

  (2)体系结构设计阶段,描述系统的功能如何实现;(1分)

  (3)详细设计阶段,进行硬件系统与软件系统的分类划分,以决定哪些功能用硬件实现,哪些用软件实现;(1分)

  (4)系统集成,把系统的软件、硬件和执行装置集成在一起,(1分)进行调试,发现并改进在设计过程中的错误;(1分)

  (5)系统测试,对设计好的系统进行测试,看其是否满足给定的要求。(1分)

  22、某/etc/fstab文件中的某行如下:

  /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2

  请解释其含义。

  答:

  (1)第一列:将被加载的文件系统名;

  (2)第二列:该文件系统的安装点;

  (3)第三列:文件系统的类型;

  (4)第四列:设置参数;

  (5)第五列:供备份程序确定上次备份距现在的天数;

  (6)第六列:在系统引导时检测文件系统的顺序。

  23、ARM支持哪两种数据存储格式,简单描述各自特点。

  答:

  分为大端格式和小端格式。(2分)

  大端格式:被存放字数据的高字节存储在存储系统的低地址中,而被存放的字数据的低字节则存放在存储系统的高地址中。(2分)

  小端格式:与大端存储格式相反,在小端存储格式中,存储系统的低地址中存放的是被放字数据中的低字节内容,存储系统的高地址存放的是被存字数据中的高字节内容。(2分)

  25、什么是BootLoader?主要有几种工作模式及主要功能是什么?

  答:

  简单说来,Bootloader就是操作系统内核运行的一段小程序,完成进行初始化系统硬件设置的任务,包括CPU、SDRRAM、Flash、串口等初始化,时钟的设置、存储器的映射。(2分)

  分为启动加载模式和下载模式。

  (3) 启动加载模式

  启动加载(Boot laoding)模式又称为“自主”(Autonomous)模式,是指 Bootloader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。(2分)

  (4) 下载模式

  在下载模式下,目标机上的 Bootloader 将先通过串口连接或网络连接等通信手段从宿主机下载文件。(2分)

  26、简述进程的启动方式。