试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/29 18:57:30
试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数试阐述信号量及其物理意义.【

试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数
试阐述信号量及其物理意义.
【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数,以及反映是什么操作.

试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数
Dijkstra把整型信号量定义为一个整形量,除初始化外,通过两个标准的原子操作(Atomic Operation)wait(s)和signal(s)来访问.这两个操作很长时间以来,一直被分别称为P、v操作.wait和signal操作可描述为:
wait(s):while s≤0 do no_op:
s:=s-1;
signal(s):s:=s+1;
wait(s)和signal(s)是两个原子操作,因此,它们在执行时是不可中断的.亦即产生一个进程在修改某信号量时,没有其他进程可同时对该信号量进行修改.此外,在wait操作中,对s值的测试和做s:=s-1操作时,都不可中断.
信号量的物理意义如下:

(1) 若信号量s为正值,则该值等于在封锁进程之前对信号量s可施行的P操作数,亦即等于s所代表的实际使用的物理资源个数.
(2) 若信号量s为负值,则其绝对值等于登记排列在该信号量s队列之中等待进程的个数,亦即恰好等于对信号量s实施P操作而被封锁起来并进入信号量s队列的进程数.
(3) 通常P操作意味着请求一个资源,V操作意味着释放一个资源.在一定条件下,P操作代表挂起进程操作,而V操作代表唤醒被挂起进程的操作.