【操作系统不挂科】<经典同步问题(11)>PV原语简答题(带答案与解析)

前言

大家好吖,欢迎来到 YY 滴操作系统不挂科 系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
本博客主要内容,收纳了一部门基本的操作系统题目,供yy应对期中考试复习。大家可以参考

1.对于生产者-消费者问题,若缓冲区中缓冲区单元只有一个,生产者和消费者各只有一人。用P、V原语实现生产者和消费者的同步操作

  • 正确答案:
Semaphore  Vs1=0;
Semaphore  Vs2=0;
Main(){
   
   
  Cobegin{
   
   
     producer     //生产者进程
     while(true){
   
   
        送产品到缓冲区;
        V(Vs1);     //允许取产品
        P(Vs2);     //阻止送产品
     }
     consumer     //消费者进程
     while(true){
   
   
        P(Vs1);     //阻止取产品
        从缓冲区取产品;
        V(Vs2);     //允许送产品
     }
  }
  coend
}

在这里插入图片描述

2.对于生产者-消费者问题,若缓冲区中缓冲区的单元有n个,生产者和消费者各只有一个。用P、V原语实现生产者和消费者同步操作

  • 正确答案:
semaphore empty=n;     //初始时空的缓冲区单元个数
semaphore full=0;      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY的秘密代码小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值