在信号量的定义和机制中什么是互斥?
1个回答
展开全部
互斥信号量要成对出现:如两个进程都反过来操作,先互斥了,但是没有得到临界资源。
当一个进程1运行时,使用资源,进行P操作,即对信号量值减1,也就是资源数少了1个。这时信号量值为0。系统中规定当信号量值为0时,必须等待,直到信号量值不为零才能继续操作。
这时如果进程2想要运行,那么也必须进行P操作,但是此时信号量为0,所以无法减1,即不能P操作,也就阻塞。这样就达到了进程1排他访问。
V原语操作的动作是:
(1)S加1。
(2)若相加结果大于零,则进程继续执行。
(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。
PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语执行期间不允许有中断的发生。
信号量机制分 整型信号量机制、记录型信号量机制、and型信号量机制、信号量集。
整型信号量是一种最简单的信号量,主要用于解决并发程序互斥访问临界资源问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询