计算机操作系统试题ji答案(15)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




