问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

信号量机制

发布网友 发布时间:2022-03-30 01:21

我来回答

3个回答

懂视网 时间:2022-03-30 05:43

信号量机制是一种卓有成效的进程同步工具,在长期且广泛的应用中,信号量机制又得到了很大的发展,它从整型信号量经记录型信号量,进而发展为“信号量集”机制,现在,信号量机制已经被广泛地应用于单处理机和多处理机系统以及计算机网络中。

热心网友 时间:2022-03-30 02:51

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

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

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

信号量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操作。

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

Andrew S. Tanenbaum的观点认为:当S = 0时,P操作不会马上结束。其作用(S = S – 1)必须在该进程被唤醒后才能实现。

两种定义的区别是:

前者定义的PV操作都不会阻塞,而后者中P操作可能被阻塞。

前者的S的初值一般大于0,而后者中,S通常初值为0。

热心网友 时间:2022-03-30 04:09

kfk kkf
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有释放证明书可以开无犯罪证明吗 刑满释放人员入党需要公安机关出具怎样证明与无罪证明一样的作用 交通事故私了是要注意哪些问题 【私了注意事项】车祸哪些情况不能私了 交通事故私了要注意什么 私了交通事故要注意的问题 wifi6跟wifi5的区别有什么? 只有吉祥寺是想住的街道吗 演员表 《吉祥寺真的是你想住的街道吗》:每个人都会找到适合自己的街道 日剧《只有吉祥寺是想住的街道吗》为何选择“生きていたん 如何评价日剧《只有吉祥寺是想住的街道吗?》? 隐藏在底部的DIV点击弹出jquery特效 jquery之超简单的div显示和隐藏特效demo(分享) 任意图片拖拽交换位置(jquery特效) 网页的特效是用jquery插件实现的吗 JQuery表格插入行 滑动 特效 jQuery实现列表内容的动态载入特效 jQuery过滤选择器怎么制作图片突出效果? 求写一个jquery的一个特效 Jquery幻灯片特效代码分享--鼠标滑过按钮时切换(2) jQuery实现的导航动画效果(附demo源码) jquery特效如何让图片向左移动 js代码,jquery特效和css3,html5有什么区别 jquery的手风琴特效 jQuery点击按钮特效 jquery特效如何添加到现有网站 404 Not Found 请问JQuery常用的网站特效有哪些呢? jq特效和js特效区别 钉钉信息里的名字怎么显示两个不同的人名? 钉钉对话框里为什么显示自己名字? 网上下的jquery特效代码怎么用?如图 jquery显示和隐藏div特效实例 404 Not Found 华为手机本来设置的是指纹解锁结果又弹出来向右滑动解锁怎么关闭这个功能? 华为手机指纹密码在哪里设置 荣耀手机为什么设置完指纹和人脸后,滑动就可以进入应用? 华为手机指纹解锁后为啥还要滑动解锁 手机指纹解锁后怎么还有一个滑动解锁? 华为p20为什么指纹密码解锁了以后还需要再手动滑动... 华为手机解锁后还需要滑动屏幕 华为指纹解锁后不滑动直接进入首页 为什么华为手机用指纹开机后还要用滑索开机火山版的? 华为手机要先划屏才能指纹解锁是什么原因 华为 mate8 指纹解锁 怎么还要滑动解锁 荣耀mate30pro指纹开锁后为什么还要右滑动开锁呢? 操作系统中进程互斥的方式之一,信号量机制,理解不了啊,求大神举例说明 流产后社保可以报销吗? 做人流可以用社保报销吗? 深户未满12周流产,可以报生育津贴或生育保险吗? 流产住院社保可以报销吗