单选题 下列对临界区的论述中,正确的是______。
  • A.临界资源是指进程能够同时使用的那些资源
  • B.临界区包含进程中实现同步互斥的那段代码
  • C.临界区是指存放临界资源的那段存储器区域
  • D.临界区是指进程中访问临界资源的那段代码
【正确答案】 D
【答案解析】进程在运行过程中,一般会与其他进程共享资源,而有些资源的使用具有排他性。我们把同时仅允许一个进程使用的资源称为临界资源,如打印机、磁带机等,因此A选项错误。 临界区是指进程中访问临界资源的那段代码,并不是指临界资源的存放地址,因此D选项正确,C选项错误。 本题中容易出错的是B选项,会错误地认为临界区包含实现进程同步互斥功能的代码。根据访问临界资源的过程,进程可以分为4个部分,如图所示。 [*] 其中进入区的功能是为了使进程能够进入临界区而进行相关检查,如果可以进入临界区,则通常设置相应的“正在访问临界区”标志,以阻止其他相关进程同时进入临界区。 而退出区的作用是将“正在访问临界区”标志清除,相当于恢复和善后。 由此可以看出,实现进程互斥和同步的其实是进入区和退出区,并不是临界区。 ★其实当有进程存在时,访问临界资源的进程甚至可以不负责同步互斥,全部交由进程处理。