操作系统期末复习

一、题目描述

在某一自动测量系统中要完成采样、转换和显示等任务。采样过程把从传感器上得到的整型微电压值存入一个缓冲区1,转换过程把微电压值从缓冲区B1取出,计算转换成量度值再存入该缓冲区B2,显示过程把缓冲区2中的量度值取出并显示。用PV操作实现三个过程共享缓冲区的同步问题。

二、分析

1.设置四个信号量,S1,S2,S3,S4
2.初始时S1=1,B1空所以开始采样,与此同时S2=0,待B1满的时候才可以进行转换;S3=0,B2为空,则可以转换,与此同时S4=0,待B2满的时候进行显示
3.互斥的满足
①采样的时候不能对S2进行V操作,待B1满再对其进行V操作
②从B1中取出电压值后再释放S1
③转换的时候不能对S4进行V操作,待B2满的时候再对其进行V操作
④显示完毕对S3进行V操作
在这里插入图片描述

三、算法描述

semaphore S1=1;
semaphore S2=0;
semaphore S3=1;
semaphore S4=0;
cobegin
process P采样
	{while(true)
		{得到微电压值;
			P(S1);
			存入B1;
			V(S2);
	}
}
process P转换
	{while(true)
		{P(S2);
		从B1中取
			出微电压值
		V(S1);
		转换成量度值;
		P(S3);
		将量度值存入
			B2;
		V(S4);
		}
	}
process P显示
{while(true)
	p(S4);
	从B2中取
		出量度值;
		V(S3);
		显示;
		}
	}
coend
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值