嵌入式软件助理工程师理论考试补考试题定稿.docx
《嵌入式软件助理工程师理论考试补考试题定稿.docx》由会员分享,可在线阅读,更多相关《嵌入式软件助理工程师理论考试补考试题定稿.docx(10页珍藏版)》请在冰豆网上搜索。
![嵌入式软件助理工程师理论考试补考试题定稿.docx](https://file1.bdocx.com/fileroot1/2023-2/11/c26d7784-6d35-4281-85cf-431ccab140a0/c26d7784-6d35-4281-85cf-431ccab140a01.gif)
嵌入式软件助理工程师理论考试补考试题定稿
(密封线内勿答题)学校专业姓名身份证号(密封线内勿答题)
(考试时间:
150分钟)
题号
一
二
三
四
五
六
总分
分数
一、单项选择题(在备选答案中只有一个是正确的,将它选出填入空格中,每小题1分,共20分)
得分
评阅人
1、Linux分区类型默认的是:
()
A.vfatB.ext2/ext3C.swapD.dos
2、在Linux系统,默认的shell是什么()
A.bashB.ashC.cshD.gnush
3、Linux文件权限一共10位长度,分成四段,第三段表示的内容是()
A.文件类型B.文件所有者的权限
C.文件所有者所在组的权限D.其他用户的权限
4、你用vi编辑器编写了一个脚本文件shell.sh,你想将改文件名称修改为shell2.sh,下列命令()可以实现。
A.cpshell.shshell2.shB.mvshell.shshell2.sh
C.lsshell.sh>shell2.shD.llshell.sh>shell2.sh
5、()命令可更改一个文件的权限设置?
A.attribB.chmodC.changeD.file
6、在CPU和物理内存之间进行地址转换时,()将地址从虚拟(逻辑)地址空间映射到物理地址空间。
A、TCBB、MMUC、CACHED、DMA
7、为了查看Linux启动信息,可以用()命令
A.cat/etc/lilo.confB.dmesg
C.cat/proc/cpuinfoD.lilo
8、在FTP协议中,控制连接是由()主动建立的。
A.服务器端B.客户端
C.操作系统D.服务提供商
9、进程有三种状态:
()。
A.准备态.执行态和退出态B.精确态.模糊态和随机态
C.运行态.就绪态和等待态D.手工态.自动态和自由态
10、以下叙述中正确的是()。
A.宿主机与目标机之间只需要建立逻辑连接即可
B.在嵌入式系统中,调试器与被调试程序一般位于同一台机器上
C.在嵌入式系统开发中,通常采用的是交叉编译器
D.宿主机与目标机之间的通信方式只有串口和并口两种
11、Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在()目录中。
A./binB./etc
C./devD./lib
12、下列()设备是字符设备。
A.hdcB.fd0C.hda1D.tty1
13、中断向量是指( )。
A.中断断点的地址B.中断向量表起始地址
C.中断处理程序入口地址D.中断返回地址
14、下列说法正确的是()
A.ln-sa.txtb.txt,作用是制作文件b.txt的符号链接,其名称为a.txt
B.df命令可以查看当前目录占用磁盘空间的大小
C.comm命令打印两个文本文件中的相同的内容
D.rm命令可以用来删除目录
15、NFS是()系统。
A.文件B.磁盘
C.网络文件D.操作
16、嵌入式linux系统中,如果在gcc编译过程中没有指定输出的文件名,则默认输出的可执行文件名为:
()
A、a.exeB、a.out
C、aD、a.obj
17、要给文件file1加上其他人可执行属性的命令是()
A、chmoda+xB、chowna+x
C、chmodo+xD、chowno+x
18.在ARM处理器中,()寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。
A、CPSRB、SPSR
C、PCD、IR
19.在下面的叙述中,()不是嵌入式图形用户接口(GUI)的主要特点。
A.运行时占用的系统资源少 B.上层接口与硬件无关,高度可移植
C.可靠性高 ,高可裁剪性 D.美丽华丽,图形算法复杂
20、下面哪一个选项不是linux系统的进程类型()
A.交互进程B.批处理进程
C.守护进程D.就绪进程
二、多项选择题(共10个题,每小题不选或选错得0分,漏选得1分,全部选对得2分,共20分)
得分
评阅人
1、Linux系统中的设备文件通常有如下分类()
A、虚拟设备B、字符设备C、网络设备
D、块设备E、存储设备
2、嵌入式操作系统不同于通用操作系统的功能是()
A.任务调度B.可裁减性
C.强实时D.设备管理 E.存储器管理
3、下列能改变ARM处理器工作状态的指令有()
A、B指令B、SUB指令C、BX指令D、BLX指令E、BL指令
4、在ARM汇编语言程序设计中主程序和子程序参数的传递需要满足ATPCS规则,ATPCS规则中用来传递参数的寄存器是()
A.R0B.R1C.R2D.R3E.R4
5、芯片总线又称元件级总线,它是指系统内或插件板内各元件之间所使用的总线,下列属于芯片总线的有()
A、I2C总线B、ISA总线C、SPI总线
D、SCI总线 E、PCI总线
6、嵌入式系统中常用的GUI有()
A.KDEB.GNOME
C.MiniGUID.OpenGUIE.QT/Embedded
7、Linux系统中常用的压缩打包命令有()
A.tar命令B.winrar命令
C.gzip命令D.bzip2命令E.compress命令
8、下列能改变ARM处理器工作状态的指令有()
A、B指令B、SUB指令C、BX指令
D、BLX指令E、BL指令
9、下列linux版本为稳定版本的有()
A.linux2.0B.linux2.3
C.linux2.4D.linux2.5 E.linux2.6
10、常用的软件开发模型有()
A、结构型B、原型模型C、迭代型D、瀑布型E、综合型
三、判断题(共10个题,在正确的后面括号中对打√,否则打×,每小题1分,共10分)
得分
评阅人
1、Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在/etc目录中。
()
2、JTAG是联合测试行动小组定义的一种国际标准测试协议,主要用于芯片内部测试及系统仿真。
()
3、在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令nslookup。
()
4、声明一个指针变量的同时系统会自动分配内存。
()
5、在vi编辑器中的命令模式下,删除当前光标处的字符使用d命令。
()
6、文件系统的主要功能是实现虚拟存储。
()
7、写回Cache是指CPU在执行写操作时,必须把数据同时写入Cache和主存。
(×)
8、在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用下箭头命令。
()
9、QtEmbedded的API同Qt/X11和Qt/Windows的相同,但它并不是基于X11库。
()
10.触摸屏是一种输入设备。
()
四、简述题(共5题,每小题5分,共25分)
得分
评阅人
1、简述嵌入式系统中非占先式与占先式调度法的区别有哪些。
2、简述Bootloader有何作用?
3、ARM支持哪两种数据存储格式,简单描述各自特点。
4、简述嵌入式系统的几个重要特征?
5、介绍一下嵌入式系统的主要设计步骤?
并简要说明各部分完成的主要工作是什么?
五、阅读程序与编写应用题(共3题,每小题5分.共15分)
得分
评阅人
1、下列程序实现将一个数从内存某地址中取出一个字,然后将该数进行了处理,结果放回内存中该数的相邻的下一字地址中,阅读程序并说明每条语句的作用。
startldrr1,[r0];1)
movr0,r1,lsl#3;2)
movr2,#20;3)
addr1,r1,r2;4)
strr1,[r0,4];5)
2、用变量a给出下面的定义
一个指向整型数的指针(Apointertoaninteger)
一个指向指针的的指针,它指向的指针是指向一个整型数(Apointertoapointertoaninteger)
一个有10个整型数的数组(Anarrayof10integers)
一个有10个指针的数组,该指针是指向一个整型数的(Anarrayof10pointerstointegers)
一个指向有10个整型数数组的指针(Apointertoanarrayof10integers)
3、请对下列shell程序加注释,并说明程序的功能和调用方法:
#!
/bin/sh
#
#/etc/rc.d/rc.httpd
#
#Start/stop/restarttheApachewebserver.
#
#TomakeApachestartautomaticallyatboot,makethis
#fileexecutable:
chmod755/etc/rc.d/rc.httpd
#
case"$1"in
'start')
/usr/sbin/apachectlstart;;
'stop')
/usr/sbin/apachectlstop;;
'restart')
/usr/sbin/apachectlrestart;;
*)
echo"usage$0start|stop|restart";;
esac
六、实践应用题(10分)
1、管道是Linux中进程通信的一种方式,以下程序在父进程和子进程之间创建了一个管道,然后建立它们之间的通信,实现父进程向子进程写数据的功能。
说明标号所在行代码的功能。
#include
#include
#include
#include
#include
intmain()
{
intpipe_fd[2];
pid_tpid;
charbuf_r[100];
char*p_wbuf;
intr_num;
memset(buf_r,0,sizeof(buf_r));
(1)
if(pipe(pipe_fd)<0)
(2)
{
printf("pipecreateerror\n");
return-1;
}
if((pid=fork())==0)(3)
{
printf("\n");
close(pipe_fd[1]);(4)
sleep
(2);
if((r_num=read(pipe_fd[0],buf_r,100))>0)(5)
{
printf("%dnumbersreadfromthepipeis%s\n",r_num,buf_r);
}
close(pipe_fd[0]);(6)
exit(0);
}
elseif(pid>0)(7)
{
close(pipe_fd[0]);(8)
if(write(pipe_fd[1],"Hello",5)!
=-1)(9)
printf("parentwrite1success!
\n");
if(write(pipe_fd[1],"Pipe",5)!
=-1)
printf("parentwrite2success!
\n");
close(pipe_fd[1]);(10)
sleep(3);
waitpid(pid,NULL,0);
exit(0);
}
}