Unix试题与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简答题:
1、进程调度中"可抢占"和"非抢占"两种方式,哪一种系统的开销更大?为什么?
答:(1)可抢占式会引起系统的开销更大。
(2)可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间开销增大。
2、一个含五个逻辑记录的文件,系统把它以链接结构的形式组织在磁盘上,每个记录占用一个磁盘块,现要求在第一记录和第二记录之间插入一个新记录,简述它的操作过程。
答:从文件目录中找到该文件,按址读出第一个记录;取出第一个记录块中指针,存放到新记录的指针位置;把新记录占用的物理块号填入第一个记录的指针位置启动磁盘把第一个记录和新记录写到指字的磁盘块上。
3、在spool 系统中设计了一张"缓输出表",请问哪些程序执行时要访问缓输出表,简单说明之。
答:井管理写程序把作业执行结果文件登记在缓输出表中;缓输出程序从缓输出表中查找结果文件并打印输出。
4、试比较进程调度与作业调度的不同点
答:(1)作业调度是宏观调度,它决定了哪一个作业能进入主存。
进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理机(或)作业调度是高级调度,它位于操作系统的作业管理层次。
进程调度是低级调度,它位于操作系统分层结构的最内层。
作业调度是选符合条件的收容态作业装入内存。
进程调度是从就绪态进程中选一个占用处理机。
5、试说明资源的静态分配策略能防止死锁的原因。
答:资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。
这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一“占有并等待条件”,从而防止死锁的发生。
6、部分指令作用
$ more file.c [Return] 逐页显示file.c的文件内容
$ cat aa.c bb.c>>cc.c [Return] 将aa.c中的内容与bb.c中的
内容进行连接,追加到cc.c中$ cat aa.c bb.c >cc.c [Return] 将aa.c中的内容与bb.c中的
内容进行连接,构成一个新的
文件cc.c
$ cd $HOME [Return] 将当前工作目录改变到用户主目录下
$ chmod go-w filea [Return] 撤销同组用户及其他用户
对文件filea的写权
grep the file [Return] 显示file文件中包含字符串the的行find /home \(-name core –o –name a.out\) –atime +3 –exec rm {} \;[Return]
在/home目录及其子目录中查找名为core或名为a.out的文件,若找到的这些文件在3
天之内未被访问过,则执行删除命令将其删除
wc -l file.c [Return] 统计file.c文件的行数
cat ,more,pg 显示文件内容的命令
rm *.* 删除文件名中至少包含一个点号的文件
rm * 删除所有的文件
rm a* 删除a打头的所有的文件
rm a * 删除文件a,并删除所有的文件。
mkdir创建目录命令。
创建目录时要求在上级目录中才能创建。
rmdir 命令删除目录。
删除目录要对空子目录才能删除,且处于上级目录。
cd 返回用户主目录
cd .到当前目录
cd ..到当前目录的父目录
cd / 到根目录四条命令的执行结果。
find . -name hello -print 寻找目前目录及所有的子目录
内叫hello的文档
find . -ctime +7 -print 找出七天内未被更动的文档find . -size +2000m -print 找出大小超过2000 bytes的文档find /tmp -user b1234567 -print 在/tmp下属於b1234567的文档find . -name '*.c' -exec rm {} 删除所有的.c档
find . -name test\* -print 显示当前目录及其子目录文件
名前4位为test的文件名7、说明三种引号的作用什么?
单引号:使用单引号时,shell解释程序将单引号中的内容看成纯粹的
字符串信息,不包含有shell命令中的特殊意义。
双引号:使用双引号时,shell解释程序将引号内的shell特殊字符仍作
为shell中的含义解释,这样shell变量或命令可与引号中的字符串结
合起来使用。
反引号:如果将shell命令用反引号括起来进行变量赋值时,表示变量
中存放的是执行命令的结果。
8、什么是前台作业和后台作业?
前台作业指与用户直接交互的进程
后台作业指不与用户直接交互的进程
9、文件的硬链接和符号链接有何不同?
硬链接的节点号是所链接的文件的节点号,符号链接的节点号是自己
的节点号。
10、使用Shell编程,如何将脚本提交给系统运行?
利用输入/输出重定向的方式完成运行:$ sh < file1.sh;
将文件当作sh命令的执行参数来运行:$ sh file1.sh;
使用直接方式执行shell程序
11、vi编辑器有哪些工作方式?
命令行方式、末行命令方式、插入编辑方式
12、UNIX系统的进程映像由哪几部分组成?
Proc结构和user结构、用户栈和系统栈、正文段和数据段
13、列举进程调度的时机?
(1)当进程执行中自动放弃了处理器运行时进行一次进程调度;
(2)当进程由系统态转入用户态时,系统安排产生一次调度时机;
14、指令命令:
1)将文件file的文件组改为group的命令为(chgrp group file)。
2)显示文件file1的后500行的命令为(tail -500 file1 )。
3)将目录/oradata/WebLogic103/CQBS下的文件file.txt拷贝到
/oradata/release_version/bakprocess目录下的命令为()。
cp/oradata/WebLogic103/CQBS/file.txt__/oradata/release_versio
n/bakprocess
4)解压压缩文件warname.jar的linux命令为()。
Tar – vxf warname.jar
压缩warname文件tar cvf warname
5)将字符串“Hello,world”追加到文件hello.txt中的命令是()。
Echo ‘hello,world’ >> hello.txt
6)在指定的文件中搜索模式用grep命令,模式是正则表达式,在文
件hello.log中搜索行首出现字符串helloworld的行用命令()。
grep ^helloworld* hello.log
7)给文件赋权限用chmod命令,对文件file 增加文件主可执行权限
的命令是()。
Chmod +X file
8)在当前的test目录下查找所有以test打头的文件,用命令()。
Find – name test/test*
9)从unix主机上取一个文件到本机上用命令()。
Get filename
unix下启动oracle监听和数据库的命令分别是(lsnrctl start )和
(startup )。
15、全部磁盘块由四个部分组成,分别为引导块、专用块、
i节点表块和数据存储块。
答:Linux系统中的每个文件都被赋予一个唯一数值,这个数值称做索
引节点。
索引节点存储在一个称作索引节点表<inode table>中,该
表在磁盘格式化时被分配。
每个实际的磁盘或分区都有其自己的索引
节点表。
一个索引节点包含文件的所有信息,包括磁盘上数据的地址
和文件类型。
文件类型包括如普通文件、目录和特殊文件这样的信息。
linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),
数据块(datablock),目录块(diredtory block)。
其中超级块中包含了关
于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超
级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几
乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应
的目录块和数据块等;数据块是真正存储文件内容的位置。
但是索引
结点中不包括文件的名字,文件名是放在目录块里的。
目录块里包含
有文件的名字以及此文件的索引结点编号。
16、简述Linux文件系统通过i节点把文件的逻辑结构和物
理结构转换的工作过程。
答:Linux通过i节点表将文件的逻辑结构和物理结构进行转换。
i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文
件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要
信息。
在i节点表中最重要的内容是磁盘地址表。
在磁盘地址表中有
13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的
块。
Linux文件系统通过把i节点和文件名进行连接,当需要读取该文
件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该
文件相对应的i节点号,通过该i节点的磁盘地址表把分散存放的文件
物理块连接成文件的逻辑结构。
17、简述进程的启动、终止的方式以及如何进行进程的查看。
答:在Linux中启动一个进程有手工启动和调度启动两种方式:
(1)手工启动
用户在输入端发出命令,直接启动一个进程的启动方式。
可以分为:
①前台启动:直接在SHELL中输入命令进行启动。
②后台启动:启动一个目前并不紧急的进程,如打印进程。
(2)调度启动
系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,
指定任务运行的时间和场合,到时候系统会自动完成该任务。
经常使用的进程调度命令为:at、batch、crontab。
18、简述安装Slackware Linux系统的过程。
答:(1)对硬盘重新分区。
(2)启动Linux系统(用光盘、软盘等)。
(3)建立Linux主分区和交换分区。
(4)用setup命令安装Linux系
统。
(5)格式化Linux主分区和交换分区(6)安装Linux软件包
(7)安装完毕,建立从硬盘启动Linux系统的LILO启动程序,或者
制作一张启动Linux系统的软盘。
重新启动Linux系统。
19、进程的查看和调度分别使用什么命令?
答:进程查看的命令是ps和top。
进程调度的命令有at,crontab,batch,kill。
20、解释i节点在文件系统中的作用。
答:在linux文件系统中,是以块为单位存储信息的,为了找到某一个
文件在存储空间中存放的位置,用i节点对一个文件进行索引。
I节点
包含了描述一个文件所必须的全部信息。
所以i节点是文件系统管理
的一个数据结构。
21、什么是符号链接,什么是硬链接?符号链接与硬链接的
区别是什么?
答:链接分硬链接和符号链接。
符号链接可以建立对于文件和目录的链接。
符号链接可以跨文件系统,
即可以跨磁盘分区。
符号链接的文件类型位是l,链接文件具有新的i
节点。
硬链接不可以跨文件系统。
它只能建立对文件的链接,硬链接的文件
类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。
22、在对linux系统分区进行格式化时需要对磁盘簇(或i
节点密度)的大小进行选择,请说明选择的原则。
答:磁盘簇(或i节点密度)是文件系统调度文件的基本单元。
磁盘簇
的大小,直接影响系统调度磁盘空间效率。
当磁盘分区较大时,磁盘
簇也应选得大些;当分区较小时,磁盘簇应选得小些。
通常使用经验
值。
23、某/etc/fstab文件中的某行如下:
/dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2
请解释其含义。
答:(1)第一列:将被加载的文件系统名;(2)第二列:该文件系统
的安装点;(3)第三列:文件系统的类型;(4)第四列:设置参数;
(5)第五列:供备份程序确定上次备份距现在的天数;(6)第六列:
在系统引导时检测文件系统的顺序。
24、画图描述Unix系统的结构。
(5分)
Shell 驻留模块内核硬件用户
25、简述root的特权有哪些?(8分)
答:增加或删除一个Unix用户的帐号;增加或删除用户对计算机资
源的使用限制;设置系统的日期或时间;建立设备文件;创建、安装
和拆卸文件系统;修改进程的根目录;修改文件的属性。
26、请比较在shell中单引号、双引号、反引号用法的差别?
答:当shell碰到第一个单引号时,它将忽略掉其后所有特殊字符,
直到右引号位置结束;双引号告诉shell在引号内照样进行变量名替换;
反引号:命令替换,在shell中将一个命令的标准输出插在一个命令
行中任何位置。
27、对文件和目录的R.W.X权各有什么含义?(12分)
1)如何做到除文件属主外,任何用户无法访问HOME下的
src目录
2)如何做到使HOME下的bin目录中的文件既可被用户共
享,又不会被用户破坏?
3)对一个目录分别给予、取消对目录的r、x权
答:r:读目录文件,如列出目录中的文件,w:修改目录文件,增加、
删除或修改文件x:在文件的路径名中使用该目录名。
1)chmod 600 HOME/src
2)如何做到使HOME下的bin目录中的文件既可被用户共享,又不会
被用户破坏?
3)chmod +rx 目录chmod –rx 目录
28、考虑如下命令序列:
ls –R /usr >/tmp/usr_list &
wc –l < /tmp/usr_list &
rm /tmp/usr_list
它和命令ls –R/usr | wc –l等价吗?为什么?( 8分)
答:等价的,因为命令序列的第一行是列出usr目录下的所有文件并把
结果重定向到tmp/usr-list文件中(后台执行),第二行是统计tmp/usr-list
文件的行数(后台执行),最后一行删除tmp/usr-list文件,全部命令
行的作用就是统计出usr目录下的文件数,而后面的ls –R/usr | wc –l
命令是利用管道连接线直接把第一个命令ls –R/usr的执行结果作为后
面wc –l的输入,结果也是统计出usr目录下的文件数。
29、对test目录使用命令ls –li test 得到如下结果:
total 3
12395 –rw-r--r--2 chr 405 Jun 10 17:05 demo.c
12395 –rw-r--r--2 chr 405 Jun 10 17:05 t1.c
12399 –rw-r--r--2 chr 405 Jun 10 17:05 t2.c-->t1.c
请分析这一结果,并解释文件之间的关系。
答:demo.c和t1.c文件互为硬链接,他们使用同一个i节点,内容一
样,t2.c是t1.c文件的符号链接,有自己独立的i节点号,它的内容直
接指向t1.c。
30、利用find和grep命令的结合,从当前目录中查找包含
“sortresult”的文件。
答:find ./ -name "*" -exec grep "sortresult " {} \
31、简述进程的启动、中止的方式以及如何进行进程的查
看?
答:进程的启动,可以直接输入命令启动,可以使用at batch crontab
来定时启动,终止进程,进程可以通过Ctrl+C或Crtl+\组合键,或者
通过kill命令来终止。
使用ps命令可以查看进程。
32、crontab中用什么命令定义某个程序执行的优先级别?
答:nice:进程执行优先级,进程优先级:系统按进程优先级的不同分
配CPU时间,优先级高的进程会得到更多的CPU使用时间,以提高
速度,缩短总的执行时间。
进程优先级范围:-20至19,最高等级:-20,最低等级:19,系统管理员
有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。
进程运行的默认等级为0。
用nice执行的进程其默认等级为10(即nice <程序名>,不指定等级时)。
格式:nice <程序名>;nice -<等级> <程序名> (命令后加&表示后台运行) nice vi & 优先等级0,默认等级。
nice vi & 优先等级10,使用nice执行程序时的默认等级。
nice -50 vi & 优先等级19,-号表示选项,等级50超过最低等级19,因此系统以等级19执行。
nice -18 vi & 优先等级18。
nice --50 vi & 优先等级-20,选项值为-50,超过最高等级-20,因此系统以等级-20执行。
nice --18 vi & 优先等级-18。
33、利用管道线组合命令,找出当前目录中最大的10个文件,并以从大到小的顺序输出到bigfile文件中。
答:ls –al|sort –r –s |head>bigfile
34、写出满足下列要求的正则表达式:
(1)第一个字符必须是字母,其余字符必须是字母或数字或下划线
(2)任何以小写字母开头,数字结尾的单词
(3)写出如何在文件test.txt中查找含有数字的行,并在结果中标明行号答:[A-Za-z][a-zA-Z0-9_]*
^[a-z]*$[0-9]
grep –n ‘[0-9]’ test.txt
35、分析以下脚本程序的执行结果
echo -n “enter the word:”
read word
echo –n “enter the filename:”
read filename
if grep $word $filename
then
echo $word is in $filename
else
Echo $word is not in $filename
答:输入的单词在文件中显示单词在文件中,不在则显示单词不在文件中。
36、什么是符号链接,什么是硬链接,区别是什么?(9分) 答:链接分硬链接和符号链接。
符号链接可以建立对于文件和目录的链接。
符号链接可以跨文件系统,即可以跨磁盘分区。
符号链接的文件类型位是l,链接文件具有新的i节点。
硬链接不可以跨文件系统。
它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同
37、Linux目录结构中/usr,/home,/bin,/proc,/dev,/var,/etc目录中主要存放的是什么文件?
答:/usr:主要存放一些应用程序,包括命令、库文件和通常操作不会修改的文件;/home:主要存放用户文件(包括本地用户和网络用户);/bin:存放普通用户可以使用的文件;/proc:存放了linux中所有支持的虚拟文件类型;/dev:存放了linux中所有的设备文件;/var:存放了linux中一些经常改变的文件;/etc:存放了linux中所有的系统配置文件。
38、\将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式?
答:tar zcvf /home/wang.tar.gz /home/stud1/wang
39、启动进程有手动启动和调度启动两种方法,其中调度启动常用的命令有哪些?
答:进程的启动,可以直接输入命令启动,可以使用at batch crontab 来定时启动,终止进程,进程可以通过Ctrl+C或Crtl+\组合键,或者通过kill命令来终止。
使用ps命令可以查看进程。
40、UNIX操作系统的特点是什么?
答:可移植性、多用户、多任务、多级文件系统、与设备独立的输入和输出操作、SHELL界面、系统工具系统服务。
41、什么是绝对路经、相对路经?试举例说明。
答:从根目录开始搜索的路径叫绝对路径;从当前目录开始搜索的路径叫相对路径;
如:/bin/etc/passwd 是绝对路径, .././../bin/a3/ff 是相对路径
42、 UNIX系统中文件安全及权限管理功能的主要内容。
答:Unix系统中文件的权限分为:用户属主,同组用户,其他用户对文件(文件和目录)的读、写、执行。
在设置这些权限时要考虑对文件的安全性的有关问题。
如对普通文件设置不能写,则该文件内容就不能随意修改。
43、UNIX操作系统支持的文件类型是哪些?
答:支持的文件类型为普通文件、目录文件和设备文件。
44、命令“cmd1| abc”和命令“cmd1 > abc”中的abc是否
相同,为什么?
答:不相同。
在命令cmd1| abc中abc是一个命令;在命令cmd1 > abc
中abc是一个文件,所以,上面的两个命令不同。
45、用chmod命令来改变文件或目录的权限有哪两种方法?
请分别用这两种方法将某文件-rw--w---x的权限改变成
-rwxr-xr-x权限。
答:改变权限的方法有数值方式和字母方式。
Chmod 755 file 、Chmod u+x file 、Chmod g+rx-w file、 Chmod o+r file
46、下面给出两个目录中,第一个目录包含二个文件,第二
个目录中包含一个文件。
请分析,以下文件和目录的权限是
什么?(请用文字说明)并说出各类用户可以怎样使用这些
文件。
在你认为图中列出的正确权限旁括号内画上“√”不
正确的画上“×”。
答案如下图:目录1:drwxr-x—x
文件1:-rw-rw-r—
Owner modify(√) delete(√) read(√) execute(×)
Group modify (√) delete(√) read(√ ) execute(× )
other modify (×) delete(×) read(√) execute(× )
文件2:-r-xr—r-x
owner modify (×) delete(×) read(√ ) execute(√ )
group modify(×) delete(×) read(√ ) execute(× )
other modify (×) delete(×) read(√ ) execute(√ )
目录2:drw-rw-r—文件1:-rw-rwx---
Owner modify(×) delete(×) read(×) xecute(× )
Group modify(×) delete(×) read(×) execute(×)
Other modify (×) delete(×) read(×) execute(× )
47、试分别只用一次mkdir命令创建下面的目录结构。
(假
设当前目录在根目录下)
答:(1)Mkdir –p /ABC/A /ABC/B /ABC/C
(2)答:mkdir –p /xyz/xxx/yyy/zzz
48、UNIX操作系统支持的文件类型是哪些?
答:文件类型有:普通文件,目录文件,设备文件
49、请阐述在UNIX下对于文件的权限-rwxrwxrwx分别表
示的是什么含义?
该文件是一个普通文件,用户,用户组和其它用户都有读、写、执行
的权限。
50、现有下列文件:
co.5 coward hog huge part2.2
thug cow coy hug part2.1
试说明下列元字符匹配上面的哪些文件名?
(1) co? 答 cow coy (2) hu? 答 hug
(3) hu?? 答huge (4) 答hog cow coy hug
(5) ?o? 答cow coy (6) h* 答hog huge hug
(7) *g 答hog thug hug (8) hug* 答hug huge
(9) *.* 答co.5 part2.2 part2.1
(10)co[xyz] 答coy
51、你现在的当前目录是/home/c1/, 这个目录中有个文件
file2.c。
你要做的是(注意不能改变当前目录):
a)用一条命令在当前目录中创建目录树 ./c/d
b)将文件file2.c移动到./c/d中并改名为file22.c
c)在./c目录中创建一个空文件file11.c
d)用长列表方式循环列出当前目录的的所有文件目录(用相
对路径方式表示当前目录)
答 a) mkdir -p c/d/
b) mv file2.c c/d/file22.c 或mv file2.c ./c/d/file22.c
c) touch c/file11.c 或 touch ./c/file11.c
d) ls -r ./
52、请叙述以下内容的操作过程
(1)在vi中编辑如下的内容,并给该文件命名为filetxt1.
1. to live in peace with
2. lies in the middle of the country 5.
beginning to bear fruits 6. swept the floor
答:vi filetxt1 进入vi I(插入)开始输入文本filetxt1的内容,输完后,
按ESC :wq保存
(2)在vi中编辑如下的内容,并给该文件命名为filetxt2。
3. how to cross the road safely
4. from the days many years a
go
答:Vi filetxt2 进入vi, I(插入)开始输入文本filetxt2的内容,
输完后,按ESC :wq保存
(3)进入vi使filetxt1处在当前编辑环境下。
答:vi filetxt1 进入vi
(4)请将filetxt2文件插入到2行与5行之间,以filetxt3文
件名存盘。
答:按ESC键,:3r filetxt2 即完成插入工作;然后保存:按
ESC,:W filetxt3 就以filetxt3保存下来。
53、有一文件animals,其内容为:(1.2.3.4为行
数) 1--dog.2 2-- cat.4 3-- elephang.10 4--rabbit.7
(1).请写出执行$ sort animals 命令后的结果;
答:结果为:1--cat.4 2--dog.2 3--elephant.10 4-- rabbit.7
(2).要想得到下面的输出,请写出相应的命令。
1-- rabbit.7 2-- cat.4 3-- elephant.10 4-- dog.2
答:命令为:$ sort +0.1
54、目录结构如图所示,将File.txt文件复制到ud目录中,
请分别用“相对路径”和“绝对路径”进行文件的复制操作。
答:用绝对路径:$ cp /subd1/sb1/file.txt /subd2/ud,
用相对路径:当前的目录为:
/subd1/sb1 , $ cp file.txt ../../subd2/ud
55、名词解释
输入重定向: 将标准输入变为文件输入
输出重定向:由输出到屏幕变为输出到文件,而且会覆盖一个已
经存在的文件
I 节点(索引节点):磁盘 i 节点表中的一个表项, 存放文件的静
态信息. 各文件之间是以其 i 节点号相互区别的
通配符: 主要用来搜索和匹配文件模式。
文本输入模式: 是命令模式下的子模式. 该模式下除ESC键以
外的所有其它键都作为输入字符添加到被编辑的文本中. 文本输入
完成后必须按ESC键从文本输入模式返回到命令模式后, 才能继续
完成其它操作.
命令模式: 进入vi 后的初始模式, 也是vi 的基本工作模
式. 主要包括移动光标, 删除文本, 粘贴文本和查找文本等.
进程创建: fork()
调用格式: pid=fork();
若调用失败,pid=-1
1、(10 分)在一个采用页式虚拟存储管理的系统中,有一用
户作业,它依次要访问的字地址序列是:115,228,120,
88,446,102,321,432,260,167,若该作业的第0 页
已经装入主存,现分配给该作业的主存共300 字,页的大
小为100 字,请回答下列问题:
(1)按FIFO 调度算法将产生次缺页中断,依次淘汰的页号为,缺
页中断率为。
按FIFO 调度算法将产生 5 次缺页中断;依次淘汰
的页号为:1,0,2;缺页中断率为:5/10=50%
(2)按LRU 调度算法将产生次缺页中断,依次淘汰的页号为,缺
页中断率为。
按LRU 调度算法将产生 6 次缺页中断;依次淘汰
的页号为:2,0,1,3;缺页中断率为:6/10=60%
2、(8 分)若干个等待访问磁盘者依次要访问的柱面为20,
44,40,4,80,12,76,假设每移动一个柱面需要3 毫秒
时间,移动臂当前位于40 号柱面,请按下列算法分别计算
为完成上述各次访问总共花费的寻找时间。
(1)先来先服务算法; 3 毫秒×292=876 毫秒
(2)最短寻找时间优先算法 3 毫秒×120=360 毫秒
3、(8 分)某系统中有10 台打印机,有三个进程P1,P2,
P3 分别需要8 台,7 台和4 台。
若P1,P2,P3 已申请
到4 台,2 台和2 台。
试问:按银行家算法能安全分配吗?
请说明分配过程。
答:系统能为进程P3 分配二台打印机。
因为尽管此时10 台打印机
已分配给进程P1 4 台,P22 台和P34 台,全部分配完,但P3 已
分配到所需要的全部 4 台打印机,它不会对打印机再提出申请,所
以它能顺利运行下去,能释放占用的 4 台打印机,使进程P1,P2
均可能获得乘余的要求 4 台和 5 台,按银行家算法是安全的
4、编写Shell程序(10分)
用多分支条件语句编写:读取三个输入number,然后显示最
大的一个数。
#!/bin/sh
echo "Enter the first number:"
read num1
echo "Enter the second number:"
read num2
echo "Enter the third number:"
read num3
if [$num1 -ge $num2]
then
if [$num1 -ge $num3]
then
echo $num1
else
echo $num3
fi
else
if [$num2 -ge $num3]
then
echo $num2
else
echo $num3
fi
fi
exit 0
5、用Shell编程,判断一文件是不是字符设备文件,如果是
将其拷贝到/dev 目录下。
#!/bin/sh
FILENAME=
echo “Input file name:”
read FILENAME
if [ -c "$FILENAME" ]
then
cp $FILENAME /dev
fi
6、请下列shell程序加注释,并说明程序的功能和调用方法:#!/bin/sh
#!/bin/sh
#
# /etc/rc.d/rc.httpd
#
# Start/stop/restart the Apache web server.
#
# To make Apache start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.httpd
#
case "$1" in
'start')
/usr/sbin/apachectl start ;;
'stop')
/usr/sbin/apachectl stop ;;
'restart')
/usr/sbin/apachectl restart ;;
*)
echo "usage $0 start|stop|restart" ;;
esac
参考答案:
(1)程序注释
#!/bin/sh 定义实用的shell
#
# /etc/rc.d/rc.httpd 注释行,凡是以星号开始的行均为注释行。
#
# Start/stop/restart the Apache web server.
#
# To make Apache start automatically at boot, make this
#
# file executable: chmod 755 /etc/rc.d/rc.httpd
#
case "$1" in #case结构开始,判断“位置参数”决定执行的操作。
本程序携带一个“位置参数”,即$1
'start') #若位置参数为start
/usr/sbin/apachectl start ;; #启动httpd进程
'stop') #若位置参数为stop
/usr/sbin/apachectl stop ;; #关闭httpd进程
'restart') #若位置参数为stop
/usr/sbin/apachectl restart ;; #重新启动httpd进程
*) #若位置参数不是start、stop或restart时
echo "usage $0 start|stop|restart" ;; #显示命令提示信息:程序的调用方法esac #case结构结束
(2)程序的功能是启动,停止或重新启动httpd进程
(3)程序的调用方式有三种:启动,停止和重新启动。
7、设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx
从01到30。
#!/bin/sh
i=1
groupadd class1
while [ $i -le 30 ]
do
if [ $i -le 9 ] ;then USERNAME=stu0${i}
else
USERNAME=stu${i}
fi
useradd $USERNAME
mkdir /home/$USERNAME
chown -R $USERNAME /home/$USERNAME
chgrp -R class1 /home/$USERNAME
i=$(($i+1))
done
8、编写shell程序,实现自动删除50个账号的功能。
账号名
为stud1至stud50。
#!/bin/sh
i=1
while [ $i -le 50 ]
do
userdel -r stud${i}
i=$(($i+1 ))
done
9、某系统管理员需每天做一定的重复工作,请按照下列要
求,编制一个解决方案:
(1)在下午4 :50删除/abc目录下的全部子目录和全部文
件;
(2)从早8:00~下午6:00每小时读取/xyz目录下x1文
件中每行第一个域的全部数据加入到/backup目录下的
bak01.txt文件内;
(3)每逢星期一下午5:50将/data目录下的所有目录和文
件归档并压缩为文件:backup.tar.gz;
(4)在下午5:55将IDE接口的CD-ROM卸载(假设:
CD-ROM的设备名为hdc);
(5)在早晨8:00前开机后启动。
(1)用vi创建编辑一个名为prgx的crontab文件;
(2)prgx文件的内容:
50 16 * * * rm -r /abc/*
0 8-18/1 * * * cut -f1 /xyz/x1 >;>; /backup/bak01.txt
50 17 * * * tar zcvf backup.tar.gz /data
55 17 * * * umount /dev/hdc
(3)由超级用户登录,用crontab执行prgx文件中的内容:
root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动
crontab。
10、设计一个shell程序,在每月第一天备份并压缩/etc目
录的所有内容,存放在/root/bak目录里,且文件名为如下
形式yymmdd_etc,yy为年,mm为月,dd为日。
Shell
程序fileback存放在/usr/bin目录下。
(1)编写shell程序fileback:
#!/bin/sh
DIRNAME=`ls /root | grep bak`
if [ -z "$DIRNAME" ] ; then
mkdir /root/bak
cd /root/bak
fi
YY=`date +%y`
MM=`date +%m`
DD=`date +%d`
BACKETC=$YY$MM$DD_etc.tar.gz
tar zcvf $BACKETC /etc
echo "fileback finished!"
(2)编写任务定时器:
echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron
crontab /root/etcbakcron
或使用crontab -e 命令添加定时任务:
0 1 * * * /bin/sh /usr/bin/fileback
11、有一普通用户想在每周日凌晨零点零分定期备份
/user/backup到/tmp目录下,该用户应如何做?
(1)第一种方法:
用户应使用crontab –e 命令创建crontab文件。
格式如下:
0 0 * * sun cp –r /user/backup /tmp
(2)第二种方法:
用户先在自己目录下新建文件file,文件内容如下:
0 * * sun cp –r /user/backup /tmp
然后执行crontab file 使生效。
12、设计一个Shell程序,在/userdata目录下建立50个目录,
即user1~user50,并设置每个目录的权限,其中其他用户的
权限为:读;文件所有者的权限为:读、写、执行;文件所
有者所在组的权限为:读、执行。
建立程序Pro16如下:
#!/bin/sh
i=1
while [ i -le 50 ]
do
if [ -d /userdata ];then
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或i=$(($i+1))
else
mkdir /userdata
mkdir -p /userdata/user$i
chmod 754 /userdata/user$i
echo "user$i"
let "i = i + 1" (或i=$(($i+1))
fi
done。