举例说明P、V操作为什么要求设计成原语(即对同一信号量上的操作必须互斥)。P(S)操作:S.value--;If(
举例说明P、V操作为什么要求设计成原语(即对同一信号量上的操作必须互斥)。P(S)操作:
S.value--;
If(S.value<0)
{
Add this process to S.L;
Block();
}
V(S)操作
S.value++;
If(S.value<=0)
{
Remove a process P from S.L;
Wakeup(P);
}
举例说明P、V操作为什么要求设计成原语(即对同一信号量上的操作必须互斥)。P(S)操作:
S.value--;
If(S.value<0)
{
Add this process to S.L;
Block();
}
V(S)操作
S.value++;
If(S.value<=0)
{
Remove a process P from S.L;
Wakeup(P);
}
下列关于P、V操作的说法中正确的是()。
A.P、V操作是两个操作,而且都是原语操作
B.P、V操作中P操作可以不用原语方式,而V操作必须使用原语操作
C.P、V操作是一个过程,同一般函数,过程一样,只是执行管理临界区的操作
D.P、V操作中P操作必须使用原语方式,而V操作可以不使用原语操作
进程通信就是进程之间进行信息交换。系统中各进程异步执行,但有些进程之间必须保持
一定的联系,以便协调一致地完成指定任务。这种联系就是通过交换一定数量的信息实现的。
消息缓冲通信技术是一种高级通信机制,由Hansen首先提出。其基本思想是:根据“生产者—消费者关系”原理,利用公共消息缓冲区实现进程之间的信息交换。
1.试叙述高级通信机制与低级通信机制P、V原语操作的主要区别。
2.试解释消息缓冲通信技术的基本原理。
3.消息缓冲通信机制中提供发消息的原语Send(receiver,a)和接受消息原语Receive(a)。调用参数a分别表示发送消息的内存区首地址或接受进程的内存消息区首地址。试设计相应的数据结构,并用P、V操作原语实现Send和Receive原语。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!