精选文库
2分
若Kswapd被唤醒后发现Nr_async_pages小于free_pages_low则睡眠时间加班,反之则逐步延长睡眠时间
4.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。 答:Linux通过i节点表将文件的逻辑结构和物理结构进行转换 1分
i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。1分
在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。若文件空间大于13块,则分别用1次、2次、3次间接块实现对数据块的定位。 2分
此后,Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。
四、操作题(写出完成下述功能的命令序列,每小题4分,共20分)
1.假设你的用户账号是zheng,现在你登录进入linux系统,查看当前登录到系统中的用户,查看当前系统中运行的进程,然后再退出系统。 答:login:zheng Password:口令 $who $ps $Ctrl+D
2.在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。 答:$ mkdir back $ cd back
$ touch test1 test2 $ mv test2 ../file2
3.现在需要统计当前目录/home/zheng下普通文件的数目并显示结果,如何实现? $find –type f | wc –l
4.假设你是系统管理员,需要增加一个新的用户账号zheng,为新用户设置初始密码,锁定用户账号uly,并删除用户账号chang。 答:.#useradd zheng #passwd zheng #passwd –l uly #userdel chang
5.若给需要将/home/zheng目录下的所有文件打包压缩成/tmp/zheng.tar.gz,你准备怎么做?当需要从压缩包中恢复时,又该如何处理?
—
5
精选文库
答:#tar –zcvf /tmp/zheng.tar.gz /home/zheng #tar -zxvf /tmp/zheng.tar.gz
五、下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。(8分) #!/bin/sh
DIRNAME=`ls /root | grep bak` #(1) if [ -z \ #(2) mkdir /root/bak ; cd /root/bak #(3) fi
YY=`date +%y` ; MM=`date +%m` ; DD=`date +%d` #(4) BACKETC=$YY$MM$DD_etc.tar.gz #(5) tar zcvf $BACKETC /etc #(6) echo \
答:#(1)获取/root中名称包含bak的文件或目录 #(2)判断1结果为空
#(3)创建目录/root/bak并进入该目录 #(4)获取当前时间的年月日
#(5)按照年(2位)月(2位)日(2位)_etc方式构造压缩文件名 #(6)压缩etc目录并保存在/root/bak中 6分
程序功能:若/root/bak不存在则创建之,然后将/etc按日期打包保存于该目录中。2分
六、填写标记代码行的意义,给出功能描述和前6行程序输出。(6分) #include
main(int argc, char *argv[]) { int pid,ppid;
int p_action( ), c_action( ); signal(SIGUSR1 , p_action); #(1) switch(pid=fork( )) { #(2) case -1: perror(\ exit(1); case 0: signal(SIGUSR1,c_action); ppid=getppid( ); for ( ; ; ) ; default: { for( ; ; ) { pause; sleep(1); kill(pid,SIGUSR1); #(3) }
—
6
精选文库
} } }
p_action( ) {
printf(\}
c_action( ) {
printf(\ int ppid;
ppid = getppid(); #(4) kill(ppid, SIGUSR1); sleep(3); }
答:#(1)在父进程中为信号SIGUSR1绑定函数p_action #(2)创建子进程
#(3)向子进程发送信号SIGUSR1 #(4)获取父进程的PID4分
父进程无线循环向子进程发送信号,子进程收到信号后向父进程发送相同信号,父子进程之间各自记录全局变量的变化,结果如: child caught signal #1 parent caught signal #1 child caught signal #2 parent caught signal #2 child caught signal #3
parent caught signal #32分
七、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。(6分) 答:#!/bin/sh i=1
groupadd class1 while [ $i -le 30 ] 1分 do
if [ $i -le 9 ] ;then
USERNAME=stu0${i} 1分 else
USERNAME=stu${i} 1分 fi
useradd $USERNAME 1分 mkdir /home/$USERNAME
chown -R $USERNAME /home/$USERNAME 1分 chgrp -R class1 /home/$USERNAME i=$(($i + 1)) #或let “i=i+1” 1分 done
—
7
精选文库
武汉大学计算机学院
2009-2010学年第一学期期末考试
《Linux原理与应用 》期末考试试卷( )
请将答案写在答题纸上。写在试卷上无效。
一、选择题(单选题,每小题2分,共20分) 1.Linux系统的开发模型是 __B____ 。
A.教堂模型 B.集市模型 C.层次模型 D.网状模型 2.在Linux中,进程优先级的相关参数有多个,与实时进程优先级相关的参数是 __D____ 。 A.policy B.counter C.priority D.rt_priority 3.__B___ 属于SYSTEM Ⅴ进程间通信方式。
A.管道 B.信号量 C.软中断信号 D.锁机制
4.在Linux系统中,每个进程都有4GB的虚拟地址空间,其中内核空间占用 __C___ 。
A.0~2GB-1 B.0~3GB-1 C.3GB~4GB-1 D.2GB~4GB-1 5.Linux文件系统中,文件在外存的物理地址放在 ___A___ 中。 A.i节点 B.用户打开文件表 C.系统打开文件表 D. 进程控制块
6.以长格式列目录时,若文件test的权限描述为:drwxrw-r--,则文件test的类型及文件主的权限是__A____ 。
A. 目录文件、读写执行 B. 目录文件、读写 C. 普通文件、读写 D.普通文件、读
7.当字符串用单引号(’’)括起来时,SHELL将 __C____ 。
A.解释引号内的特殊字符 B.执行引号中的命令 C.不解释引号内的特殊字符 D.结束进程 8./etc/shadow文件中存放 _B_____ 。
A.用户账号基本信息 B.用户口令的加密信息 C.用户组信息 D.文件系统信息 9.Linux系统中,用户文件描述符0表示 ____A__ 。
A.标准输入设备文件描述符 B.标准输出设备文件描述符 C.管道文件描述符 D.标准错误输出设备文件描述符 10.为卸载一个软件包,应使用 ___B__ 。
A.rpm -i B.rpm -e C.rpm -q D.rpm -V
二、填空题(每空1分,共20分)
1.在Linux2.4.0版本中,进程有 ___6___ 种状态,进程使用 __exit____ 系统调用后进入僵死状态。
2.在Linux 中,管道分为 __2____ 种类型,若创建或打开管道时获得的描述符存放在fd中,则fd[1]是 _管道写描述符_ 。
3.Linux为用户提供的接口有 shell、XWINDOW、系统调用
—
8