原文链接: https://blog.csdn.net/u 013272948/article/details/53929572
1 .临界资源
关键资源是一次只能由一个进程使用的共享资源。 各过程采取互斥的方式,实现共享的资源称为临界资源。
属于关键资源的硬件包括打印机、磁带驱动器等。软件包括消息队列、变量、数组和缓冲区等。 各进程之间采取互斥的方式,实现这种资源的共享。
2 .临界区:
操作系统有临界领域的概念。 每个进程访问关键资源的代码称为关键节,一次只能有一个进程访问关键节,访问后其他进程不能访问。 很明显,如果能够确保进程排他地进入自己的临界区域,则允许对每个进程的临界资源进行排他访问。 因此,每个进程在进入临界区之前,都必须检查要访问的临界资源,以确定它们是否已被访问。 如果当前没有访问关键资源,则进程可以访问关键部分以访问资源,并设置正在访问的标志。 如果此关键资源当前正由进程访问,则此进程不能进入关键部分。 无论是硬件关键型还是软件关键型,多个进程都必须互斥地访问。 多个过程涉及同一临界资源的临界区称为相关临界区。 使用临界区时,通常不允许其运行时间过长。 只要在临界区域中运行的线程尚未离开,进入此临界区域的所有其他线程都将挂起并处于等待状态,从而在一定程度上影响程序的运行性能。
操作系统必须正确分配关键节,才能实现多进程同步和互斥的关系,如果协调不成功,系统将处于不稳定状态,容易发生死锁。