期末试卷A含答案版教学文案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北科技学院计算机学院2014年秋2012级物联网工程(本科)专业《LINUX高级编程》期末考查试卷(闭卷、100分钟)
一、单选题(每小题2分,共60分)
1.关于Linux内核版本的说法,以下错误的是( C )。
A.表示为主版本号.次版本号.修正号 B.1.2.3表示稳定的发行版
C.1.3.3表示稳定的发行版 D.2.2.5表示对内核2.2的第5次修正
2.下列不是可执行程序运行时内存结构的是( D )。
A. 代码区
B. 数据区
C. 栈堆区
D. 变量区
3. 下列有关fork()函数返回值说法错误的是( D )。
A. 正常情况下,fork调用一次,会返回两次。
B. 返回值等于0表示在子进程返回。
C. 返回值大于0表示在父进程中返回。
D. 大于0的返回值为父进程PID号。
4. 进程调用wait将被阻塞,直到( D )。
A. 用户按任意键
B. 收到时钟信号
C. 子进程被创建
D. 子进程结束
5. 下列关于网络编程的叙述中,错误的是( C )。
A.一个完整的网络程序应该包含两个独立的程序,它们分别运行在客户端和服务器端。
B.相同条件下UDP发送数据的速度要比TCP快。
C.当使用UDP编程时,若函数sendto()成功返回,表示系统发出的数据被通讯的对方准确接收到了。
D.端口号是16bit的地址码,端口号和IP地址构成一个插口(socket)。
6. 删除命名管道的系统调用是( A )。
A. unlink
B. close
C. fcolse
D. dup2
7. 当打开vi编辑器编辑文件时,vi处于(A)模式。
A. 命令模式
B.编辑模式
C.实模式
D.虚模式
8. 为了将当前目录下的归档文件myftp.tgz解压缩,可以使用( A )命令。
A. tar xvzf myftp.tgz
B. tar xvf myftp.tgz
C. tar vzf myftp.tgz
D. tar jvzf myftp.tgz
9. cat命令可( C )。
A. 设置捕鼠器
B. 查看子目录内容
C. 查看文本文件内容
D. 查看二进制文件
10. man命令可( D )。
A. 查看编译信息
B. 编译源程序
C. 查看用户信息
D. 查看帮助信息
11. 在Shell中Ctrl+D用于( A )。
A. 输入文件结束符
B. 撤销最近做的操作
C. 输出文件结束符
D. 输出文件名
12. pwd命令可( B )。
A. 查看密码
B. 查看当前目录
C. 查看在线用户
D. 查看终端
13. kill命令的功能是( C )。
A. 停止进程
B. 执行异步IO
C. 向进程发送信号
D. 查看帮助信息
14. 某shell程序运行时需向脚本传递参数,为得到参数的个数,可以使用( B )。
A. $@
B. $#
C. $0
D. $!
15. 在Linux中执行命令时,重定向IO的是( D )。
A. 命令
B. 参数
C. 标准输入
D. Shell
16. cp命令用于( A )。
A. 拷贝文件
B. 查询数据库
C. 网络连接
D. 执行命令
17. 默认情况下管理员创建了一个用户,就会在( B )目录下创建一个用户主目录。
A. /usr
B. /home
C. /root
D. /etc
18.在vi编辑器里,命令"dd"用来删除当前的( A )。
A. 行
B. 变量
C. 字
D. 字符
19.vi中哪条命令是不保存强制退出( C )。
A. :wq
B. :wq!
C. :q!
D. :quit
20. Shell脚本中的注释用( C )标记。
A. //
B. /*…*/
C. #
D. *
21. 用vi编辑并保存文件后,要退出vi编辑器时,可按Esc键切换到命令模式后,输入( A )。
A. :q
B. :a
C. :b
D. :c
22. bind调用用于( A )。
A. 为socket分配地址
B. 客户端与服务器连接
C. 接收socket上的连接
D. 监听socket上的连接
23. 一个进程收到SIGCHILD信号,表示( C )。
A. 创建子进程成功
B. 创建子进程失败
C. 子进程结束
D. 子进程开始运行
24.如果用户想对某一命令详细的了解,可用( C )命令。
A. ls
B. help
C. man D dir
25.若要将鼠标从VM中释放出来,可按( A )键来实现。
A. Ctrl+Alt
B. Ctrl+Alt+Del
C. Ctrl+Alt+Enter
D. Ctrl+Enter
26.在UNIX/Linux系统添加新用户的命令是( D )。
A. groupadd
B. usermod
C. userdel
D. useradd
27.删除文件命令为( D )。
A.mkdir B. move C. mv D. rm
28.从后台启动进程,应在命令的结尾加上符号( A )。
A.& B. @ C. # D. $
29.如果执行命令#chmod 746 file.txt,那么该文件的权限是(A)。
A. rwxr--rw-
B. rw-r--r--
C. --xr—rwx
D. rwxr--r—
30.下列那一个指令可以设定使用者的密码( C )。
A.pwd B.newpwd C.passwd D.password
二、简答题(第1小题4分,第2小题6分,共10分)
1.进程之间通信有哪几种方式,各用于何种情景?
答:管道、共享内存、信号、消息、socket。进程通信根据交换信息量的多少分为高级通信和低级通信。
低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用(如pv操作);高级通信则要传送大量数据,目的不是为了控制进程的执行速度,而是为了交换信息。高级进程通信方式有很多种,大致可归并为三类:共享存储器、管道文件和消息传递。
共享存储器:在内存种分配一片空间作为共享存储区。需要进行通信的进程把它附加到自己的地址空间中,不需要时则把它取消。管道文件:它是连接两个命令的一个打开文件。一个命令向该文件中写入数据,为写者;另一个命令从该文件中读出数据,为读者。消息传递:它以消息为单位在进程间进行数据交换。
2.若在计算机硬件系统中增加一个字符设备,为让用户方便地使用该设备,从底层硬件到应用层用户接口,我们应该在哪些层次编写何种功能的软件?可能会碰到哪些问题?
答:驱动程序,虚拟文件系统VFS,设备文件节点,应用层API
驱动程序:驱动程序就是一组程序,一个比较特别的软件,它具有一般程序的一些特性,可以形象地把它理解为是搭建在计算机硬件设备与操作系统之间的桥梁,它的作用就是使操作系
统能够正确地识别、管理、使用相应的硬件设备。
虚拟文件系统VFS:向上,对应用层提供一个标准的文件操作接口;对下,对文件系统提供一个标准的接口,以便其他操作系统的文件系统可以方便的移植到Linux上;VFS内部则通过一系列
高效的管理机制,比如inode cache, dentry cache 以及文件系统的预读等技术,使得
底层文件系统不需沉溺到复杂的内核操作,即可获得高性能;此外VFS把一些复杂的操