《Linux试卷及答案(中南大学)》由会员分享,可在线阅读,更多相关《Linux试卷及答案(中南大学)(7页珍藏版)》请在人人文库网上搜索。
1、一. 单项选择题(本题30分,每小题1.5分)在每小题列出的四个选项中只有一个是符合题目要求的,错选或未选均无分。1下面哪个Linux命令可以一次显示一页内容______ A. pause B. cat C. more D. grep2怎样更改一个文件的权限设置______ A. attrib B. chmodC. change D. file3如何从当前系统中卸载一个已装载的文件系统______ A. umount B. dismountC. mount u D. 从 /etc/fstab 中删除这个文件系统项4在大多数Linux发行版本中,图形方式的运行级定义为______ A.1 B.2。
2、 C.3 D.55用命令ls -al显示出文件ff的描述如下所示,由此可知文件所有者所在组的权限是______-rwxrw-r- 1 root root 599 Cec 10 17:12 ffA. rwx B. rw-C. r- D.无法获知6内核不包括的子系统是_______A.进程管理系统 B. 内存管理系统 C. I/O管理系统 D. 硬件管理系统7下面哪一个是Linux缺省状态下使用的文件系统类型A .Ext2 B. NFS C. Msdos D. Vfat8Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件,一般应将其放在______目录中A. /dev 。
3、B. /etc C. /bin D. /lib9关闭linux系统可使用命令______A.Ctrl+Alt+Del B.Ctrl+ALT C.shutdown -h now D. reboot10用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为_____-rwxr-xr 1 root root 599 Cec 10 17:12 ffA. 普通文件 B. 硬链接 C. 目录 D. 符号链接11删除文件命令为_____。A .mkdir B. rmdir C. mv D. rm12改变文件所有者的命令为______。A chmod B. touch C. chown D.。
4、 cat13在下列命令中,不能显示文本文件内容的命令是______。A.more B.less C.tail D. join14查看系统当前进程信息的命令是______A.ps B.df C.man D. ls15. 进程有三种基本状态,分别是_______。A. 准备态、执行态和退出态 B 精确态、模糊态和随机态C. 运行态、就绪态和等待态 D 手工态、自动态和自由态16. 从后台启动进程,应在命令的结尾加上符号_____。A. & B. C. # D. $17. 一个进程调用fork系统调用后,会有什么结果?A. 生成一个进程,从main()处开始执行。 B. 生成一个线程,从main()。
5、开始执行。C. 生成一个进程,从fork之后开始执行。 D. 生成一个线程,从fork之后开始执行。18. 一个文件名字为rr.Z,可以用来解压缩的命令是_____。A. tar B. gzip C. compress D. uncompress19. 文件权限读、写、执行的三种标志符号依次是_____。A. rwx B. xrw C. rdx D. srw20. UNIX操作系统属于( )类操作系统A单用户单任务 B单用户多任务 C. 多处理机 D. 多用户多任务二、填空题 (本题15分,每空1分)21在Linux系统中,以__文件_______方式访问设备 。22编写的Shell程序运行前。
6、必须赋予该脚本文件__执行______权限。23唯一标识每一个用户的是__用户名_____和__UID_____。24在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是__/etc______。25在Linux系统中,用来存放用户信息的文件是__/etc/passwd______。26结束进程的命令是_kill______。27将前一个命令的标准输出作为后一个命令的标准输入,称之为_管道______。28管道通信包括_有名管道______和__无名管道_____两种。29信号量主要是用来解决不同进程间的__同步互斥_____问题。30进程接收到信号后可以忽略信号,但是__SIGK。
7、ILL_____和__SIGSTOP_____这两个信号不能被忽略。31安装Linux系统对硬盘分区时,必须有两种分区类型:__/_____和__swap_____。三、简答题(本题30分,每小题6分)32什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?33Linux的进程间通信机制有哪些?请分别简要说明。# 无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semop。
8、hore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。# 信号量 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。#共享存储器( shared memory):共享内存就是映射一段能被其他进程所访问的内存,这段共享内。
9、存由一个进程创建,但多个进程都可以访问。共享内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步和通信。# 套接字( socket ) : 套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。34什么是动态优先级多级反馈循环进程调度算法?结合其计算公式简要说明其主要思想。35简要说明里linux环境下编译、运行C程序的基本工具和过程。工具:gcc、 make如果程序很小(源文件很少),可以直接用gcc编译如果程序较大(源文件比较多),则要先编写程序的Makefile文件,然后用ma。
10、ke编译36简要说明面向连接和无连接两种网间进程通信方式的主要区别。面向连接的协议,在正式收发数据前,双方必须建立可靠的连接。连接的建立要经过三次“握手”才能建立起来,一旦连接建立起来,通信就比较稳定。面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。四、编程与应用题(本题25分)37阅读下面shell程序,请写出执行结果。(6分)echo -e Please enter the score:while read SCOREdocase $SCORE in?|1-5? ) echo Failed!echo Please enter the next score:;6?) ech。
11、o Passed!echo Please enter the next score:;7?) echo Medium!echo Please enter the next score:;8?) echo Good!echo Please enter the next score:;9?|100) echo Great!echo Please enter the next score:;*) exit;esac done其中输入的数据为62 Passed!Please enter the next score80 Good!5 Failed!100038用Shell编程,判断一个文件是不是字符设。
12、备文件,如果是将其拷贝到 /dev 目录下,否则提示“This file is not exit”的信息。(6分)#!/bin/bashfilename=testif -c $filename thencp $filename /develseecho This file is not exitfi39编写一段C语言程序使其完成:父进程创建两个子进程,父子进程都在屏幕上显示自己的进程ID号。要求先显示子进程的ID号,后显示父进程的ID号。(6分)#include #include #include #include #include int main()pid_t pid1, pid2;pid。
13、1 = fork();if(pid1 = 0)printf(子进程1:%dn, getpid();exit(0);elsewait(NULL);pid2 = fork();if(pid2 = 0)printf(子进程2:%dn, getpid();exit(0);elsewait(NULL);printf(父进程:%dn, getpid();return 0;40编写利用IPC实现进程通信的C程序。该程序主要模拟根据帐号查询余额的过程。包括三方面1):请求进程从标准输入读入帐号,并将该帐号通过消息队列发送给服务进程;2) 服务进程接收该帐号后,按照请求的先后顺序在标准输入上输入该帐户的姓名和余。
14、额,并将结果返回给请求进程;3)请求进程接收返回的信息,并将结果输出在标准输出上。服务进程先于请求进程启动,请求进程启动时要携带请求编号,可同时启动多个请求进程。(7分)/*请求方程序msgreq.c*/#include#include#include#includestatic struct msgbuf long mtype;char mtext256; sndbuf, rcvbuf, *msgp ;extern int errno;int main(int argc, char *argv)int rtrn, msqid ; char name10;double balance;if (。
15、argc != 2) fprintf(stderr, msgreq 01-99n); exit(-1);if ( (msqid = msgget(0x888, IPC_CREAT | 0660) = -1 )fprintf(stderr, msgget 888 failed !n);exit(-1);msgp = &sndbuf;sprintf(sndbuf.mtext, %2.2s, argv1);printf(输入4位帐号:);scanf(%s, &sndbuf.mtext2);sndbuf.mtext6 = 0;msgp-mtype = 666;rtrn = msgsnd(msqid, 。
16、msgp, strlen(sndbuf.mtext), 0);if (rtrn = -1)perror(msgsnd);exit(-1);msgp = &rcvbuf;fprintf(stderr, 等待后台数据处理进程的回答.);rtrn = msgrcv(msqid, msgp, 100, atoi(argv1), 0);if(rtrn = -1)perror(msgrcv);exit(-1);sscanf(rcvbuf.mtext, %|%lf, name, &balance);printf(n姓名=%sn, name);printf(余额=%lfn, balance);/*服务方程序m。
17、sgcenter.c*/static struct msgbuf1long mtype;char mtext100; sndbuf, rcvbuf , *msgp;extern int errno;int main()int rtrn, msgqid ;char strbuf100;if ( (msqid = msgget(0x888, IPC_CREAT | 0600) = -1 )fprintf(stderr, msgget 888 failed !n);exit(-1);while(1)msgp = &rcvbuf;fprintf(stderr, 等待前台进程的请求.);rtrn = m。
18、sgrcv(msqid, msgp, 100, 666 , MSG_NOERROR);if(rtrn = -1)perror(msgrcv);exit(-1);msgp = &sndbuf;sprintf(strbuf, %2.2s0, rcvbuf.mtext);msgp-mtype = atoi(strbuf);printf(n输入帐号=%4.4s的帐户姓名:, &rcvbuf.mtext2);scanf(%s, sndbuf.mtext);strcat(sndbuf.mtext, |);printf(输入该帐户余额:);scanf(%s, strbuf);strcat(sndbuf.mtext, strbuf);rtrn = msgsnd(msqid, msgp, strlen(sndbuf.mtext), 0);if (rtrn = -1)perror(msgsnd);exit(-1。