单选题
在内部排序中,通常要对被排序数据序列进行多趟扫描。各种排序方法有其不同的排序实施过程和(时间)复杂性。对给定的整数序列(541,132,984,746,518,181,946,
314,205,827)进行从小到大的排序时,采用快速排序(以中间元素518为基准)的第一趟扫描结果是{{U}} {{U}} 40
{{/U}} {{/U}}。设被排序数据序列有n个元素,快速排序的复杂性是{{U}} {{U}} 41 {{/U}}
{{/U}}。
单选题
- A.(541,132,827,746,518,181,946,314,205,984)
- B.(205,132,314,181,518,746,946,984,541,827)
- C.(541,132,984,746,827,181,946,314,205,518)
- D.(132,541,746,518,181,946,314,205,827,984)
单选题
- A.O(nlbn)
- B.O(n2)
- C.O(1bn)2
- D.O(n2lbn)
【正确答案】
A
【答案解析】冒泡排序的过程很简单。首先将第1个数与第2个数相比较,若为逆序则交换两数,然后比较前两个数与第3个数,依次类推,直到将第n-1个数与第n个数比较完为止。上述过程称为一趟冒泡排序,结果是最大的数被排到了最后。然后进行第2趟,对前面n-1个数进行冒泡排序,结果是次大的数被移到了n-1的位置上。一般来说,第i趟冒泡排序是将第1个数排到了第n-i+1的位置上,整个排序过程需进行k(1≤k≤ n)趟。
分析冒泡排序的效率时,若初始序列为正序,则只进行一道排序,在排序过程中只进行n-1次比较,不交换数据;若为逆序,则需进行n-1趟排序,需进行n(n-1)/2次比较,交换数据的数量组也相同。因此,冒泡排序的复杂性是O(n2)。快速排序是对冒泡排序的一种改进,其基本思想是通过一趟排序将待排序的数据分成两部分,其中一部分的关键字均比另一部分的关键字小,然后再对这两部分分别进行快速排序,最后达到整个序列有序的目的。快速排序的复杂性是O(nlbn)。
将题中给定的整数序列(541,132,984,746,518,181,946,314,205,827)进行从小[*](132,541,746,518,181,946,314,205,827,984);对于直接选择排序,第1趟操作为 984[*]827,其结果得到的序列为(541,132,827,746,518,181,946,314,205,984)。
采用快速排序(以中间元素518为基准)的第1趟扫描结果是(205,132,314,181, 518,746,946,984,827)。
单选题
以下无助于抑制干扰源的措施是{{U}} {{U}} {{/U}} {{/U}}。A.通过在干扰源回路串联电感或电阻以及增加续流二极管来减小干扰源的du/dt
B.在继电器接点两端并接一个RC串联抑制电路
C.在可控硅两端并接RC抑制电路
D.布线时避免≤90°的折线
【正确答案】
A
【答案解析】减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现的。减小干扰源的di/dt则是在干扰源回路串联电感或电阻及增加续流二极管来实现的。
单选题
以下是部分ARM汇编程序,该程序的执行结果是{{U}} {{U}}
{{/U}} {{/U}}。
AREA
EXAMPLE2,CODE,READONLY
ENTYR
start MOV ro,#10
MOV r1,#3
BL
DOADD
doadd ADD r0,r0,r1
MOV pc,1r
END
- A.结果值13存放在R0寄存器中
- B.结果值23存放在R1寄存器中
- C.结果值13存放在LR寄存器中
- D.结果值23存放在LR寄存器中
【正确答案】
A
【答案解析】这是一段子程序调用(BL指令完成)的程序,子程序DO ADD完成加法运算,操作数放在r0和r1寄存器中,结果放在r0中。
单选题
在ARM的通用寄存器R0~R15中,被用做栈指针的寄存器是{{U}} {{U}} {{/U}} {{/U}}。A.R0 B.R13 C.R14 D.R15
【正确答案】
B
【答案解析】R13也被称为SP指针,被用做栈指针,通常在系统初始化时需要对所有模式的SP指针赋值。
单选题
ARM是典型的RISC体系,其模式控制位M[4:0]为0b10010时,代表当前嵌入式微处理器处于{{U}} {{U}} {{/U}} {{/U}}模式。A.IRQ B.Abort C.Supervisor D.System
【正确答案】
A
【答案解析】ARM是典型的RISC体系,其模式控制位M[4:0]为0b10010时,代表IRQ模式,M[4:0]为0610111时,代表Abort模式;M[4;0]为0610011时,代表Supervisor模式;M[4:0]为0611111时,代表System模式。
单选题
以下关于禁止存储管理单元(MMU)存储访问过程说法错误的是{{U}} {{U}} {{/U}} {{/U}}A.所有物理地址和虚拟地址相等
B.使用平板存储模式
C.存储访问不考虑C和B控制位
D.存储访问不进行权限控制,MMU也不会产生存储访问中止信号
【正确答案】
C
【答案解析】当禁止存储管理单元(MMU)时,先要确定芯片是否支持cache和write bufffer。如果芯片规定禁止存储管理单元(MMU)时,禁止cache和write bufffer,则存储访问将不考虑C和B控制位。
如果芯片禁止存储管理单元(MMU)时,可以使能cache和write bufffer,则数据访问时C=0和B=0;读取指令时,对于分开的TLB,C=1,对于统一的TLB,C=0。
单选题
嵌入式系统支持的内存块为极小页时,可分成大小为{{U}} {{U}} {{/U}} {{/U}}的子页。A.1 KB B.4 KB C.16 KB D.不能再细分
【正确答案】
D
【答案解析】嵌入式系统支持的内存块由大到小分别是段(1 MB)、大页(64 KB)、小页 (4 KB)和极小页(1 KB)。大页可分成大小为16 KB的子页,小页可分成大小为1 KB的子页。
单选题
在ARM体系结构的嵌入式系统中,快速上下文切换技术控制位编码为0b10,则表示的方位类型是{{U}} {{U}} {{/U}} {{/U}}。A.没有访问权限 B.客户类型
C.保留 D.管理者权限
【正确答案】
C
【答案解析】在ARM体系结构的嵌入式系统中,快速上下文切换技术控制位编码为 0b10,则表示方位类型是保留;控制位编码为Ob00,则表示方位类型是没有访问权限,控制位编码为0b01,则表示方位类型是客户类型;控制位编码为0b11,则表示方位类型是管理者权限。
单选题
进行存储解决方案选择时,以下说法错误的是{{U}} {{U}} {{/U}} {{/U}}。A.NAND Flash的读取速度比NOR Flash快一些
B.NAND Flash的写人速度比NOR Flash快一些
C.NAND Flash的擦除速度比NOR Flash快一些
D.NAND Flash的写入操作需要先进行擦除操作
【正确答案】
A
【答案解析】NAND Flash的读取速度比NOR Flash稍慢一些,其随机读取能力差,适合大量数据的连续读取。
单选题
关于SRAM的写操作周期,下列说法错误的是{{U}} {{U}} {{/U}} {{/U}}。A.CE端为低电平 B.R/W'端为高电平
C.地址出现在address线上 D.数据出现在data线上
【正确答案】
B
【答案解析】SRAM的写操作周期是:①CE=0,启用该芯片,②R/W'=0,③地址出现在address线上,数据出现在data线上。
单选题
交叉编译器软件属于嵌入式系统的{{U}} {{U}} {{/U}} {{/U}}。A.系统软件 B.应用软件
C.支撑软件 D.中间件
【正确答案】
C
【答案解析】嵌入式系统由硬件部分和软件部分构成。通常将嵌入式软件分为嵌入式系统软件、嵌入式应用软件和嵌入式支撑软件三大类,如表6-14所示。交叉编译器是嵌入式系统的辅助工具软件。
{{B}} 表6-14 嵌入式软件分类{{/B}}
|
软件类型 |
功能 |
例子 |
|
系统软件 |
控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件 |
嵌入式操作系统、设备驱动程序及嵌入式中间件等 |
|
应用软件 |
定义嵌入式设备的主要功能和用途,并负责与用户进行交互 |
MP3播放软件,手机软件、路由策略软件及恒温控制软件等 |
|
支撑软件 |
辅助软件开发的工具软件 |
在线仿真工具、FPGA编程软件、交叉编译器及源程序模拟器等 |
单选题
设有以下C语言说明语句:
struct ex{int x;float y;char z;} example
则下面的叙述中不正确的是{{U}} {{U}} {{/U}} {{/U}}。A.struct是结构体类型的关键字 B.x、y、z都是结构体成员名
C.struet ex是结构体类型 D.example是结构体类型名
【正确答案】
D
【答案解析】在C语言环境中,结构体类型说明的一般形式:
struct 结构体名{类型名结构体成员名…}结构体变量名;
其中,“struct”是结构体类型的关键字。对于本题而言,example是结构体变量名,而非结构体类型名。
单选题
嵌入式Linux操作系统中任务的创建过程如下,以下说法正确的是{{U}} {{U}} {{/U}} {{/U}}。
void main( )
{ int pid;
pid= fork( )
if(pid>0)
printf("parent task");
else if(pid= =0)
{ printf("child task") ;
execvp ("MyTash", NULL);
}
}A.子任务的创建基于fork/exec模型
B.子任务的创建基于spawn模型
C.先为子任务分配内存空间,再分配相应的数据结构
D.直接为子任务分配一个全新的地址空间,然后再将其代码装入运行
【正确答案】
A
【答案解析】fork/exec模型和spawn模型创建任务时,都要先为新任务分配相应的数据结构,然后再为新任务分配内存空间。
这两种模型的主要差别在于内存的分配方式,在fork/exec模型中,首先调用fork函数为新任务创建一份与父任务完全相同的内存空间,然后再调用exec函数装入新任务的代码,并覆盖原父任务的内容。而spawn模型则直接为子任务分配一个全新的地址空间,然后再将其代码装入运行。
单选题
下列属于低级任务间通信方式的是{{U}} {{U}} {{/U}} {{/U}}。A.共享内存 B.PV操作 C.消息传递 D.管道通信
【正确答案】
B
【答案解析】在实时操作系统中,任务间通信是指任务之间为了协调工作,需要相互交换数据和控制信息,可分为低级通信和高级通信两种类型。PV操作等信号量机制和信号机制属于低级任务间通信方式。消息传递、共享内存、管道通信属于高级任务间通信方式。
任务间通信又可分为直接通信和间接通信两种类型。send、receive原语属于直接通信方式,邮箱、消息队列属于间接通信方式。
单选题
以下关于嵌入式系统中实模式说法错误的是{{U}} {{U}} {{/U}} {{/U}}。A.划分了“系统空间”和“用户空间”
B.OS内核与外围应用程序之间不再有物理边界
C.运行上下文和栈是独享内核线程
D.系统中“任务”或“进程”全都是内核线程
【正确答案】
A
【答案解析】实模式的主要特点是:①不再划分“系统空间”和“用户空间”,整个系统中有一个物理内存地址空间,②OS内核与外围应用程序之间不再有物理边界;③系统中“任务”或“进程”全都是内核线程,④只有运行上下文和栈是独享内核线程,其他资源都是共享的。
单选题
假设页面大小为1 KB,对于逻辑地址0xE9B7所对应的逻辑页面号为{{U}} {{U}} {{/U}} {{/U}}。A.0x3A B.0x1B7 C.0xE9 D.0xB7
【正确答案】
A
【答案解析】将逻辑地址0xE9B7转换成二进制形式为(1110 1001 1011 0111)
2
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
|
逻辑页面号 |
页内偏移量 |
页面大小为1 KB,对于逻辑地址0xE9B7所对应的逻辑页面号为0x3A,页内偏移量为0x1B7。
单选题
{{U}} {{U}} {{/U}} {{/U}}主要用于Linux系统中进程间相互传递数据。A.FIFO文件 B.设备文件 C.链接文件 D.目录文件
【正确答案】
A
【答案解析】Linux系统的五种基本文件类型是普通文件、管道文件、设备文件、链接文件和目录文件。其中,管道文件又称为FIFO文件,主要用于进程间传递数据。
单选题
Linux系统对普通文件默认的访问权限是{{U}} {{U}} {{/U}} {{/U}}。A.-rwxrwx--- B.-rw-rw-r--
C.-rwx------ D.-rw-r--r--
【正确答案】
D
【答案解析】Linux系统文件访问的三种处理模式是读取,、写入w和执行x。对普通文件默认的访问权限是:文件所有者能够读写,但不能执行;文件所有者同组成员和其他成员只能读取,即“-rw-r--r--”。
单选题
在Linux系统中,Samba服务允许文件和打印机被用户网络中的所有系统共享,其默认的安全级别是{{U}} {{U}} {{/U}} {{/U}}。A.share B.user C.server D.domain
【正确答案】
B
【答案解析】在Linux系统smb.conf配置文件中,共享的安全级别有四种:共享share安全级、用户user安全级、服务器server安全级及域domain安全级。其中,文件和打印机共享默认的安全级别是用户user安全级。
单选题
以下正确描述嵌入式系统的设计流程的是{{U}} {{U}} {{/U}} {{/U}}。A.系统需求分析→硬件和软件划分→系统详细设计→迭代与实现→系统集成→系统测试→系统维护
B.系统需求分析→硬件和软件划分→系统详细设计→系统集成→迭代与实现→系统测试→系统维护
C.系统需求分析→系统集成→硬件和软件划分→系统详细设计→迭代与实现→系统测试→系统维护
D.系统需求分析→硬件和软件划分→迭代与实现→系统详细设计→系统集成→系统测试→系统维护
【正确答案】
D
【答案解析】嵌入式系统的设计和开发流程一般分为以下几个阶段;产品定义(即系统需求分析阶段、规格说明阶段)、硬件和软件划分、迭代与实现、详细的硬件与软件设计、硬件与软件集成、系统测试和系统维护与升级。
单选题
模块的耦合度描述了{{U}} {{U}} {{/U}} {{/U}}。A.模块内各种元素结合的程度 B.模块内多个功能之间的接口
C.模块之间公共数据的数量 D.模块之间相互关联的程度
【正确答案】
D
【答案解析】模块的耦合度表现了模块之间相互关联的程度,从低到高分为无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合和内容耦合等六级。
单选题
一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其他故障,这时应该进行{{U}} {{U}} {{/U}} {{/U}}。A.程序走查 B.退化测试 C.软件评审 D.接收测试
【正确答案】
B
【答案解析】一个故障已经被发现,而且也被排除了,因为在修改过程中纠正了旧的错误又会引入新的错误,此时应该进行退化测试(Regession Test),以防止出现新的错误。退化测试包括以下步骤:①插入新代码,程序成为新版本,②测试可能受新代码影响的功能;③测试修改前的基本功能;④测试新版本的功能。
对于选项A,“程序走查”,是由Bell等人提出来的一种评价程序语言的方法,它以用户为中心,通过走查用户使用程序完成任务的情况进而评价程序语言设计的可用性和流畅性。
对于选项C,“软件评审”,是指对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。
对于选项D,“软件接收测试”,是保证关键任务的应用软件能在其所运行的硬件设施上高效地运行,与严格的操作标准一致。
单选题
嵌入式应用软件的开发必须将硬件、软件、人力资源等元素集成起来,并进行适当的组合以实现应用软件对功能和性能的需求。以下正确描述嵌入式应用软件的设计流程的是{{U}} {{U}} {{/U}} {{/U}}。A.按照实时性划分软件功能模块→确定硬件驱动的软件接口→生成各模块代码→功能模块的集成测试→调试→代码固化
B.按照实时性划分软件功能模块→确定硬件驱动的软件接口→生成各模块代码→固化调试→功能模块的集成测试→代码固化
C.确定硬件驱动的软件接口→按厢实时性划分软件功能模块→生成各模块代码→功能模块的集成测试→代码固化→调试
D.确定硬件驱动的软件接口→按照实时性划分软件功能模块→生成各模块代码→固化调试→功能模块的集成测试→代码固化
【正确答案】
C
【答案解析】嵌入式应用软件的开发流程与通用软件的开发流程大体相同,但在开发所使用的设计方法上有一定的差异。整个软件的开发流程可分为在软硬件划分阶段确定硬件驱动接口阶段、软件功能模块按照实时性进行划分阶段、各软件功能模块的代码生成阶段、软件功能模块的集成测试阶段、代码固化及固化后的调试阶段。
单选题
嵌入式系统需求分析的任务通常不包括{{U}} {{U}} {{/U}} {{/U}}。A.确定功能要求 B.分析数据要求
C.软硬件模块划分 D.修正开发计划
【正确答案】
C
【答案解析】嵌入式系统需求分析的任务通常包括确定功能要求、分析数据要求、修正开发计划等,而软硬件模块划分工作属于硬件与软件划分阶段的工作内容。
单选题
下面列出了系统维护工作流程中的几个关键步骤,正确的工作顺序是{{U}} {{U}} {{/U}} {{/U}}。
①用户提交维护申请报告 ②交付使用 ③更新文档 ④测试
⑤核实和评价维护申请报告 ⑥制定维护计划 ⑦实施维护A.①→⑤→⑥→⑦→④→③→② B.①→⑥→⑤→⑦→③→④→②
C.①→⑤→⑥→⑦→③→④→② D.①→⑥→⑤→⑦→④→③→②
【正确答案】
A
【答案解析】系统维护工作流程中正确的顺序是;用户提交维护申请报告→核实和评价维护申请报告→制定维护计划→实施维护→测试→更新文档→交付使用。