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

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

计算机系操作系统期终测验(2003年1月)
姓名学号
一填充题(每格1分,共19分)
1程序的并发执行与顺序执行时相比产生了一些新特征,主要是___________________、
___________________和___________________。

2 某进程运行时需打印结果,在计算时,进程处于_______态。

在打印时,进程处于_______态。

打印结束后,进程处于_______态。

3 系统产生死锁的主要原因是:________________和___________________。

4 I/O软件可以分成四层,从硬件开始依次为:___________________、________________、__________________和______________________。

5 分布式系统中的进程通信可分成:___________________和___________________。

6 操作系统安全性中,安全机制主要包括:___________________、_________________、____________________和__________________________。

7文件是一种_____________,它提供了一种把信息保存在磁盘上而且便于以后读取的方法。

二名词解释(每个2分,共16分)
1实时操作系统
2 访管指令
3 工作集
4直接文件
5 中断装置
6 LRU
7吞吐率
8 多CPU中的群调度
三简答题(每个4分,共20分)
1 若一个操作系统中的所有进程因各种原因进入等待状态,系统还能正常工作吗?说明理由。

2 试举一个日常生活中的例子,说明多线程结构进程可以进一步提高系统的并发性。

3 为什么说进程的互斥也是一种同步?
4 试述多道程序设计的特点和优缺点。

5 简述高级通信原语和低级通信原语的主要异同。

计算题(每个5分,共25分)
1一个有快表的请页式虚存系统,设内存访问周期为1微秒,内外存传送一个页面的平均时间为5ms。

如果快表命中率为75%,缺页中断率为10%。

试求内存的有效存取时间。

2 一个文件已经写入了k (k为偶数) 块,对于三种文件(假设连续文件、链接文件的头指针和索引文件的索引表放在内存),分别计算表中对数据块的操作所化的I/O启动次数并填入下表。

3 假设某虚存的用户空间为1024KB,页面大小为4KB,内存空间为1MB。

已知用户的虚页10、11、12、13页分得内存页框号为62、12、25、36,求出虚地址0BEBC(16进制)的实地址(16进制)是多少?
4 假定系统中有进程P1、P2、P3、P4,共享了三种类型的资源A、B、C。

在t0时刻资源分配情况如下表:
试问:(1)t0时刻系统是否安全?
(2)P2发出申请request2(1,0,1),能否满足它,为什么?
(3)在P2申请资源后,若P1发出申请request1(1,0,1),能否满足它,为什么?
(4)在P1申请资源后,若P3发出申请request3(0,0,1),能否满足它,为什么?
5 某磁盘共有200个柱面(0-199),移动臂当前位于130柱面且正向0柱面移动。

对于下列访问柱面的要求:70、120、80、160、60、150,采用驱动调度算法,(1) FCFS(2)SSTF (3)SCAN 来计算出移臂顺序及移动的柱面总数。

五编程题(共20分)
1设有三组进程P i、Q j、R k,其中P i、Q j构成一对生产者和消费者,共享一个由M1个缓冲区构成的循环缓冲池。

Q j、R k构成另一对生产者和消费者,共享一个由M2个缓冲区构成的循环缓冲池。

如果P i每次生产一个产品投入M1,Q j每次取两个产品组装后投入M2,R k每次取三个产品包装出厂。

试用信号量和PV操作写出它们同步工作的程序。

2有一个仓库可存放A、B两种零件,最大库容量各为m个。

生产车间不断地取A和B进行装配,每次各取一个。

为避免零件锈蚀,按先入库者先出库的原则。

有两组供应商分别不
断地供应A和B,每次一个。

为保证配套和合理库存,当某种零件比另一种零件超过n(n<m)
个时,暂停对数量大的零件的进货,集中补充数量少的零件。

试用Monitor正确地实现它们之间的同步关系。

计算机系操作系统期终测验(2003年1月)
参考答案
一填充题(每格1分,共19分)
1答:环境失去封闭性、执行结果的不确定性、计算过程的不可再现性
2答:用户、核心、用户
3答:资源不足、进程推进顺序不当
4答:I/O中断处理程序、设备驱动程序、OS与I/O硬件无关软件、用户层I/O软件。

5答:消息传递机制、RPC
6答:认证机制、授权机制、审核机制、保证
7答:抽象机制
二名词解释(每个2分,共16分)
1答:是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制监控生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。

2答:一条机器指令,执行时能产生中断,OS用它实现系统调用。

3答:指在某一段时间内作业运行所要访问的那些页面的集合。

4答:利用记录的关键字与其地址之间某种对应关系(hash函数)实现存取的文件叫直接文件。

5答:发现中断源并产生中断的硬件称中断装置。

6答:一种页面淘汰算法,总是把内存中最近一段时间里较久未被访问的页面淘汰掉的技术。

7答:单位时间内系统完成的用户作业数。

8答:把一组进程在同一时间一次性调度到一组处理器上运行。

三简答题(每个4分,共20分)
1答:可以正常工作。

(1)有进程等待I/O完成,当I/O完成后,由I/O中断处理程序唤醒该进程,而该进程运行过程中可能释放资源或发送消息,导致其它进程被唤醒,系统便可正常工作下去。

(2)有定时等候的进程,时间到时,由时钟中断处理程序把它唤醒,从而有可运行进程,系统便可正常工作下去。

2答:某大厦的装璜工程可作为一个”进程”运行,下有许多工程队,如瓦工队、木工队、水电工队、油漆工队等,每个工程队作为一个”线程”运行。

”进程’负责采购资源,有资源时这些工程队可以按进度齐头并进同时工作(多线程并行执行),以加快装璜进度。

缺少资源时,如缺少水泥、木材、水管、油漆之一时,相应”线程”被阻塞,而可以调度其他工程队(”线程”)工作。

从而,提高了整个系统(装璜工程)的并发性。

3答:同步的实质是对并发进程执行次序的规定,互斥指某种资源一次仅能被一个进程使用,这本身就是一种协调一致,次序上的规定,因而,互斥是同步的一种特殊情况。

4答:特点:多道执行、宏观上并行、微观上串行。

优点:一是提高了CPU的利用率,二是提高了内存和I/O设备的利用率,三是改进了系统的吞吐率,四是充分发挥了系统的并行性。

其主要缺点是作业周转时间延长。

5答:相同点:都有足够能力解决互斥和同步问题。

不同点:1)高级通信原语有传递大量数据的能力,而低级通信原语只能传递信号。

2)高级通信原语通信时屏蔽了实现细节,对用户是透明的,而低级通信原语(如PV)工作时需专门编程,易产生程序错。

四计算题(每个5分,共25分)
1 解法1答:内存的有效存取时间=命中快表的存取时间×快表命中率+命中内存的存取时间×内存命中率+缺页中断时的存取时间×缺页中断率=1微秒×75%+(1微秒+1微秒) ×15%+(5000微秒+2微秒) ×10%=0.75微秒+0.3微秒+5 00.2微秒=501.25微秒。

2解法2答:1×75%+25%(0.9×2+0.1×(5000+2))=0.75+0.45+125.05=126.25微秒。

3 答:虚地址共有20位,其中高8位是页号、低12位是页内位移。

所以,虚地址:
0BEBC(16进制)=(0000 1011 1110 1011 1100),显然虚页号为11。

查页表可得到页框号为12,由于内存大小为1MB,故内存页框号占8位。

页框号12化为16进制应为0C,再拼接页内位移就有:
2进码地址=(0000 1100 1110 1011 1100)= 16进地址(0CEBC)
4答:(1)存在安全序列{P2,P1,P3,P4},故系统安全的。

(2)可分配,存在安全序列{P2,P1,P3,P4}。

(3)不可分配。

(4)不可分配,系统进入不安全的状态。

5答:(1) 顺序:70、120、80、160、60、150。

总数:420
(2)顺序:120、150、160、80、70、60。

总数:150
(3)顺序:120、80、70、60、150、160。

总数:290(170也算对) 五编程题(共8+12分)
1 答:
var mutex1,mutex2,mutex3:semaphore;
empty1,empty2,full1,full2;semaphore;
in1,in2,out1,out2:integer; counter1,counter2:integer;
buffer1:arrar[0..M1-1] of item;buffer2:array[0..M2-1] of item;
empty1:=M1;empty:=M2;
in1:=in2:=out1:=out2:=0; counter1:=counter2:=0;
full1:=full2:=0;mutex1:=mutex2:=mutex3:=1;
cobegin
{
process P i
begin
L1:
P(empty1);
P(mutex1);
Put an item into buffer[in1];
in1:=(in1+1) mod M1;
counter++;
if counter1=2 then {counter1:=0;V(full1);}
V(mutex);
Goto L1;
end
process Q j
begin
L2:
P(full1);
P(mutex1);
take an item from buffer1[out1];
out1:=(out1+1) mod M1;
take an item from buffer1[out1];
out1:=(out1+1) mod M1;
V(mutex1);
V(empty1);
V(empty1);
Process the products;
P(empty2);
P(mutex2);
Put an item into buffer2[in2];
in2:=(in2+1) mod M2;
counter2++;
if counter2=3 then {counter2:=0; V(full2);}
V(mutex2);
Goto L2;
end
process R k
begin
L3:
P(full2);
P(mutex2);
take an item from buffer2[out2];
out2:=(out2+1) mod M2;
take an item from buffer2[out2];
out2:=(out2+1) mod M2;
take an item from buffer2[out2];
out2:=(out2+1) mod M2;
V(mutex2);
V(empty2);
V(empty2);
V(empty2);
Packet the products;
Goto L3;
end
coend
}
2 答:本题中控制的条件有4个:产品A-B的数量<=n,产品B-A的数量<=n,产品A的数量<=m,产品B的数量<=m。

type offer-install=monitor
var S,Si:condition;
int S_count, Si_count;
Acount,Bcount:integer;Acount:=Bcount:=0;
BufferA:array[o m-1] of itemA;
BufferB;array[0..m-1] of itemB;
inA,inB,outA.outB:integer;inA:=inB:=outA:=outB:=0;
define putA,putB,install;
use wait,signal,check,release;
procedure putA
begin
check(IM);
if (Acount-Bcount)>n or Acount>m then wait(S,S_count,IM);
Acount++;
BufferA[inA]:=itemA;
inA:=(inA+1) mod m;
signal(Si, Si_count ,IM);
release(IM);
end
procedure putB
begin
check(IM);
if (Bcount-Acount)>n or Bcount>m then wait(S, S_count,IM);
Bcount++;
BufferB[inB]:=itemB;
inB:=(inB+1) mod m;
signal(Si, Si_count ,IM);
release(IM);
end
procedure install
begin
check(IM);
if (Acount=0 or Bcount=0) then wait(Si, Si_count ,IM);
Bcount--;Acount--;
Take an itemA from BufferA[outA];
Take an itemB from BufferB[outB]; outA:=(outA+1) mod m;
outB:=(outB+1) mod m;
signal(S, S_count ,IM);
release(IM);
end。

相关文档
最新文档