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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 06:25:20
试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数
xTrA.TYެZ(G2) HxGPhd@B_==+Àk]1ts%ݳ fQ̊nCo&>(R R2jJyhk)%f@+!cup暗JZ#4A;=f$ˤhmi2%&!" +ILI=ˌS2/lxQ^sMMN0W4{ꍿo#I$8CF {R---r?򕼶tɩ *3s*6 ^VR9h$ਃĢ\N :aZMA٪-\[ּkFBE'.֞A}+ NBF pE!+%֩-w¨]y8D_^?ȗMӠg%(Zp0]ɿ ~~=$8[ȬNCe}r&ZB}6<ͻ@\M!ɰefk Nohv@ki V/9x}Xӊ(>$+a AYHFnmuIAu. C'6dz}#n*|>;MpAw~ÒSz2v>br E$itd$a H#S^ae&_"L }d6Uj#8xfr#c7~o{wKcTA&.U8bZB

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

试阐述信号量及其物理意义.【分析】信号量是通过定义好的“互斥”的变量元,来实现进程的同步.它不但可以使进程实现互斥访问,而且还能通过信号量本身的数值来反映物理资源数或进程数
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操作代表唤醒被挂起进程的操作.