有N个进程共享同一临界资源,如用信号量机制,实现对一临界资源的互斥访问,则信号量的变化范围是?
1个回答
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
D:1----[-(n-1)]信号量初值为1.当有进程运行时,其他进程访问信号量,信号量就会减一。
信号量是指同时需要多个资源且每种占用一个资源时的信号量操作。即在一个原语中申请整段代码度需要的多个临界资源,要么全部分配给它,要么一个都不分配给它。
以避免当一段处理代码需要同时获取两个或多个临界资问源时,出现由于各进程等待其余的临界资源,变成死锁的情况。
扩展资料:
注意事项:
信号响应,每个信号的顺序并不重要,虽然会影响块队列的过程,但由于原子操作模式,是否所有分配的资源分配,所以总有一个过程的所有资源和释放资源推动后,所以它不会死锁。
由于在信号量和信号量中使用通用信号的灵活性,Swait和Ssignal通常不成对使用。为了避免死锁,可以一起申请所有需要的资源,但不要一起释放它们。
信号量是指进程在执行任务之前需要获取两个或多个共享资源的应用程序。
假设现在有两个进程A和B,它们都需要访问共享数据D和e。当然,共享数据应该始终是关键资源。
为此可以将信号量Dmutex和Emutex分别设置为互斥,并将它们的初始值设置为1,因此个进程都包含了对Dmutex和Emutex的操作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询