您的位置:广东在线游戏网 > 游戏解答 > 在整型信号量机制中的wait操作,只要是信号量s小于等于0就...

在整型信号量机制中的wait操作,只要是信号量s小于等于0就...

作者:广东在线游戏网日期:

返回目录:游戏解答


其实很简单呢,信号量就是一个资源计数器,对信号量有两个操作来达到互斥,分别是P和V操作。
一般情况是这样进行zhidao临界访问或互斥访问的:
设信号量值为1,
当一个进程1运行时,使用资源,进行P操作,即对信号量值减1,也就是资源数少了1个。这时信号量值为0。系统中规定当信号量值为0时,必须等待,直到信号量值不为零才能继续操作。
这时如果进程2想要运行,那么也必须进行P操作,但是此时信号量为0,所以无法减1,即不能P操作,也就阻塞。这样就达到了进程1排他访问。
当进程1运行结束后,释放资源,进行V操作。资源数重新加1,这时信号量的值变为1.
这时进程2发现资源数不为0,信号量能进行P操作了,立即执行P操作。信号量值又变为0.此时进程2占有资源,排他访问资源。
这就是信号量来控制互斥的原理。
希望能帮助到你,如果帮助到你,请采纳为意见。

•整型信号量
–是一个整型量,通过2个原子操作wait(s)和signal(s)来访问
Wait(s):
while s<= 0 do no-op
s:=s-1;

Signal(s): s:=s+1;
在wait原子操作中,当s<= 0时,就立刻循环回去继续判断S的值是否小于等于0
初值应该是3.
每有一处进程进入,就减1.当三个进程进入,第4个进程想要进入时,再执行P操作就会变为负值,从而阻塞后继进程进入。

《Operating Systems Design and Implementation》中Andrew S. Tanenbaum对信号量的描述和以前看过的教材有区别。但其核心思想是类似的。

以前的书上(包括网上不少帖子)636f7079e79fa5e98193365是这么叙述的:

―――――――――――――――――――――――――――――――――――――

信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用临界区的进程数。

Dijkstra同时提出了对信号量操作的PV原语。

P原语操作的动作是:

(1)S减1;

(2)若S减1后仍大于或等于零,则进程继续执行;

(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。

V原语操作的动作是:

(1)S加1;

(2)若相加结果大于零,则进程继续执行;

(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。

PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语执行期间不允许有中断的发生。

―――――――――――――――――――――――――――――――――――――

说明:要保证PV是原子操作,对于操作系统,只须在操作过程中关中断即可。

Andrew S. Tanenbaum对信号量的定义有所不同,其PV操作也有区别。

―――――――――――――――――――――――――――――――――――――

信号量是一个整数,其值不小于0。它表示被积累下来的唤醒操作数。

P原语操作的动作是:

(1) 检查S是否大于0。

(2) 若S>0,则S = S – 1;否则,执行P操作的进程将睡眠,并且此时P操作并未结束。

V原语操作的动作是:

(1)S = S + 1。

(2)如果一个或多个进程在该信号量上睡眠,无法完成先前的P操作,则有系统选择其中一个并允许它完成P操作。

相关阅读

关键词不能为空

标签导航

性格决定命运?那什么样的性格有好的命运呢? 什么样的性格命运好 性格可以决定命运吗?为什么?什么样的性格才是好的? 性格决定命运,什么样的性格命最好?什么样的性格最坏? 操作系统中进程互斥的方式之一,信号量机制,理解不了啊,求大神... 信号量被广泛应用于三个目的是什么 在整型信号量机制中的wait操作,只要是信号量s小于等于0就... 试述用信号量机制解决互斥和同步问题时,信号量选取的一般准则是... 游戏本买什么好呢 笔记本电脑,游戏本买什么的好? 游戏本怎么买好,大家认可的游戏本品牌是什么? 有什么好的游戏本可以买? 求一个零之轨迹二周目攻略 全DP 料理 书籍 钓鱼 二周目追... 求 零之轨迹 二周目 终章 隐藏任务攻略 你好,零之轨迹完美通关档可以发一下吗,我想直接玩一下2周目... 谁有零之轨迹一周目通关的完美存档请发给我~全dp,食谱成就等... 今天在UPLAY 下了一个飙酷车神PC版的,下载了一个下午,... PC的飙酷车神2在哪里下 有没有哪位大侠,下载飙酷车神玩的,为什么我下载解压过后打开一... 飙酷车神网吧能完吗 玩一次下一次 可不可以下载到移动硬盘里面... 死神灵魂升温7中文版下载 求PSP死神 灵魂升温7 下载地址 PSP 死神灵魂升温7完美存档 PSP[死神BLEACH:灵魂升温6]出招表 听说ZUL暴两把剑可以合成一把双手剑,这两把剑叫什么?哪个B... wow zul 单手剑能否交易 魔兽世界刷ZUL掉的两把单手剑合50级紫剑的任务在哪接呀? ZUL 2个蓝色的单手剑 怎么合成一把紫色的双手剑 零之轨迹中文详细攻略(主线 求零之轨迹的攻略电子书 支线,钓鱼) 希望是完整版的零之轨迹PC中文版图文攻略,不全的就不要了!有... 零之轨迹PC版详细图文全攻略最好是PDF格式的求发送 PC 零之轨迹 存档,转到PSP上,求助 零之轨迹PC版存档改成PSP存档,该怎么修改 零之轨迹存档怎么用 零之轨迹pc psp存档通用吗? 在迅游网下载了单机游戏《变形金刚:赛博坦之战》,一共四个文件... 领袖之证的前传是游戏赛博坦之战和赛博坦的陨落吗?那暗焰崛起呢... 谁知道变形金刚游戏(PC完整版)在哪下载的啊 变形金刚赛博坦之战 哪里可以下载到可以玩的游戏,真的很想玩 灵魂献祭delta强力供物怎么刷 灵魂献祭delta选哪个势力好?感觉选那个圣什么的都打不动b... psv灵魂献祭delta初期供物选哪个(3个问题)? 灵魂献祭delta新手遇到怪物牺牲还是救赎,阵营选哪个 帮忙介绍下各种街机模拟器 求一个比较全的街机游戏合集,要自带模拟器,别让我百度, 谁有那种街机模拟器里面任何街机游戏都有的模拟器 PSP的街机模拟器在哪里下载 怎样能玩游戏 跪求灵魂献祭delta圣腕的圣枪需要什么刻印和供物 灵魂献祭圣休亚里剧情第一章牛怎么打 灵魂献祭delta走什么路线好 有像飚车世界一样的飚车游戏吗? 狂野飙车8都有哪些游戏模式