单选题 Which of the following is not a responsibility of the memory manager?
【正确答案】 D
【答案解析】[解析] D正确。这个答案描述了垃圾收集器(garbage collector)的功能。垃圾收集器是针对内存泄露的对策。垃圾收集器是一个软件,它通过运行一种算法来识别未被使用的内存,并告诉操作系统把此内存标记为“可用”。不同类型的垃圾收集器适合于不同的操作系统、编程语言和算法。操作系统中记录不同类型的内存如何使用的那部分叫做内存管理器。它的工作是分配和解除分配不同的内存段、执行访问控制以确保进程仅与自己的内存段交互,以及将内存的内容从RAM交换到硬盘驱动器。内存管理器有5个基本的职责:重定位、保护、共享、局部组织和物理组织。
A不正确。因为作为共享职责的一部分,在进程需要使用相同的共享内存段时,内存管理器使用复杂的控制来确保数据的完整性和保密性。这对于保护内存和它里面的数据至关重要,因为两个或者多个进程能够共同访问具有不同访问权限的同一内存段。内存管理器还允许多个具有不同访问级别的用户与运行在同一个内存段中的同一程序进行交互。
B不正确。内存管理器负责将各个进程的交互活动限制在分配给它们的内存段中。这是出于保护职责,有助于防止进程访问未经允许的内存段。内存管理器的另一个保护职责是对内存段提供访问控制。
C不正确。因为将存储内容从RAM中交换到所需硬盘驱动中属于内存管理器的重定位职责。如果RAM和辅助存储器联合在一起,便是虚拟存储器。系统使用硬盘驱动器空间以扩展它的RAM存储空间。另外一个重定位职责是在应用程序的指令和内存段被移到某个主存储器中的不同位置时为其提供重定位指针。