操作系统中进程互斥的方式之一,信号量机制,理解不了啊,求大神举例说明
发布网友
发布时间:2022-03-30 01:21
我来回答
共2个回答
懂视网
时间:2022-03-30 05:43
信号量机制是一种卓有成效的进程同步工具,在长期且广泛的应用中,信号量机制又得到了很大的发展,它从整型信号量经记录型信号量,进而发展为“信号量集”机制,现在,信号量机制已经被广泛地应用于单处理机和多处理机系统以及计算机网络中。
热心网友
时间:2022-03-30 02:51
其实很简单呢,信号量就是一个资源计数器,对信号量有两个操作来达到互斥,分别是P和V操作。
一般情况是这样进行临界访问或互斥访问的:
设信号量值为1,
当一个进程1运行时,使用资源,进行P操作,即对信号量值减1,也就是资源数少了1个。这时信号量值为0。系统中规定当信号量值为0时,必须等待,直到信号量值不为零才能继续操作。
这时如果进程2想要运行,那么也必须进行P操作,但是此时信号量为0,所以无法减1,即不能P操作,也就阻塞。这样就达到了进程1排他访问。
当进程1运行结束后,释放资源,进行V操作。资源数重新加1,这时信号量的值变为1.
这时进程2发现资源数不为0,信号量能进行P操作了,立即执行P操作。信号量值又变为0.此时进程2占有资源,排他访问资源。
这就是信号量来控制互斥的原理。
希望能帮助到你,如果帮助到你,请采纳为意见。