Operating system 操作系统中的信号量

Operating system 操作系统中的信号量,operating-system,semaphore,Operating System,Semaphore,那么,到底是什么改变了流程的上下文呢。 假设我有一个algo,其中 S=0; begin signal(S); <critical> wait(S); end S=0; 开始 信号; 等候;; 结束 在这里,当我的信号被执行时,进程是否会被抢占,队列中的进程是否会被执行?我想你想怎么做 S=0; begin wait(S); <critical> signal(S); end S=0; 开始 等候;; 信号; 结束 首先等待一些信号(锁定,或来自其他进程的

那么,到底是什么改变了流程的上下文呢。 假设我有一个algo,其中

S=0;
begin
signal(S);
<critical>
wait(S);
end
S=0;
开始
信号;
等候;;
结束

在这里,当我的信号被执行时,进程是否会被抢占,队列中的进程是否会被执行?

我想你想怎么做

S=0;
begin
wait(S);    
<critical>
signal(S);
end
S=0;
开始
等候;;
信号;
结束

首先等待一些信号(锁定,或来自其他进程的信号),然后进入临界区。一旦离开关键区域,向其他等待进程发出信号,让其醒来。

谢谢。为什么没有人能帮我解决操作系统相关的问题?