操作系统——pv之道
来源:互联网 发布:杭州淘宝开店培训 编辑:程序博客网 时间:2024/06/05 08:20
我们的生活每天都有很多的事情发生,大部分事情我们可以自行处理,有些事情我们就要和其他人合作,比如去饭馆吃饭,饭馆是我们的一个经常光顾的地方,但是我们往往会碰到这样的情况,附近只有这一家饭馆,我很饿,不想去别的饭馆,刚刚我来的时候没有了位置,服务员让我等,看到别人在那吃得满嘴流油,恨啊……
刚刚的场景,很生活,我们不妨让时间暂停在上面那句话的时刻,我们来看这个可不可以解释pv操作,首先我们定义,饭馆有3张桌子,饭馆的经营情况是只有一个厨师,来的客人不定,在厨师的案面上放着要做几个菜,客人点菜由客人自己保管(小票),厨师念号,告诉他做什么!
我们这么定义,厨师做几个菜是厨师的信号为Sc,客人看到饭馆剩几个座位是客人的信号Sp。
上午9点,饭馆里没有一个客人,刚好有个客人来,还没有点菜
Sc=0
Sp=3
客人点了一个菜
Sc=1
Sp=2
上午11点,客人坐满,没有人等着,所有客人都点菜了
Sc=3
Sp=0
上午11:30,客人饱满,有三个客人等着,客人点菜还没上
Sc=3
Sp=-3
这时候我们再解释pv,p操作是看看有没有资源,对于厨师是看看有没有人要做饭,对于顾客是看看还有几个位置;v操作是,有一个顾客吃完饭了,释放了一个位置,对于厨师要判断要不要做饭,有人等着,就要做,没有人等着,就等待。
程序的厨师设置为
Sc=0
Sp=3
厨师的代码是
p(Sc):看看要不要做饭
做饭+送饭
v(Sp):通知顾客吃饭
顾客的代码:
p(Sp):看看我能吃饭吗?
点菜+吃完
v(Sc):通知厨师有一个空位置
这里我们理解pv操作的意义,饭馆使我们的一个公共资源,我们要向好好的利用它,就要有排队,顾客排队点菜,厨师排队做饭,这样我们就和谐了,如果只有一个桌子厨师做了顾客才能吃,是合作的关系,也叫同步,如果饭馆就剩一个位置了,来了两个顾客,他两打起来了,这就叫互斥!所以pv操作是解决公共资源利用的问题,就是临界区的问题!希望大家能稍微理解!
- 操作系统——pv之道
- 【操作系统】——PV操作
- 操作系统之PV操作
- 操作系统之PV操作
- 操作系统之PV操作
- 操作系统之PV操作
- 操作系统——关于PV操作
- 操作系统——pv操作示例
- 【操作系统概论】——PV操作
- 【操作系统概论】——PV操作
- 操作系统学习之——系统分析师PV操作的典型试题
- 软件设计师必备——操作系统·PV操作
- 操作系统(三)——PV操作的简单理解
- 操作系统之PV操作实例分析
- 操作系统之PV操作实例分析
- 操作系统之PV操作实例分析
- 操作系统之PV操作实例分析
- 软考(2)-操作系统之PV操作
- 查看Buffer Pool使用情况
- 引起pagefault的原因
- 卫星仿真工具包STK在遥感卫星仿真中的应用
- javascript中prototype的理解
- ios-非ARC项目转换成ARC
- 操作系统——pv之道
- ASP.NET自定义身份验证的实践(Page.User.Identity.Name的使用)
- 新浪微博-企业微博运营手册
- 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
- 這算不算是Linux的一個缺點?
- WTL的几个问题的解决办法
- SQL解惑(第2版)
- lucene4.2 同时搜索多个索引目录
- 使用自定义透明Dialog样式的Activity