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

发布时间 : 星期二 文章嵌入式linux应用程序开发期末考试题库及答案更新完毕开始阅读

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函数。