教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

计算机操作系统试题ji答案(15)

来源:网络收集 时间:2026-09-06
导读: wait (mutex); buffer(out):=calculate data ; out := (out+1) mod n ; signal (input); signal (mutex); } while true ; } 22.理发店里有一位理发师、一把理发椅子和五把供等候理发的顾客坐的椅子。如果没有顾客,

wait (mutex); buffer(out):=calculate data ; out := (out+1) mod n ; signal (input); signal (mutex); } while true ; }

22.理发店里有一位理发师、一把理发椅子和五把供等候理发的顾客坐的椅子。如果没有顾客,理发师便在理发椅上睡觉。当一个顾客到来时,他必须先叫醒理发师,如果理发师正在理发时又有顾客来到,而如果有空椅子可坐,他们就坐下来等,如果没有空椅子,他就离开。这里的问题是为理发师和顾客各编写一段程序来描述他们行为,并用wait和signal原语操作实现其同步。(10分) 解:理发师问题

#define CHAIRS 5 /*为等候的顾客准备椅子数*/ typedef int semaphore; /* 运用你的想像力*/ semphore customers=0; /*等候服务的顾客数*/ semaphore barbers=0 /*等候服务的理发师数*/ semaphore mutex=1; /*用于互斥*/

int waiting=0; /*还没理发的等候顾客*/ void barber (void) { while(TRUE) {

wait(customers); /*如果顾客数是0,则睡觉*/ wait(mutex); /*要求进程等候*/ waiting=waiting-1; /*等候顾客数减1*/

signal(barbers); /*一个理发师现在开始理发*/

signal(mutex); /*释放等候*/ cut_hair(); /*理发(非临界区操作)*/ }

void customers (void) { wait(mutex);

if (waiting

signal(mutex); } }

23、根据如下的前趋图写出可并发执行的程序:(10分) 2 1 5 3

解:(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分) …… 此处隐藏:1277字,全部文档内容请下载后查看。喜欢就下载吧 ……

计算机操作系统试题ji答案(15).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/596739.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)