电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

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

操作系统生产与消费者问题_第1页
1/9
操作系统生产与消费者问题_第2页
2/9
操作系统生产与消费者问题_第3页
3/9
第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共9页一、生产者和消费者问题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个缓冲区的情况:第2页共9页第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共9页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}第3页共9页第2页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共9页}二、读者与写者问题1、读者与写者有相同的优先级的情况: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;//读者与写者,写者与写者间的互斥,即可否修改文件第4页共9页第3页共9页SFPaPbPc编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共9页intSn=n;//最多有n个进程可以同时进行读操作reader();writer()}reader(i){P(S);P(Sn);V(S);ReadfileFV(Sn);}writer(j){P(S)WritefileFV(S);}例题1、有一个阅览室,读者进入时必须先在一张登记表上进行登记。该表为每一座位列出一个表目,包括座号、姓名。读者离开时要撤消登记信息。阅览室有100个座位,试问:(1)为描述读者的动作,应编写几个程序?,应该设置几个进程?进程和程序之间的关系如何?(2)试用P、V操作描述这些进程之间的同步算法。2、若系统有某类资源m*n+1个,允许作业执行过程中动态申请该类资源,但在该系统上运行的每一个作业对该类资源的占有量在任一时刻都不会超过m+1个。当作业申请资源时,只要资源尚未分配完,则总能满足它的要求。但用限制系统中可同时执行的作业个数来防止死锁。你认为作业调度允许同时执行的最大作业数应为多少?证明之。3、若系统有同类资源m个,被n个进程共享,试问:当m>n和m

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

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

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群