广东海洋大学操作系统历年考题 - 答案(5)

2019-09-01 13:23

(2)进程调度、中级调度(2分)

说明:论述条理清晰,包含上述要点,本题即可得满分

四、综合题(本大题共2小题,第1题9分,第2题13分,计22分)

34、(9分)在一个请求分页系统中,假设系统分配给某进程的物理块数为3,开始时内存为空,执行如下访问页号序列:

1,2,3,4,1,2,5,1,2,3,4,5

试说明采用先进先出(FIFO) 、最近最少使用(LRU)和最佳置换算法(OPT)进行页面置换时,缺页次数各是多少? 答:(1)FIFO: 9次 (3分)

(2)LRU:10次 (3分) (3)OPT:7次 (3分)

说明:没有计算过程,本题不得分。如果结果有误,根据步骤酌情给分。

35、(13分)如图2所示,系统中有三个进程GET、PRO和PUT,共用两个缓冲区BUF1和BUF2。假设BUF1中最多可放11个信息,现已放入了两个信息;BUF2最多可放5个信息。GET进程负责不断地将输入信息送入BUF1中,PRO进程负责从BUF1中取出信息进行处理,并将处理结果送到BUF2中,PUT进程负责从BUF2中读取结果并输出。试写出正确实现GET、PRO、PUT的同步与互斥的算法(要求:(1)用类C语言描述,条理清楚,注释恰当;(2)信号量原语统一使用wait和signal。)

GET BUF1 PRO BUF2 PUT 图2 进程合作

答:

semaphore

empty1=9;//空buf1的数目 full1=2; //有数据的buf1的数目 empty2=5; //空buf2的数目 full1=0; //有数据的buf2的数目 mutex1=mutex2=1; //互斥信号量 int main(){

Cobegin //并发开始 GET(); PRO(); PUT();

Coend //并发结束 return 0; } (3分) //GET进程 void GET(){ while(1) { …

wait(empty1); wait(mutex1); 将信息送入buf1; signal(mutex1); signal(full1); … }

} (3分) //PRO进程 void PRO(){ while(1) {

wait(full1); wait(mutex1); 从buf1中取出信息; signal(mutex1);

signal (empty1); wait(empty2); wait(mutex2); 将信息送入buf2; signal(mutex2); signal(full2); } } (4分) //PUT进程 void PUT(){ while(1) {

wait(full2); wait(mutex2); 从buf2中取出信息; signal(mutex2); signal (empty2); } (3分)


广东海洋大学操作系统历年考题 - 答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:励磁技术规程规范书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: