模拟试题二参考答案

一、填空题

1.n

2.中断服务时间、交换页面时间、重启进程时间

3.用户态

4.Belady现象

5.保护位

6.输入输出操作

7.启动I/O例程、设备中断处理例程

二、单项选择题

1.D 2.C 3.C 4.A 5.B 6.A 7.B 8.C 9.B 10.A

三、不定项选择题

1.BC 2.ACEF 3.A 4.BDE 5.AE

四、问答题

1.答:当UNIX操作系统装入内存后,系统的控制权便由自举程序转到核心程序,即操作系统程序上来。核心首先生成系统进程0,然后由0号进程创建一个1号进程(即init进程),进程1负责初始化所有新的用户进程。实际上,1号进程是除了0号进程之外所有用户进程的父进程。UNIX系统的调度与交换都是通过进程0来完成的,它们分别由swtch过程和sched过程实现。sched过程处于外存就绪状态的进程换入内存,swtch则从就绪队列中寻找一优先级最高的进程。

因此,进程0的作用是:创建进程1、进行进程的调度和交换。

2.答:进程的3种基本状态:进程执行状态(运行态)、就绪状态、阻塞状态(等待态)。进程基本状态的转换图如图A-1所示。

模拟试题二参考答案 - 图1

图 A-1 进程基本状态的转换图

3.答:(1)当前执行进程因申请资源未得到满足,从而调度过程sleep放弃处理机,进入睡眠状态。

(2)为了与其他并发进程保持同步,调用wait等过程,从而主动放弃处理机,进入睡眠状态。

(3)当系统从核心转为用户态时,发现调度标志已设置,即系统中某进程的优先级已高于当前执行进程优先级,系统调用优先级高的进程执行。

(4)时间片用完,且当前进程的优先级低于其他进程优先级。

(5)当前进程调用exit自我终止。

4.答:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏的情况下,每个进程都需要两个这样的资源,且每个进程都有已申请到了一个资源,那么系统中还剩下一个可用资源。无论系统为了满足哪个进程资源而确保它运行完毕,从而可将它占有的两个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可见,该系统不会由于对这种资源的竞争而产生死锁。

5.答:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则L:P=int (A/L),W=A mod L,对于逻辑地址1011,P=int (1011/1024)=0,W=1011 mod 1024=1011,查页表第0页在第2块,所以物理地址为3059。

对于逻辑地址为2148,P=2148/1024=2,W=2148 mod 1024=100,查页表第2页在第1块,所以物理地址为1124。

对于逻辑地址为3000,P=3000/1024=2,W=3000 mod 1024=952,查页表第2页在第1块,所以物理地址为1976。

对于逻辑地址4000,P=4000/1024=3,W=4000 mod 1024=928,查页表第3页在第6块,所以物理地址为7072。

对于逻辑地址为5012,P=5012/1024=4,W=5012 mod 1024=916,因页号超过页表长度,该逻辑地址非法。

五、应用题

1.答:3个进程的流程为:


begin

integer mutex1,mutex2,avail1,avail2,full1,full2;

mutex1:=1;

mutex2:=1;

avail1:=1;

avail2:=1;

full1:=0;

full2:=0;

Cobegin

PA:begin

L1:read from disk;

P(avail1);

P(mutex1);

Put to buffer1;

V(full1);

V(mutex1);

Goto L1;

End

PB:begin

L2:P(full1);

P(mutex1);

Get from buffer1;

V(avail1);

V(mutex1);

P(avail2);

P(mutex2);

Put to buffer2;

V(full2);

V(mutex2);

Goto L2;

End

PC:begin

L3:P(full2)

P(mutex2);

Get from buffer2;

V(avail2);

V(mutex2);

Print record;

Goto L3;

End

Coend

End


其中,mutex1和mutex2是两个公用信号量,用于控制进程对缓冲区1和缓冲区2这两个临界资源访问的互斥。avail1、full1、avail2、full2分别对应两个缓冲区,其中avail的初始值为1,表示可以利用的缓冲区的数目为1;full的初值为0,表示存在于缓冲区的数据个数为0。通过对这两组私用信号量的P、V操作,就实现了进程间的同步。

2.答:根据所给页面走向,采用FIFO淘汰算法的页面置换情况如表A-4所示。

模拟试题二参考答案 - 图2

从上述页面置换可以看出:页面引用次数为11次,缺页次数为9次,所以缺页率为:9/11。

若采用后一种淘汰策略,其页面置换情况如表A-5所示。

模拟试题二参考答案 - 图3

从上述页面置换情况可以看出:页面引用数为11次,缺页次数为8次,所以缺页率为:8/11。

3.答:由于索引节点为128字节,状态信息占用68个字节,用于指针的空间大小为:128-68=60(字节)。一次间接指针、二次间接指针将占用索引节点中的2个指针,因此直接指针项数为:60/4-2=13(个)。使用直接指针时:13×8192=106496B。使用一次间接指针时:8192/4=2048(个),2048×8192=16MB。使用二次间接指针时:2048×2048=4M(个),4M×8196=32GB。