操作系统试题集 联系客服

发布时间 : 星期五 文章操作系统试题集更新完毕开始阅读

解:(10)

评分:变量、进程、程序主体每项一分。

var a,b,c,d,e,f,g,h,i:semaphore := 0,0,0,0,0,0,0,0; begin parbegin begin S1;signal(a); signal(b); end begin wait(a); S2; signal(c);signal(d); end begin wait(c); S3; signal(e);signal(f); end begin wait(b); S4; signal(g); end begin wait(d);wait(e) S5; signal(h); end begin wait(f); wait(g); S6 ; signal(i); end begin wait(h); wait(i); S7; end parend end

24、在公共汽车上,乘客上完后,售票员关门,驾驶员开车,售票员售票,到站汽车停稳后,售票员开门,乘客上下车,售票员和驾驶员之间密切配合,直到下班。请用信号量描述公共汽车上售票员与驾驶员的工作过程。(10分) 解:建立驾驶员和售票员两进程,驾驶员进程执行过程如下:

(1) 判售票员关门没有 (2) 开车 (3) 到站后停车

(4) 重复(1)-(3)

售票员执行过程如下:

(1) 判断乘客上完没有 (2) 关门 (3) 售票

(4) 判车停稳没有 (5) 开门

(6) 重复(1)-(5)

评分标准:执行过程完善3分, 驾驶员与售票员合作消息正确3分 售票员与驾驶员合作消息正确3分 书写格式1分

25、设某作业占有7个页面,如果在主存中只允许装入4个工作页面(即工作集为4),作业运行时,实际访问页面的顺序是:1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1。试用FIFO、LRU和CLOCK页面置换算法,列出各自的页面淘汰顺序和页面置换次数。 (10分) 解:FIFO:

1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1 1 1 1 1 4 4 4 4 5 5 2 2 2 2 7 7 7 7 6

3 3 3 3 2 2 2 2

6 6 6 6 1 1 1

页面置换次数为:6次 LRU:

1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1 1 1 1 1 4 4 4 1 1 1 1 6 6 6 2 2 2 2 7 7 7 4 4 4 4 2 2

3 3 3 3 3 3 3 7 7 7 7 1

6 6 6 2 2 2 2 5 5 5 5

页面置换次数为:10次 CLOCK:

1, 2, 3, 6, 4, 7, 3, 2, 1, 4, 7, 5, 6, 5, 2, 1 1 1 1 1 4 4 4 1 1 1 1 6 6 6 2 2 2 2 7 7 7 4 4 4 4 2 2

3 3 3 3 3 3 3 7 7 7 7 1

6 6 6 2 2 2 2 5 5 5 5

页面置换次数为:10次

26、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:

(1)用wait和signal操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

(2)根据所定义的信号量,加上wait和signal原语,写出购票者进程的算法,以保证进程能够正确地并发执行。

(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

解:(1)定义一信号量S,初始值为20。 意义:

S>0 S的值表示可继续进入售 票厅的人数 S=0 表示售票厅中已有20名顾 客(购票者) S<0 |S|的值为等待进入售票 厅的人数 (2) int S=20;

COBEGIN PROCESS PI(I=1,2,??) begin

进入售票厅;

wait(S);

购票;

signal(S);

退出;

end; COEND

(3)S的最大值为20 S的最小值为20-n

27.设正在处理器上执行的一个进程的页表如下表所示,表中的虚页号和物理块号是十进制数,起始页号(块号)均为0。所有的地址均是存储器字节地址。页的大小为1024字节。(10分)

① 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 ② 下列虚地址对应于什么物理地址:5499,2221。

进程的页表

虚页号 0 1 2 3 4 5 状态位 1 1 0 1 0 1 访问位 1 1 0 0 0 0 修改位 0 1 0 0 0 1 物理块号 4 7 - 2 - 0 解:

5499的物理地址为:379

2221的物理地址为 :3*1024+173=3245

28、假定系统有三个并发进程read, move和print共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一个记录后把它存放到缓冲器B1中。进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2。进程print将B2中的记录取出打印输出。缓冲器B1和B2每次只能存放一个记录。要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样。请用wait和signal原语写出它们的并发程

序。(10分)

解:begin SR,SM1,SM2,SP:semaphore;

B1,B2:record;

SR:=1;SM1:=0;SM2:=1;SP:=0 Cobegin process read

X:record;

begin R: (接收来自输入设备上一个记录) X:=接收的一个记录; waiut(SR); B1:=X;

signal(SM1); goto R; end;

Process move

Y:record; Begin

M:wait(SM1); Y:=B1; signal(SR) 加工 Y

wait(SM2); B2:=Y; signal(SP); goto M; end;

Process print

Z:record; Begin

P:wait(SP); Z:=B2;

signal(SM2) 打印Z goto P; end; coend; end;

29、考虑下述页面走向:

12,3,42,1,56,2,12,3,76,3,21,2,36 当内存块数量分别为3时,试问FIFO、LRU、OPT