106008-13-南大计算机系-软件学院本科历年考题及参考答案-4-操作系统期终测验(2005年

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统期终测验参考答案(2005年1月)
姓名学号
一.填充题(3+1+2+1+1+2,共10分)
1.批处理系统主要解决吞吐量问题,分时系统主要解决交互性问题,实时系
统主要解决响应时间问题。

2.在操作系统中,有一种虚拟化技术叫SPOOLing ,它是用空间换取时间的
资源转换技术。

3.设有8页的逻辑空间,每页1024字节,它们被映射到32个页框的物理存储区中。

那么,逻辑地址的有效位是13位,物理地址至少是15位。

4.每个索引文件都至少有一张索引表,其中,每个表项应包括能标识该记录的记录键
和物理地址。

5.某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台。

当N的
取值不超过5 时,系统不会发生死锁。

6.从操作系统的运行方式看,可以把它分成:非进程内核模型、OS功能(函数)在
用户进程内执行的模型和OS功能(函数)作为独立进程执行的模型。

二.简答题(每个3分,共18分)
1.I/0软件分为四个层次:用户I/O软件、与设备无关的OS I/O软件、设备驱动程序以及I/O中断处理程序。

试说明以下各个工作是在哪一层完成的?
(1)向设备寄存器发写命令;
(2)设备缓冲区管理
(3)设备状态跟踪。

(4)检查用户是否有权使用设备;
(5)处理设备I/O中发生的故障
(6)将二进制整数转化成ASCII码以便打印。

解:(1)在设备驱动程序。

(2)、(3)和(4) OS I/O软件。

(5) I/O中断处理程序
(6)用户层I/O软件。

2. 为什么要在设备管理中引入缓冲技术?操作系统如何实现缓冲技术?
解:(1)调节CPU和I/O设备之间速度不匹配的矛盾例如,如果不设缓冲,则程序输出时由于打印机速度跟不上而使CPU停下来等待,而在CPU计算时,打印机又因无数据输出而闲置。

有了缓冲区,则程序可把输出数据预先输到缓冲区后继续运行,而打印机可从缓冲区取数慢慢打印,从而,CPU和I/O设备之间速度不匹配的矛盾得到缓和。

(2)实现I/O设备之间的并行操作类似地,可以开出多缓冲,每个对应于一个设备,
实现I/O设备和I/O设备之间的并行操作
(3)减少内外(I/O)交换次数开设缓冲区后可以实现成组和分解操作,既减少了内外(I/O)交换次数,又充分利用了外存空间。

同时,减少内外(I/O)交换次数,也减少了CPU处理I/O 中断的次数,提高了系统效率。

缓冲区是临界资源,OS要管理缓冲区的申请、释放和互斥问题。

例如,可设缓冲池,并分成空闲缓冲区、输入缓冲区、输出缓冲区。

当输入设备需要输入数据时,从空闲缓冲队列取一个空缓冲区,待装满数据后,将其插入输入队列。

当CPU处理输入数据时,就从输入队列取下一个数据缓冲区进行处理,处理完该缓冲区数据后将其插入空闲缓冲区队列。

当CPU进行数据输出时,也作类似处理。

3.试述内存映射文件及其实现技术。

答:内存映射文件指把进程的虚地址空间与某一个盘文件关联起来,使得进程对文件的存取转化为对关联存储区域的访问的技术。

优点是:方便易用、节省空间、便于共享、灵活高效。

它由操作系统的存储管理与I/O管理子系统通过提供两个新的系统调用:映射文件和移去映射文来实现。

4.解释中断及异常。

答:中断是指来自处理器和主存储器之外的中断信号引起的中断,又叫外中断。

包括:电源故障中断、时钟中断、控制台中断、它机中断和I/O中断等。

每个不同的中断具有不同的中断优先级,在处理高一级中断时,往往会屏蔽部分或全部低级中断。

异常是指来自处理器和主存内部的中断信号引起的中断,又叫内中断。

包括:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断。

其中访管中断是由机器指令提供的特殊指令,该指令执行时将会引起内中断。

异常是不能被屏蔽的,一旦出现应立即响应并加以处理。

5.解释分布式资源管理算法。

答:分布式操作系统采用一类资源多个管理者的方式,可以分成两种:集中分布管理和完全分布管理。

它们的主要区别在于:前者对所管资源拥有完全控制权,对一类资源中的每一个资源仅受控于一个资源管理者;而后者对所管资源仅有部分控制权,不仅一类资源存在多个管理者,而且该类中每个资源都由多个管理者共同控制,使用某资源时必须获得多个资源管理者一致同意。

6 试简述操作系统安全与保护中所用的各种机制。

答:
认证机制—是审查和证明进入系统的用户的身份,或证明通信双方的身份与其声明的是一致的设施。

授权机制—是确认用户只有在安全策略许可的权限内才能访问规定资源的设施,其基础是安全的认证机制。

加密机制--是将信息编码成像密文一样难解形式的设施,以提高信息系统及数据的安全性和保密性,防止保密数据被窃取与泄密。

审计机制--是对涉及系统安全性的操作做完整的记录,以备有违反系统安全规则的事件发生后能有效地追查事件发生的地点、时间、类型、过程、结果和涉及的用户的设施,可作为一种事后追踪手段来保证系统的安全性。

三.计算题(每个4分,共24分)
1.在一个操作系统中,inode节点中分别含有10个直接地址的索引和一、二、三级间接索引。

若设每个盘块有512B大小,每个盘块中可在放128个盘块地址,则(1)一个1MB的文件占用多少间接盘块?(2)一个25MB的文件占用多少间接盘块?
答:
直接块容量=10×512B/1024=5KB
一次间接容量=128×512B/1024=64KB
二次间接容量=128×128×512B/1024=64KB×128=8192KB
三次间接容量=128×128×128×512B/1024=64KB×128=8192KB×128=1048576KB
1MB为1024KB,1024KB-69KB=955KB,955×1024B/512B=1910块,1MB的文件分别占用1910个二次间接盘块。

25×1024KB-69-8192=17339KB,17339×1024B/512=34678块,25MB的文件分别占用34678个三次间接盘块和8192个二次间接盘块。

2.设某分页系统中,页面的大小为100字。

一个程序大小为1200个字,可能的访问序列为:10,205,110,735,603,50,815,314,432,320,225,80,130,270。

系统采用LRU算法。

当为其分配4个内存页框时,给出该作业被淘汰的页面号及页故障率。

解:
因页面大小为100字,故程序大小为12个页面,访问序列为:0、2、1、7、6、0、8、3、4、3、2、0、1、2。

共11次缺页,缺页率为11/14。

淘汰页面为:0、2、1、7、6、0、8。

3.假定系统有进程集合(Po,Pl,P2,P3,P4),资源集合为(A,B,C),资源
程的安全序列。

要求给出产生进程安全序列的详细过程。

安全的。

可找出安全序列{P3、P1、P0、P2、P4}。

4.假设一个可移动磁头的磁盘具有200个磁道,其编号为0~199,当它刚结束了125道的存取,正在处理143道的服务请求,假设系统当前I/O请求队列如下:86,147,91,177,94,150,102,175,130
试对以下磁盘I/O调度算法而言,满足以上请求队列,磁头将如何移动?
(1)最短查找时间优先调度(SSTF);
(2)扫描法(SCAN);
(3)单向扫描(循环扫描)(C-SCAN);
(4)按移动距离大小排队,从小到大的顺序排列上述算法。

解:由题意知目前的磁头位于143道,且方向是向大的方向(对SCAN和C-SCAN 有用)。

SSTF---143,147,150,130,102,94,91,86,175,177。

SCAN---143,147,150,175,177,130,102,94,91,86。

C-SCAN—143,147,150,175,177,86,91,94,102,130。

从小到大的顺序排列SCAN,SSTF,C-SCAN。

5假定存储器空闲块有如图所示的结构:请构造一串内存请求序列,对该请求序列first fit分配算法能满足,而best fit分配算法则不能。

解:400、150、200、200。

当用首次满足分配算法---
分400 空闲区为350 250 100
分150 空闲区为200 250 100
分200 空闲区为0 250 100
分200 空闲区为0 50 100
当用最佳满足分配算法---
分400 空闲区为350 250 100
分150 空闲区为350 100 100
分200 空闲区为 150 100 100
分200 已无空闲区可分。

6. 设有四个进程Pl,P2,P3,P4,它们到达就绪队列的时间,运行时间及优先
程的平均周转和平均等待时间:(2)若采用时间片轮换调度算法,且时间片为两
个时间单位,给出各个进程的调度次序以及平均周转和平均等待时间。

解:(1)
故调度次序:P1、P2、P4、P2、P3、P1。

平均周转时间=(31+14+21+10)/4=19。

平均等待时间=(22+10+13+0)/4=11.25。

(2)采用两个时间片的轮换调度算法,调度次序如下:
平均周转时间=(25+11+25+28)/4=22.25。

平均等待时间=(16+7+17+18)/4=14.5。

四.编程题(每个8+10分,共18分)
1.P,V操作题
某大型银行办理人民币储蓄业务,由n个储蓄员负责。

每个顾客进入银行后先至取号机取一个号,并且在等待区找到空沙发坐下等着叫号。

取号机给出的号码依次递增,并假定有足够多的空沙发容纳顾客。

当一个储蓄员空闲下来,就叫下一个号。

请用信号量和P,V操作正确编写储蓄员进程和顾客进程的程序。

解:
var customer_count,mutex:semaphore;
customer_count:=0;
mutex:=1;
cobegin
process customeri(i=1,2,….)
begin
take a number;
P(mutex);
等待区找到空沙发坐下;
V(mutex);
V(customer_count);
End;
Process servers j(j=1,2,3,…)
Begin
L: P(customer_count);
P(mutex);
被呼号顾客离开沙发走出等待区;
V(mutex);
为该号客人服务;
客人离开;
go to L;
end;
2.管程题
假设有三个进程P,Q,R。

其中P负责从输入设备上读入数据到缓冲区并传送给Q;Q将缓冲区数据加工后传送给R;R负责将缓冲区数据打印出来。

进程P,Q 共享一个由m个缓冲区组成的缓冲池;进程R,Q共享另一个由n个缓冲区组成的缓冲池。

试写出满足上述要求的管程,及进程调用管程过程的程序。

答:
TYPE PQR=MONITOR
VAR SP,SQ,SR:codition;
int SP_count,SQ_count,SR_count;
buffer1[0..m-1] of integer;
buffer2[0..n-1] of integer;
in1,in2,out1,out2,count1,count2:integer;
DEFINE PPUT,QGET,QPUT,RGET;
USE wait,signal,check,release;
procedure PPUT(var data:integer;);
begin
check(IM);
if count1=m then wait(SP, SP_count,IM);
count1:=count1+1;
buffer1[in1]:=data;
in1:==(in1+1) mod m
signal(SQ, SQ_count,IM);
release(IM);
end
procedure QGET(var data:integer;);
begin
check(IM);
if count1=0 then wait(SQ, SQ_count,IM)
data:=buffer1[out1];
out1:=(out1+1) mod m;
count1:=count1-1;
release(IM);
procedure QPUT(var data:integer;);
begin
check(IM);
if count2=n then wait(SQ, SQ_count,IM);
count2:=count2+1;
buffer2[in2]:=data;
in2:=(in2+1) mod n;
signal(SR, SR_count ,IM);
release(IM);
end
procedure RGET(var data:integer;);
begin
check(IM);
if count2=0 tnen wait(SR, SR_count,IM);
count2:=count2-1;
data:=buffer2[out2];
out2:=(out2+1) mod n;
signal(SP, SP_count,IM);
release(IM);
end
begin
in1:=in2:=out1:=out2:=0;count1:=count2:=0; end
main()
{ cobegin
process P
x:integer;
begin
LP:从文件读入一个数据到x;
PPUT(x);
goto LP;
end
process Q
x:integer;
begin
LQ:QGET(x);
加工处理x;
QPUT(x);
goto LQ;
end
process R
x:integer;
begin
LR:RGET(x);
打印x;
goto LR;
end
}
coend。

相关文档
最新文档