当前位置:文档之家› 嵌入式linux应用程序开发期末考试题库及答案

嵌入式linux应用程序开发期末考试题库及答案

嵌入式linux应用程序开发期末考试题库及答案
嵌入式linux应用程序开发期末考试题库及答案

1下列哪一项不是嵌入式操作系统的特点 D

A、占有资源少

B、低成本

C、高可靠性

D、交互性

2下列哪一项不是嵌入式系统的基本要素 C

A、嵌入性

B、专用性

C、通用性

D、计算机系统

3现阶段嵌入式系统发展的主要标志为 D

A、以单芯片为核心的可编程控制器

B、以嵌入式CPU为基础、以简单操作系统为核心

C、嵌入式操作系统

D、Internet

4下面哪项不是嵌入式系统的特点 D

A、面向特定应用

B、软件一般都固化在存储器芯片或单片机本身中,而不存储于磁盘中

C、代码尤其要求高质量、高可靠性

D、具备二次开发能力

5下面哪项不是ARM处理器的特点 D

A、支持Thumb(16 位)/ARM(32 位)双指令集

B、兼容8位/16位器件

C、指令长度固定

D、大量使用RAM,指令执行速度更快 6下面哪项不是ARM处理器的特点 B

A、大多数数据操作都在寄存器中完成

B、采用CISC指令集

C、寻址方式灵活简单,执行效率高

D、体积小、低功耗、低成本、高性能

7下面哪项不属于ARM处理器模式 A

A、管理模式(root)

B、用户模式(usr)

C、快速中断模式(fiq)

D、外部中断模式(irq)

8下面哪项为错误的说法 A

A、冯·诺依曼结构共用数据存储空间和程序存储空间,不共享存储器总线

B、哈佛结构有分离的数据和程序空间及分离的访问总线

C、哈佛结构在指令执行时,取址和取数可以进行并行操作

D、哈佛结构指令执行时效率更高

9采用下列哪项更有利于开发微型嵌入式应用系统 B

A、脚本程序语言

B、C语言或汇编语言

C、C++或SQL语言

D、HTML或XML语言 10下面哪项为一般嵌入式系统开发中不具备的环节 B

A、系统总体开发

B、数据库设计

C、嵌入式硬件开发

D、嵌入式软件开发 11在嵌入式系统开发过程中下面哪项为错误的说法 B

A、对于有些硬件和软件都可以实现的功能,需要在成本和性能上做出抉择

B、对实时性要求非常高的产品可以选择嵌入式Linux开发环境

C、嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分

D、嵌入式系统的软件开发可分为交叉编译和交叉调试两部分

12对于Linux操作系统,下面哪项说法是错误的 D

A、是一种开源的操作系统

B、提供了强大的应用程序开发环境

C、可以免费使用

D、不支持Sparc硬件平台

13使用命令chmod的数字设置,可以改变 C

A、文件的访问特权

B、目录的访问特权

C、文件/目录的访问特权

14修改文件a.txt的权限,使每个用户都可以读取和写入这个文件,相应命令为 A

A、chmod 666 a.txt

B、chmod 777 a.txt

C、chmod 755 a.txt

D、chmod 555 a.txt

15某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为 D

A、467

B、674

C、476

D、764

16系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件 file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应文件拥有权限为B A、744 B、664 C、646 D、746

17某文件的权限是 -rwxr--r--,则下面描述正确的是 C

A、文件的权限值是755

B、文件的所有者对文件只有读权限

C、其他用户对文件只有读权限

D、同组用户对文件只有写权限

18某文件的原有权限是-rwxr--r--,执行chmod o+x后文件权限为 B

A、-rwxr-xr-x

B、-rwxr--r-x

C、-rwxr-xr--

D、-rw-r--r--

19 clear命令的作用是 A

A、清除终端窗口

B、关闭终端窗口

C、打开终端窗口

D、调整窗口大小 20显示当前目录中的全部文件,相应命令为 B

A、ls

B、ls -a

C、ls -l

21在Linux操作系统默认情况下,ls命令显示的可执行文件颜色为 A

A、绿色

B、蓝色

C、灰色

D、黄色

22用命令显示出文件ff的描述为-rwxr-xr-- 1 root root 599 cec 10 17:12 ff,由此可知文件ff的类型为 A

A、普通文件

B、硬链接

C、目录

D、符号链接

23用命令列出下面的文件列表,请问那一个文件是符号链接文件 D

A、-rw------- 2 hel-s users 56 Sep 09 11:05 hello

B、-rw------- 2 hel-s users 56 Sep 09 11:05 goodbey

C、drwx------ 1 hel users 1024 Sep 10 08:10 zhang

D、lrwx------ 1 hel users 2024 Sep 12 08:12 cheng

24在Linux关机命令中,下列命令中无法实现关机的是 B

A、shutdown -h now

B、reboot

C、halt

25删除文件命令为 D

A、mkdir

B、rmdir

C、mv

D、rm

26对于tar.gz结尾的文件,采用下面哪个命令进行解压缩操作 A

A、tar xvzf

B、tar jxvf

C、tar czvf

D、tar jcvf

27对于tar.bz2结尾的文件,采用下面哪个命令进行解压缩操作 B

A、tar xvzf

B、tar jxvf

C、tar czvf

D、tar jcvf

28对于ln命令,下列哪项说法是不正确的 C

A、ln命令会保持每一处链接文件的同步性

B、软链接在用户选定的位置上生成一个文件的镜像

C、ln命令的链接文件不会重复占用磁盘空间

D、硬链接会在用户选定的位置上生成一个和源文件大小相同的文件

29在vi编辑器中执行存盘退出的命令为 D

A、:q

B、:sq

C、:q!

D、:wq

30 vi编辑器中不包括下面哪种模式 A

A、编辑模式

B、命令行模式

C、插入模式

D、底行模式

31使用vi编辑器环境时,使用:set nu显示行号,使用下面哪项命令取消行号显示 B

A、:set nuoff

B、:set nonu

C、:off nu

D、:cls nu

32在Linux内核配置过程中,下面哪项命令采用的是基于图形窗口模式的配置界面 C

A、make config

B、make menuconfig

C、make xconfig

D、make oldconfig 33在Linux内核配置过程中,下面哪项命令建立依赖关系 C

A、make config

B、make menuconfig

C、make dep

D、make clean

34交叉编译器中,下面哪项不是必需包含的 D

A、glibc

B、gcc

C、binutils

D、tmake

35内核的编译主要步骤不包括下面哪项 D

A、内核配置

B、建立依存关系

C、建立内核

D、加载内核

36内核编译时选项前的尖括号中可以是空,*,M,其中*表示 C

A、选项将编译为模块

B、不包含选项

C、包含选项

37 Bootloader的stage1阶段主要完成的工作不包括下面哪项 D

A、基本的硬件初始化

B、为加载stage2准备RAM空间

C、拷贝stage2到RAM中

D、用汇编语言跳转到main入口函数

38采用哪项运行级别为图形用户登录Linux操作系统 D

A、0

B、1

C、3

D、5

39下面关于Linux系统服务的说法哪项是错误的 B

A、INIT进程的一个重要作用就是启动Linux系统服务

B、Linux的系统服务包括独立运行的系统服务和由用户设定的服务

C、xinet能够同时监听多个指定的端口

D、xinet可以看作一个启动服务的管理服务器 40下面关于Linux系统服务的说法哪项是错误的 C

A、独立运行的系统服务的启动脚本都放在目录/etc/rc.d/init.d/中

B、不同运行级别的脚本文件目录为/etc/rc.d/rcN.d,其中N对应不用的运行级别

C、不同运行级别的脚本文件中每个对应的服务都以“C”或“S”开头,其中的C代表关闭,S代表启动

D、使用命令“service+系统服务+操作”实现对相应服务操作

41使用下面哪项命令查看系统的默认运行级别 A

A、Runlevel

B、service xinetd status

C、chkconfig --list

D、chkconfig xinetd status

42下面哪种语言GCC编译器不支持 C

A、C

B、Java

C、ASP

D、C++

43 GCC的正确编译流程为 A

A、预处理-编译-汇编-链接

B、预处理-编译-链接-汇编

C、预处理-链接-编译-汇编

D、编译-预处理-汇编-链接

44下面哪项关于GCC编译过程的说法是错误的 D

A、编译阶段GCC要检查代码规范性、是否有语法错误等,确定代码的实际要做的工作

B、汇编阶段是把编译阶段生成的.s文件转成目标文件

C、预处理阶段,GCC编译器将代码中包含的头文件编译进来

D、GCC在编译时默认使用静态库

45如需GCC提供编译过程中所有有用的报警信息,则在编译时应加入选项 B

A、-w

B、-Wall

C、-werror

D、-error

46下面哪些与GDB相关的说法是错误的 B

A、GDB能调试可执行文件

B、GDB能调试源代码

C、GDB对编译过程有要求

D、GDB支持交叉调试

47在GDB调试过程中,使用下面哪项命令设置断点,其中m代表行号 A

A、b m

B、c m

C、n m

D、s m

48一个进程启动时打开3个文件中不包括 D

A、标准输入

B、标准输出

C、标准出错处理

D、系统日志服务 49一般情况下,STDIN_FILENO对应的文件描述符为 B

A、-1

B、0

C、1

D、2

50一般情况下,STDERR_FILENO对应的文件描述符为 D

A、-1

B、0

C、1

D、2

51不带缓存的文件I/O操作函数不包括 A

A、fopen

B、read

C、write

D、open

52 open函数原型中的O_RDWR标志表示文件打开方式为 C

A、只读方式打开文件

B、可写方式打开文件

C、读写方式打开文件

D、以添加方式打开文件,在打开文件的同时,文件指针指向文件末尾

53 open函数调用错误时,函数返回值为 A

A、-1

B、0

C、1

D、2

54在Linux操作系统中,串口设备的设备名一般为 C

A、com1

B、port1

C、ttyS0

D、serl1

55串口参数主要通过设置struct termios结构体的各成员值来实现,下面哪项不是各成员值支持的设置方式 C

A、与

B、或

C、赋值

56串口参数主要通过设置struct termios结构体的各成员值来实现,下面哪项实现设置波特率参数 B A、newtio.c_cflag |= 115200 B、cfsetispeed(&newtio, B115200)

C、options.c_cflag |= B115200

D、newtio.c_cflag = ~CS115200

57当流缓冲涉及一个终端时,标准I/O典型地使用下面哪项缓冲方式 B

A、全缓冲

B、行缓冲

C、无缓冲

D、帧缓冲

58标准出错stderr产生时,标准I/O典型地使用下面哪项缓冲方式 C

A、全缓冲

B、行缓冲

C、无缓冲

D、帧缓冲

59使用fopen函数时,必需包含的头文件文件为 A

A、stdio.h

B、stdlib.h

C、errno.h

D、fcntl.h

60下面哪项是对进程概念的错误描述 D

A、进程是一个独立的可调度的活动

B、进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源

C、进程是可以并行执行的计算部分

D、进程是保存在磁盘上的指令的有序集合

61下面哪项对进程的描述是错误的 A

A、进程是一个静态态的概念

B、进程包括动态创建、调度和消亡的整个过程。

C、进程是程序执行和资源管理的最小单位

D、当用户在系统中键入命令执行一个程序的时候,它将启动一个进程

62下面哪项对进程控制块的描述是错误的 D

A、进程控制块包含进程的描述信息

B、进程控制块包含进程的控制信息

C、进程控制块包含进程的资源信息

D、进程控制块是进程的一个静态描述

63下面哪项对进程标识的描述是错误的 B

A、PID惟一地标识一个进程

B、PPID惟一地标识一个进程

C、PID是非零的正整数

D、PPID是非零的正整数

64下面哪项对Linux操作系统下进程的模式描述是错误的 C

A、用户程序执行过程中出现系统调用或者发生中断事件,进程模式就变成内核模式

B、内核模式下运行的进程可以执行机器的特权指令

C、root用户可干扰内核模式下进程的运行

D、内核模式下运行的进程不受用户的干扰 65进程的三种状态为 C

A、准备态、执行态和退出态

B、精确态、模糊态和随机态

C、运行态、就绪态和等待态

D、手工态、自动态和自由

66下面哪项不是Linux操作系统下常见的进程调度命令 C

A、bg

B、kill

C、open

D、ps

67下面哪项对Linux操作系统下fork函数的描述是错误的 D

A、fork函数执行一次返回两个值

B、新进程称为子进程,而原进程称为父进程

C、父进程返回值为子进程的进程号

D、子进程返回值为父进程的进程号

68下面哪项对Linux操作系统下exit( )和_exit( )函数的描述是错误的 C

A、_exit( )函数的作用是直接使进程停止运行,清除其使用的内存空间,并清除其在内核中的各种数据结构

B、exit()函数在调用exit退出系统之前要检查文件的打开情况

C、exit()函数直接将进程关闭,此时缓冲区中的数据将会丢失

D、想保证数据的完整性,就一定要使用exit()函数。

69下面哪项对Linux操作系统下wait和waitpid函数的描述是错误的 D

A、wait函数用于使父进程(即调用wait的进程)阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止

B、wait函数调用时,如果该父进程没有子进程或者他的子进程已经结束,则wait就会立即返回。

C、waitpid函数用于使父进程(即调用wait的进程)阻塞并可提供一个非阻塞版本的wait功能

D、waitpid函数不支持作业控制

70编写守护进程的第一步为 A

A、创建子进程,父进程退出

B、在子进程中创建新会话

C、改变当前目录为根目录

D、关闭文件描述符

71下面哪项对Linux操作系统下setsid函数的描述是错误的 D

A、用于创建一个新的会话,并担任该会话组的组长

B、让进程摆脱原会话的控制

C、让进程摆脱原进程组的控制

D、让进程摆脱init进程的控制

72 TCP/IP协议模型中不包括下面哪项 A

A、物理层

B、网络接口层

C、网络层

D、传输层

73在关于TCP/UDP的描述中,下面哪项是错误的 C

A、TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递

B、TCP对话通过三次握手来完成初始化

C、UDP即用户数据报协议是一种面向连接的协议

D、一个UDP应用可同时作为应用的客户或服务器方

74常见的socket类型中不包括下面哪项 C

A、SOCK_STREAM

B、SOCK_DGRAM

C、SOCK_DTRAN

D、SOCK_RAW 75在关于ICMP协议的描述中,下面哪项是错误的 B

A、ICMP是IP层的一个协议

B、ICMP报文的最终报宿是报宿计算机上的一个用户进程

C、当一个带有错误信息的ICMP报文到达时,由IP软件模块负责处理

D、每种ICMP报文都有不同的格式

76在关于设备驱动的描述中,下面哪项是错误的 D

A、操作系统通过各种驱动程序来驾驭硬件设备

B、操作系统为硬件提供统一的操作方式

C、操作系统最基本的组成部分是硬件驱动程序

D、常见的驱动程序作为内核模块动态加载,比如声卡驱动、网卡驱动、CPU、PCI总线等 77在关于模块相关命令的描述中,下面哪项是错误的 D

A、lsmod列出当前系统中加载的模块

B、rmmod用于将当前模块卸载

C、cpmod用于将模块复制到用户空间

D、insmod用于加载当前模块

78在关于设备驱动程序的描述中,下面哪项是错误的 D

A、Linux设备驱动程序包含中断处理程序和设备服务子程序两部分

B、设备控制器需要获得系统服务时采用查询和中断两种方式

C、设备服务子程序包含了所有与设备操作相关的处理代码

D、设备服务子程序对设备控制器执行操作,不接受用户命令

79 Linux设备驱动程序与外界的接口不包括下面哪项。 B

A、驱动程序与操作系统内核的接口

B、驱动程序与用户的接口

C、驱动程序与设备的接口

D、驱动程序与系统引导的接口

80打开设备的接口函数是open ,通常情况下在open函数中要完成的工作中不包括下面哪项D A、递增计数器B、检查特定设备的特殊情况C、初始化设备D、释放设备 81在关于内存分配函数的描述中,下面哪项是错误的 B

A、kmalloc函数开辟的内存基于内存地址

B、kmalloc函数申请空间无大小限制

C、kmalloc函数不会对所获取的内存空间清零

D、kmalloc函数返回物理地址

82键盘模式中不包括下面哪项 C

A、ASCII mode(XLATE)模式模式

B、Keycode mode(MEDIUMRAW)模式

C、Multi mode(MULTI)模式

D、Scancode mode(RAW)模式

83键盘相关码表中不包括下面哪项 C

A、扫描码

B、键盘码

C、扩展码

D、Keymap表

84 open函数的原型函数为说明 A

A、int open(const char *pathname,flags,int perms)

B、ssize_t open(int fd,void *buf,size_t count)

C、FILE *open(const char * path,const char * mode)

D、off_t open(int fd,off_t offset,int whence)

85 read函数的原型函数为说明 B

A、int read(const char *pathname,flags,int perms)

B、ssize_t read(int fd,void *buf,size_t count)

C、FILE *read(const char * path,const char * mode)

D、off_t read(int fd,off_t offset,int whence)

86 lseek函数的原型函数为说明 D

A、int lseek(const char *pathname,flags,int perms)

B、ssize_t lseek(int fd,void *buf,size_t count)

C、FILE *lseek(const char * path,const char * mode)

D、off_t lseek(int fd,off_t offset,int whence)

87 fcntl函数的原型函数为说明 B

A、int fcntl(const char *pathname,flags,int perms)

B、int fcnt1(int fd,int cmd,struct flock *lock)

C、FILE *fcntl(const char * path,const char * mode)

D、int fcntl(int numfds,fd_set *readfds,fd_set *writefds,fd_set *exeptfds,struct timeval *timeout)

88 select函数的原型函数为说明 B

A、int select(const char *pathname,flags,int perms)

B、int select(int fd,int cmd,struct flock *lock)

C、FILE *select(const char * path,const char * mode)

D、int select(int numfds,fd_set *readfds,fd_set *writefds,fd_set *exeptfds,struct timeval *timeout)

89 fopen的原型函数为 A

A、FILE * fopen(const char * path,const char * mode)

B、int fopen(FILE * stream)

C、size_t fopen(void * ptr,size_t size,size_t nmemb,FILE * stream)

D、size_t fopen(const void * ptr,size_t size,size_t nmemb,FILE * stream)

90 socket函数的函数原型是 A

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)

(√)RAM的访问速度比较快,但掉电后数据会丢失。

(√)ROM掉电后数据不会丢失。

(×)人们通常所说的内存即指系统中的ROM。

(√)SRAM利用双稳态触发器保存信息,只要不掉电,信息不会丢失。

(×)DRAM是利用MOS(金属氧化物半导体)电容存储电荷来储存信息,可不通过充电来维持信息。

(√)Flash具有和ROM一样掉电不会丢失的特性,因此被称为Flash ROM。

(√)ARM7处理器采用3级流水线设计。

(×)ARM9处理器采用3级流水线设计。

(×)ARM7处理器采用哈佛结构。

(√)ARM9处理器采用哈佛结构。

(√)嵌入式软件开发一般采用“宿主机-目标机”开发模式。

(×)一般把进行交叉编译的主机称为目标机。

(×)一般把程序实际的运行环境称为宿主机。

(√)嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分。

(√)在Linux操作系统安装过程中可进行网络配置。

(×)Linux操作系统不可以与MS-DOS、Windows等其它操作系统共存于同一台机器上。

(×)Linux操作系统主要的系统配置文件主要存放在/var/目录。

(×)在Linux操作系统下,目录结构属于分区。

(√)在Linux操作系统下,文件系统是一个文件树。

(√)可以采用图形化登录和虚拟控制台登录两种方式登录Linux系统。

(√)shell是一个命令解释器。

(√)可以在shell提示下或图形方式下创建用户帐号。

(√)Shell是命令语言、命令解释程序及程序设计语言的统称。

(×)Shell拥有自己内建的命令集,不能被系统中其他应用程序所调用。

(√)Shell是一种Linux操作系统中的命令行解释程序。

(×)rm命令可删除文件或目录,其主要差别就是是否使用递归开关 -f。

(√)mv命令可以移动文件和目录,还可以为文件和目录重新命名。

(×)cp命令可以复制文件和目录,但是不可以为文件和目录重新命名。

(×)在Linux操作系统中,使用ipconfig查看和配置网络接口的地址和参数。

(√)在Linux操作系统中,使用ifconfig配置的网络设备参数不需重启就可生效。(√)在Linux操作系统中,使用ifconfig配置的网络设备参数在系统重新启动以后将会失效。 (√)在Linux操作系统中使用ping测试计算机和网络上的其他计算机是否连通。

(√)Bootloader是在操作系统内核运行之前运行的一段程序。

(√)由于Bootloader严重依赖于硬件实现,嵌入式系统中没有一个通用的Bootloader。(√)虽然Bootloader严重依赖于硬件实现,但是Bootloader的设计与实现有一些通用的概念。 (×)Bootloader仅依赖于CPU的体系结构,不依赖于具体的嵌入式板级设备配置。

(√)大多数Bootloader都包含“启动加载”和“下载”两种不同操作模式。

(×)Bootloader启动流程一般可分为stage1、stage2、stage3三个阶段。

(√)Linux内核中不同的目录结构里都有相应的Makefile。

(√)U-Boot源码结构和Linux内核源码结构非常类似。

(×)Bootloader设计与实现过程中不推荐使用C语言。

(√)FTP内部命令中使用close命令中断与远程服务器的FTP会话。

(√)FTP内部命令中使用exit命令退出FTP会话过程。

(×)FTP内部命令中使用mkdir命令在本地主机中建一目录。

(√)FTP内部命令中使用dir命令显示远程主机中的文件和目录信息。

(×)FTP内部命令中使用pwd命令显示本地主机的当前路径。

(√)FTP内部命令中使用lcd命令显示本地主机的当前路径。

(√)用户可通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理等。

(×)用户进程允许访问内核数据,可以使用内核函数。

(√)系统调用规定用户进程进入内核空间的具体位置。

(√)用户程序可以通过系统调用获得操作系统内核提供的服务。

(√)Linux系统调用编程接口主要通过C库实现。

(√)一个API函数通常需要几个系统调用来共同完成函数的功能,但是还有一些API函数不需要调用相应的系统调用。

(√)Linux用户编程接口(API)遵循POSIX标准。

(√)系统命令相对API更高一层,它的内部引用用户编程接口(API)来实现相应的功能。 (√)标准I/O提供流缓冲的目的是尽可能减少使用read和write调用的数量。

(×)标准I/O提供3种类型的缓冲存储类型,包括全缓冲,行缓冲和帧缓冲。

(√)并行通信传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。

(×)用户常见的数据通信的基本方式可分为网络通信与串行通信两种。

(√)串行通信通信线路简单,成本低,适用于远距离通信,但传输速度慢的应用场合。

(×)对文件的操作使用文件描述符进行,对设备的操作使用设备描述符进行。

(×)Linux中的文件主要分为4种:普通文件、目录文件、链接文件和可执行文件。

(√)当一个进程终止时,它所有已打开的文件都由内核自动关闭。

(√)文件是Linux操作系统中最常见最基础的操作对象。

(√)进程是系统的基本调度单位。

(√)进程是一个程序的一次执行的过程。

(×)进程通过文件描述符来描述。

(×)Linux操作系统中调用函数getpid获得当前进程的PID和PPID。

(×)在Linux操作系统中,进程的执行模式划分为用户模式和root模式。

(√)Linux操作系统中创建一个新进程的唯一方法是使用fork函数。

(√)fork函数使用多少次就创建多少个进程。

(√)exec函数族就提供了一个在进程中启动另一个程序执行的方法。

(√)当程序执行到exit或_exit时,进程会无条件地停止剩下的所有操作,清除包括PCB 在内的各种数据结构,并终止本进程的运行。

(√)wait函数是waitpid函数的一个特例,在Linux操作系统内部实现wait函数时直接调用的就是waitpid函数。

相关主题
文本预览
相关文档 最新文档