进程互斥(间接制约)
定义:由于操作系统各进程需要使用共享资源,而这些资源需要排他性使用,各进程之间竞争使用这些资源,这些关系称为进程互斥。
临界资源:系统中的资源一次只允许一个进程使用,这样的资源称为临界资源或互斥资源或共享资源
临界区:进入进程访问临界资源的那段程序
同步(直接制约):
指系统中一些进程需要相互合作,共同完成一项任务,比如一个进程运行到某一点时,需要另一个伙伴进程为它提供消息,在未获得消息之前,该进程会一直处于等待状态,在获得消息后被唤醒进入就绪状态。
典型的例子是公共汽车上司机与售票员的合作。只有当售票员关门之后司机才能启动车辆,只有司机停车之后售票员才能开车门。司机和售票员的行动需要一定的协调。同样地,两个进程之间有时也有这样的依赖关系,因此我们也要有一定的同步机制保证它们的执行次序。
实现进程同步方式:使用信号量。 信号量的特点就是允许多个进程同时访问,数量由资源数目决定。
临界区使用原则:
(1)没有进程在临界区时,想进入临界区的进程可进入
(2)不允许两个进程同时在临界区
(3)临界区运行的进程不得阻塞其他进程进入临界区
(4)不得使进程无限等待进入临界区
互斥问题的解决方案
无论采取何种方案实现互斥,都必须满足四大基本原则:
1.空闲则进:如果临界区中没有进程执行或者一个进程刚刚执行完,那么立即允许另一个进程(如果有的化)进入临界区执行,最大限度地提高资源利用率。
2.忙则等待:如果临界区中有进程正在执行,那么则让当前进程等待,以保证互斥使用临界资源。
3.有限等待:等待进入临界区的进程在有限时间内最终一定能够进入临界区,不允许“死等”。
4.让权等待:如果一个进程执行到了临界区,但是无法获得临界区资源,那么立即释放处理机,避免忙等。
标签:同步,互斥,临界,进入,进程,等待,资源 From: https://www.cnblogs.com/Relliu/p/17233997.html