每个进程中访问 临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件 临界资源,还是 软件 临界资源,多个进程必须互斥地对它进行访问。 多个进程中涉及到同一个 临界资源的临界区称为 相关临界区。. 界资源是指每次仅允许一个进程访问的资源。 属于临界资源的硬件有打印机、 磁带机等,软件有消息缓冲队列、 变量、 数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。 每个进程中访问临界资源的那段代码称为 临界区。显然,若能保证诸 进程互斥地进入自己的 临界区,便可实现诸进程对临界资源的互斥访问。为此,每个进程在进入 临界区之前,应先对欲访问的临界资源进行检查,看它是否正被访问。如果此刻该临界资源未被访问,进程便可进入 临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入 临界区。 在操作系统中,有 临界区的概念。 临界区内放的一般是被1个以上的进程或线程(以下只说进程)共用的数据。 临界区内的数据一次只能同时被一个进程使用,当一个进程使用临界区内的数据时,其他需要使用临界区数据的进程进入等待状态。 操作系统需要合理的分配临界区以达到 多进程的同步和互斥关系,如果协调不好,就容易使系统处于不安全状态,甚至出现 死锁现象。 所谓死锁: 是指两个或两个以上的 进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的 进程称为死锁进程。 由于资源占用是互斥的,当某个 进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。”