第三套 嵌入式软件工程师考试试题 - B卷

更新时间:2023-09-18 02:21:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

嵌入式

Linux软件工程师认证考试 B卷

(考试时间120分钟) 一 二 三 四 总分 姓名 身份证号 (密封线内勿答题) 题号 分数

一、选择题(本大题共20个小题,每小题1分,共20分)

得分 评阅人 1、在下列ARM处理器的各种模式中,( )模式有自己独立的R8-R14寄存器。 A、系统模式(System)、B、终止模式(Abort)C、中断模式(IRQ)D、快中断模式(FIQ) 2、按照ARM过程调用标准(APCS),栈指针使用( )寄存器, A、R0

B、R13

C、R14

D、R15

3、在ARM体系结构中,( )寄存器作为连接寄存器,当进入子程序时或者处理器响应异常的时候,用来保存PC的返回值;( )寄存器作为处理器的程序计数器指针。 A、R0,R14 B、R13,R15 C、R14,R15 D、R14,R0

4、在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?( )

A、直接修改CPU状态寄存器(CPSR)对应的模式

B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态 C、使用软件中断指令(SWI) D、让处理器执行未定义指令

5、下面关于MMU和Linux描述错误的是:( )

A、MMU是内存管理单元Memory Management Unit的缩写 B、uClinux可以运行在有MMU的处理器上

C、Linux内核功能强大,内存管理功能丰富,即使在没有MMU的处理器上,也可以通过软件实现地址映射。

D、Linux系统正是利用MMU,才能使得各个进程有独立的寻址空间 6、DNS域名系统主要负责主机名和( )之间的解析。 A、IP地址 B、MAC地址 C、网络地址

D、主机别名

(密封线内勿答题) 7、在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用( )命令。 A、上箭头

B、下箭头 C、<.> D、<*>

第 1 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

8、进程有三种状态:( )。 A 、准备态、执行态和退出态 C 、运行态、就绪态和等待态

B 、精确态、模糊态和随机态 D 、手工态、自动态和自由态

9、下列变量名中有效的shell变量名是( )。

A、-1-time B、_2$3 C、bo_chuang_1 D、2009file

10、文件系统的主要功能是( )。

A、实现对文件的按名存取 B、实现虚拟存储 C、 提高外存的读写速度 D、用于保存系统文档

11、在ARM Linux体系中,用来处理外设中断的异常模式是( ) A、软件中断(SWI) C、中断请求(IRQ)

B、未定义的指令异常 D、快速中断请求(FIQ)

12、在ARM Linux系统中,中断处理程序进入C代码以后,ARM的处于( )工作模式

A、超级用户(SVC) C、快速中断(IRQ)

B、中断(IRQ)

D、和进入中断之前的状态有关系

13、在ARM体系构建的嵌入式系统中,由电平模式触发的中断,其对应的中断标准应该在何时被清除?( )

A、当中断处理程序结束以后,才可以清除 B、进入相应的中断处理程序,即可以清除 C、产生IRQ中断的时候,处理器自动清除

D、任何时候都可以清除

14、在操作系统中,Spooling技术是用一类物理设备模拟另一类物理设备的技术,实现这种技术的功能模块称做( )。

A、可林斯系统 B、斯普林系统C、图灵机系统 D、 虚拟存储系统 15、通过修改下面文件哪个文件 ,可以设定开机时候自动安装的文件系统( ) A. /etc/mta B. /etc/fastboot C. /etc/fstab 16、下面关于Shell的说法,不正确的是: ( )

A. 操作系统的外壳 B. 用户与Linux内核之间的接口程序 C. 一个命令语言解释器 D. 一种和C类似的程序语言 17、假设root用户执行“init 0”命令,系统将会( )。 A.暂停

B.关机

C.重新启动

D.初始化

D. /etc/inetd.conf

第 2 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

18、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个( )环境。

A、交互操作系统 B、交叉编译 C、交互平台 算

19、已知有变量data1定义如下: union data { int i; char ch; float f; } data1;

则变量data1所占的内存存储空间可表示为( )。 A、sizeof(int) B、sizeof(char)

C、sizeof(float) D、sizeof(int)+sizeof(char)+sizeof(float) 20、软件开发模型给出了软件开发活动各阶段之间的关系,( )不是软件开发模型。

A、瀑布模型 B、螺旋模型 C、原型模型

D、程序模型

D、分布式计

二、填空(本大题共7个小题,每空1分,共20分)

得分 评阅人 1. 嵌入式操作系统不同于通用操作系统的功能是:_____、______

2. 片内总线是大规模集成电路(Large Scale Integrated Circuit:LSI)和超大规模集成电路(VLSI)内部各寄存器或功能单元之间的信息交换通道,它由生产厂家决定,下列属于片内总线的有 _____、______、_______

3. 常用的软件开发模型有 ______、_____、_______

4. ARM处理器的工作模式中属于异常模式的有 ________、________、________ 5. 芯片总线又称元件级总线,它是指系统内或插件板内各元件之间所使用的总线,下列属于芯片总线的有_______ 、_________、________

6. 在ARM汇编语言程序设计中主程序和子程序参数的传递需要满足ATPCS规则,ATPCS规则中用来传递参数的寄存器是_____、______、______、________

7.vi编辑器具有两种工作模式: ________和 ________ 。

第 3 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

三、判断题(本大题共12个小题,每题1分,共12分)

得分 评阅人 1、( )在vi编辑器中的命令模式下,删除当前光标处的字符使用d命令。

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

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

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

5、( )写回Cache是指CPU在执行写操作时,必须把数据同时写入Cache和主存。 6、( )在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用下箭头命令。

7、( )文件系统的主要功能是实现虚拟存储。 8、( )进程有三种状态是准备态、执行态和退出态。

9、( )目前Linux平台上的各种线程库使得Linux能够在内核空间能够支持多线程。 10、( )Linux允许内核以NFS的形式连接根文件系统 11、( )EXT3文件系统是一种日志型的文件系统。 12、( )BootLoader是嵌入式系统运行的第一个程序。

四、简答题(本大题共2小题,共8分)

得分 评阅人

1、简述Bootloader有何作用?(5分)

2、程序、进程、线程有何区别?(3分)

五、编程题(本大题共4个小题,共40分)

得分 评阅人 1、编写程序,在一个字符串中找到可能的最长的子字符串(10分)

第 4 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

2、编写程序,定义一函数char *strscony(char *p),该字符串用于将指定字符串逆序(10分)

3、仔细阅读下面代码,并填空(10分)

#include \#include \typedef struct tree{ char data;

struct ___________; struct tree *rchild; }*Ptree,Dtree;

void postOrder(Ptree t) {

if(t) {

___________________; ___________________; printf(\ } }

int main() {

int num[10]={0}; int height; int i; Ptree t;

t=createTree(); postOrder(t); return 0; }

4、仔细阅读下面的代码,然后填空,该问题解决N个鸡蛋放到M个篮子里(10分)

说明:

1.n + (M-m)*Min > N 剪枝条件:放n个鸡蛋后,后面的篮子里即使都放Min个,总鸡蛋数都超过了N个。说明鸡蛋太少了 2.当前篮子放n个鸡蛋,下一个篮子放鸡蛋的个数为Min~n+1,也就是最多放n+1个,再下一个篮子最多放2n+2,4n+4...(n+1)*2^(M-m-1)

当前篮子放n个,如果以后按最多的放,所有篮子的鸡蛋总和如果小于N,说明鸡蛋太多,放不完,要剪枝。即

n+(n+1)(2^0+2^1+2^2+2^3+...+2^(M-m-1))

第 5 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

N > pow2[M-m]*n + pow2[M-m]-1

#include using namespace std; long pow2[20]; int N,M;

int ans[1000];

void solve( int n , int m , int Min ) {

if(n == N && m == M) {

for(int i=0;i

cout<

cout<

else if( _________________________________) return ; else {

for(int i = Min; i <= n+1; i++) {

ans[m] = i;

_________________________; } } }

int main() {

pow2[0] = 1;

for(int i=1;i<20;i++) {

pow2[i] =__________________; }

cin>>N>>M;

if( M > N || ___________________) {

cout<<\没有有效解\ }

solve( 0 , 0 , 1 ); system(\ return 0; }

第 6 页 共 6 页

工业和信息产业化部嵌入式软件工程师专业技术资格认证考试 B卷

N > pow2[M-m]*n + pow2[M-m]-1

#include using namespace std; long pow2[20]; int N,M;

int ans[1000];

void solve( int n , int m , int Min ) {

if(n == N && m == M) {

for(int i=0;i

cout<

cout<

else if( _________________________________) return ; else {

for(int i = Min; i <= n+1; i++) {

ans[m] = i;

_________________________; } } }

int main() {

pow2[0] = 1;

for(int i=1;i<20;i++) {

pow2[i] =__________________; }

cin>>N>>M;

if( M > N || ___________________) {

cout<<\没有有效解\ }

solve( 0 , 0 , 1 ); system(\ return 0; }

第 6 页 共 6 页

本文来源:https://www.bwwdw.com/article/v5bh.html

Top