首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
在操作系统中,对信号量 S 的 P 原语操作的定义中,使进程
[单选题]
在操作系统中,对信号量
S
的
P
原语操作后,使进程进入相应阻塞队列等待的条件是(
)
__________
S>0
S=0
S<0
S≥0
S≤0
查看正确选项
添加笔记
求解答(2)
邀请回答
收藏(80)
分享
纠错
2个回答
添加回答
1
笑以
问的是执行P操作之后信号量S的值,而不是之前。
发表于 2018-11-07 11:46:04
回复(0)
10
恭喜您又涨工资了
信号量是表示资源的物理量,它只能供P操作和v操作使用,利用信号量S的取值表示共享资源的使用情况,或用它来指示进程之间交换的信息。在具体使用中,把信号量S放在进程运行的环境中,赋予其不同的初值,并在其上实施P操作和V操作,以实现进程间的同步和互斥。P、V操作是定义在信号量S上的两个操作原语:
P(S):(1) S←S-1;
(2) 若S≥0,则调用P(S)的这个进程继续被执行;
(3) 若S<0,则调用P(S)的这个进程被阻塞,并将其插入到等待信号量S的阻塞队列中。
V(S):(1) S←S+1;
(2) 若S>0,则调用P(S)的这个进程继续被执行;
(3) 若S≤0,则先从等待信号量S的阻塞队列中唤醒队首进程,然后调用V(S)的这个进程继续执行。
信号量S>O时的数值表示某类资源的可用数量,执行P操作意味着申请分配一个单位的资源,故执行S减l操作,若减1后S<0,则表示无资源可用,这时S的绝对值表示信号量S对应的阻塞队列中进程个数。执行一次V操作则意味着释放一个单元的资源,故执行S增1操作,若增1后S≤0,则表示信号量S的阻塞队列中仍有被阻塞的进程,故应唤醒该队列上的第一个阻塞进程。
发表于 2017-07-01 02:44:21
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
操作系统
上传者:
蜡蜡
难度:
2条回答
80收藏
3639浏览
热门推荐
相关试题
有两个N*N的矩阵A和B,想要在P...
阿里巴巴
操作系统
评论
(38)
来自
阿里巴巴2015实习生笔试题
请编写实现malloc()内存分配...
微软
C++
操作系统
评论
(3)
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
请你说几个海量数据存储常见问题以及...
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题