您所在位置: 网站首页 / 文档列表 / windows相关 / 文档详情
操作系统生产与消费者问题.docx 立即下载
上传人:fu****级甜 上传时间:2024-09-04 格式:DOCX 页数:10 大小: 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统生产与消费者问题.docx

操作系统生产与消费者问题.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第PAGE10页共NUMPAGES10页第PAGE\*MERGEFORMAT10页共NUMPAGES\*MERGEFORMAT10页生产者和消费者问题1、有n个缓冲区,一个生产者和一个消费者情况:main(){intS=1;//可否进入缓冲区intfull=0;//产品数目intempty=n//可用缓冲区数intbuffer[n];intin=0;//指向下一个可放产品的缓冲区intout=0;//指向下一个可取产品的缓冲区producer();consumer();}producer(){While(生产未结束){produceaproductP(empty);P(S);Buffer[in]=product;in=(in+1)modn;V(S);V(full);}}consumer(){While(消费未结束){P(full);P(S);TakeaproductfromBuffer[out]Out=(out+1)modn;V(S);V(empty);}Consumetheproduct}2、m个生产者和k个消费者共享n个缓冲区的情况:main(){intB[n];//缓冲区intp=r=0;//p表示生产者指针,r表示消费者指针intS=1;//可否进入缓冲区intfull=0;//产品数目intempty=n;//可用缓冲区数producer-i(i=1,2,…,m);consumer-j(j=1,2,…,k);}Producer-i(i=1,2,…,m){while(producingdoesnotend){produceaproductP(empty);P(S);B[p]=product;p=(p+1)modn;//每放入一个产品,位置指针后移一位V(S);V(full);}}Consumer-j(j=1,2,…,k){while(continuetoconsume){P(full);P(S);TakeaproductfromB[r]r=(r+1)modn;//从第一个开始,消费一个后,指向下一个V(S);V(empty);Consume}}读者与写者问题读者与写者有相同的优先级的情况:main(){intS=1;//读者与写者,写者与写者间的互斥,即可否修改文件intSr=1;//可否修改读者个数intrc=0;//读者个数reader();writer();}reader(){While(读过程未结束){P(Sr);if(rc==0){P(S);rc=rc+1;V(Sr);readfileF}else{rc=rc+1;V(Sr);readfileF}P(Sr);rc=rc-1;if(rc==0)V(S);V(Sr);}}writer(){While(写过程未结束){P(S);WritefileFV(S);}}2、写者优先问题:main(){intS=1;//读者与写者,写者与写者间的互斥,即可否修改文件intSn=n;//最多有n个进程可以同时进行读操作reader();writer()}reader(i){P(S);P(Sn);V(S);ReadfileFV(Sn);}writer(j){P(S)WritefileFV(S);}例题有一个阅览室,读者进入时必须先在一张登记表上进行登记。该表为每一座位列出一个表目,包括座号、姓名。读者离开时要撤消登记信息。阅览室有100个座位,试问:为描述读者的动作,应编写几个程序?,应该设置几个进程?进程和程序之间的关系如何?试用P、V操作描述这些进程之间的同步算法。若系统有某类资源m*n+1个,允许作业执行过程中动态申请该类资源,但在该系统上运行的每一个作业对该类资源的占有量在任一时刻都不会超过m+1个。当作业申请资源时,只要资源尚未分配完,则总能满足它的要求。但用限制系统中可同时执行的作业个数来防止死锁。你认为作业调度允许同时执行的最大作业数应为多少?证明之。3、若系统有同类资源m个,被n个进程共享,试问:当m>n和m<n,每个进程最多可申请多少个这类资源而使系统一定不会发生死锁?SFPaPbPc4、设Pa,Pb,Pc为一组合作进程,其进程流程图如下所示。试用信号灯的P、V操作实现这三个进程的同步。5、医生给病人看病,需要化验,
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

操作系统生产与消费者问题

文档大小:

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用