一、单项选择题(每题2分,共30分)
1.下列哪一项不是嵌入式系统的基本要素
A、嵌入性
B、专用性
C、通用性
D、计算机系统
2.下面哪项不属于ARM处理器模式
A、管理模式(root)管理模式(svc):
B、用户模式(usr)
C、快速中断模式(fiq)
D、外部中断模式(irq)
3.在嵌入式系统开发过程中下面哪项为错误的说法
A、对于有些硬件和软件都可以实现的功能,需要在成本和性能上做出抉择
B、对实时性要求非常高的产品可以选择嵌入式Linux开发环境 Vxworks
C、嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分
D、嵌入式系统的软件开发可分为交叉编译和交叉调试两部分
4.某文件的权限是 -rwxr--r--,则下面描述正确的是
A、文件的权限值是755
B、文件的所有者对文件只有读权限
C、其他用户对文件只有读权限
arm嵌入式系统期末考试
D、同组用户对文件只有写权限
5.在Linux操作系统默认情况下,ls命令显示的可执行文件颜为
A、绿
B、蓝
C、灰
D、黄
6.在vi编辑环境下,使用下面哪个按键进行模式转换
A、Esc
B、Tab
C、Shift
D、Ctrl
7.交叉编译器中,下面哪项不是必需包含的
A、glibc
B、gcc
C、binutils
D、tmake
8.使用下面哪项命令查看系统的默认运行级别
A、runlevel
B、service xinetd status
C、chkconfig --list
D、chkconfig xinetd status
9.下面哪种语言GCC编译器不支持
A、C
B、Java
C、ASP
D、C++
10.不带缓存的文件I/O操作函数不包括
A、fopen
B、read
C、write
D、open
11.在Linux操作系统中,串口设备的设备名一般为
A、com1
B、port1
C、ttyS0
D、serl1
12.编写守护进程的第一步为
A、创建子进程,父进程退出
B、在子进程中创建新会话
C、改变当前目录为根目录
D、关闭文件描述符
13.在关于ICMP协议的描述中,下面哪项是错误的
A、ICMP是IP层的一个协议
B、ICMP报文的最终报宿是报宿计算机上的一个用户进程
C、当一个带有错误信息的ICMP报文到达时,由IP软件模块负责处理
D、每种ICMP报文都有不同的格式
14.键盘模式中不包括下面哪项
A、ASCII mode(XLATE)模式模式
B、Keycode mode(MEDIUMRAW)模式
C、Multi mode(MULTI)模式 UTF-8 MODE (UNICODE) Unicode 模式
D、Scancode mode(RAW)模式
15.socket函数的函数原型是
A、int socket(int family, int type, int protocol)
B、int socket(int sockfd,struct sockaddr *my_addr, int addrlen)
C、int socket(int sockfd, int backlog)
D、int socket(int sockfd, struct sockaddr *serv_addr, int addrlen)
二、判断题(每题2分,共30分)错标红加粗)
16.ROM掉电后数据不会丢失。
17.ARM9处理器采用3级流水线设计。5级
18.嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分。
19.在Linux操作系统下,目录结构属于分区。
20.Shell拥有自己内建的命令集,不能被系统中其他应用程序所调用。
21.在Linux操作系统中,使用ipconfig查看和配置网络接口的地址和参数。
22.Bootloader是在操作系统内核运行之前运行的一段程序。
23.FTP内部命令中使用close命令中断与远程服务器的FTP会话。
24.一个API函数通常需要几个系统调用来共同完成函数的功能,但是还有一些API函数不需要调用相应的系统调用。
25.并行通信传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。
26.wait函数是waitpid函数的一个特例,在Linux操作系统内部实现wait函数时直接调用的就是waitpid函数。
27.守护进程中用printf输出的字符可以在终端上显示出来。
28.TCP协议和UDP协议都是处于网络层的协议。传输层
29.块设备驱动程序包括一个request请求队列。
30.Linux操作系统顶层运行的GUI系统兼容X标准的XFree86系统。
三、填空题(每题2分,共20分)
注意:除汉字外,其它所有字符采用半角输入,英文字符为大写。
31.硬盘可分为主分区、扩展分区、__逻辑分区__。
32.Linux 对目录和设备都当作_文件___来进行处理。
33.Linux中建立符号链接的命令为__LN__。
34.Linux中最常用的编译器是__GCC__编译器。
35.__ JTAG __标准所采用的主要技术为边界扫描技术。
36.fopen函数返回一个__文件描述符__。
37.__进程控制块__包含了进程的描述信息、控制信息以及资源信息,它是进程的一个静态描述。
38.__EXEC__函数族就提供了一个在进程中启动另一个程序执行的方法。
39.TCP/IP的协议参考模型包括网络接口层、网络层、传输层和应用层。
40.在内核更新与加载实验中,设置的数据流控制为二进制
四、程序设计题(每题5分,共20分)
41.下面的程序打开一个文件,写入字符串并读出。请选出应填写在空白处的选项。
int main()
{
    FILE *stream;
    char s[3]={'a','b','c'};
    stream=fopen("what","w");
    i=fwrite( __________ );
    printf("i=%d",i);
    fclose(stream);
}
A、s,sizeof(char),nmemb,stream
B、s,char,nmemb,fd
C、s,sizeof(char),nmemb,FILE
D、s,char,nmemb,FILE
42.下面的程序将环境变量添加到新建的子进程中去,这里的“env”是查看当前进程环境变量的命令使用使用完整的文件目录来查对应的可执行文件,同时使用参数列表的方式。请选出应填写在空白处的选项。
int main()
{
    char *envp[]={"PATH=/tmp","USER=sunq",NULL};
    if(fork()==0)
    {
    /*注意此处已给出env命令的完整路径*/
    if( __________ ("/bin/env","env",NULL,envp)<0)
        perror("error!");
    }
}
A、execl
B、execle
C、execlp
D、execve
43.下面的程序为客户器端应用程序,客户端在建立起socket之后调用connect函数来建立连接。请选出应填写在空白处的选项。
#define SERVPORT 3333
#define MAXDATASIZE 100
main(int argc,char *argv[])
{
    int sockfd,sendbytes;
    char buf[MAXDATASIZE];
    struct hostent *host;
    struct sockaddr_in serv_addr;
    if(argc < 2)
    {
        fprintf(stderr,"Please enter the server's hostname!\n");
        exit(1);
    }
    /*地址解析函数*/
    if((host=gethostbyname(argv[1]))==NULL)
    {
        perror("gethostbyname");
        exit(1);
    }
    /*创建socket*/
    if( __________ )
    {
        perror("socket");
        exit(1);
    }
    /*设置sockaddr_in 结构体中相关参数*/
    serv_addr.sin_family=AF_INET;
    serv_addr.sin_port=htons(SERVPORT);
    serv_addr.sin_addr=*((struct in_addr *)host->h_addr);
    bzero(&(serv_addr.sin_zero),8);
    /*调用connect函数主动发起对服务器端的连接*/
    if(connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(struct sockaddr))== -1)
    {
        perror("connect");
        exit(1);
    }
    /*发送消息给服务器端*/
    if((sendbytes=send(sockfd,"hello",5,0))== -1)
    {
        perror("send");
        exit(1);
    }
    close(sockfd);
}
A、(sockfd = socket(AF_INET,SOCK_STREAM,0))== 0
B、(sockfd = socket(AF_INET,SOCK_STREAM,0))== -1
C、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== 0
D、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== -1
44.hello.c和hello.h位于同一目录下,源代码如下所示。
/*hello.c*/
int main()
{
    printf("Hello everyone!\n");
}
/*hello.h*/
#include
要求编写Makefile文件实现对这两个文件的编译,Makefile文件如下所示。请选出应填写在空白处的选项。
/*Makefile*/
hello:hello.c hello.h
    __________
A、gcc hello.c&hello.h -o hello
B、gcc hello.c hello.h -o hello

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。