【正确答案】
D
【答案解析】 一个内核对象就是在系统堆中占据一块空间的结构体。不同种类的内核对象用来管理操作系统中不同的资源,例如进程、线程和文件等。所有内核对象都会保存该对象的引用计数,进程对象会保存进程ID,文件对象会保存当前字节偏移量、共享模式和打开模式等。操作系统中所有内核对象都是保存在一块内存空间中的,系统上所有的进程都共享这一块内存空间。
每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只允许一个进程进入临界区,进入后不允许其他进程进入。
互斥对象是一种最简单的内核对象,用它可以方便地实现对某一资源的互斥访问。而临界区并不是内核对象,而是系统提供的一种数据结构,程序中可以声明一个该类型变量,之后用它来实现对资源的互斥访问。当希望访问某一临界资源时,先将该临界区加锁(如果临界区不空闲,则等待),用完该资源后,将临界区释放。