早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

设S为信号量,P、V操作的形式化定义如下图(a)和(b)所示,请完成该形式化定义,将应填入(n)处的内容写

题目

设S为信号量,P、V操作的形式化定义如下图(a)和(b)所示,请完成该形式化定义,将应填入(n)处的内容写在答题纸的对应栏中。

参考答案
正确答案:(1)S-- (2)SO (3)S++ (4)S=0
(1)S-- (2)SO (3)S++ (4)S=0 解析:信号量是荷兰著名的计算机科学家Dijkstra于1965年提出的一个同步机制,其基本思想是在多个相互合作的进程之间使用简单的信号宋同步。
在操作系统中,信号量是表示资源的实体,除信号量的初值外,信号量的值仅能由 P操作(又称Wait操作)和V操作(又称Signal操作)改变。
设S为一个信号量,P(S)执行时主要完成的功能为:先执行S=S-1,若S0,则进程继续运行;若SO,则阻塞该进程,并将它插入该信号量的等待队列中。
V(S)执行时主要完成的功能为:先执行S=S+1,若S>O,则进程继续执行;若 S≤0,则从该信号量等待队列中移出第一个进程,使其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。
P、V操作的形式化描述如下:
P(S)
{
S --;
IF(so){
阻塞该进程;
将该进程插入信号量s的等待队列;
}
}
V(S)
{
S++;
IF(S= 0){
从信号量s的等待队列中取出队首进程;
将其插入就绪队列;
}
}