单选题 Operating systems can be programmed to carry out different methods for process isolation. Which of the following refers to a method in which an interface defines how communication can take place between two processes and no process can interact with the other"s internal programming code?
【正确答案】 B
【答案解析】[解析] B正确。当一个进程被妥善封装时,其他进程都无法理解它的内部程序代码或与它的内部程序代码进行交互。当进程A需要与进程B通信时,进程A只需要知道如何与进程B的接口进行通信。接口定义了两个进程之间进行通信的方式。举个例子做一下类比,回想一下你如何与你三年级的老师进行沟通。你必须称她为Mrs. SoandSo,说“请”和“谢谢”,然后满怀尊敬之情地说话以得到你需要得到的东西。需要进行互相通信的软件组件亦是如此。它们必须知道如何正确地与彼此的接口进行通信。这些接口指明了某个进程可以接受的请求类型和要提供的输出类型。所以,两个进程,即使它们是用不同的程序语言编写的,但只要它们知道如何与彼此的接口通信,它们便能够彼此进行通信。封装将数据隐匿起来,这意味着外部软件组件无法知道进程的工作方式,也不能够操作这个进程的内部代码。这是一个完整性机制,它加强了程序代码的模块化。
A不正确。因为虚拟映射(virtual mapping)指的是在操作系统内虚拟存储到物理存储是如何进行映射的。当一个应用程序需要使用内存时,它会告诉操作系统的内存管理器它需要多少内存。之后,操作系统把它所需的内存量分配给提出请求的应用程序。应用程序采用它自己的地址方案——通常从0开始。而事实上,应用程序并非在它所认为的自己工作的物理地址空间中运行,相反,它是在内存管理器分配给它的地址空间中运行。物理内存即系统中的RAM芯片。操作系统将这个存储器分割开,把其中的一部分分配给提出请求的进程。一旦该进程被分配了自己的存储空间,它便能够对这部分内存进行编址,这就叫做虚拟地址映射。虚拟地址映射允许不同的进程拥有各自的存储空间,存储管理器确保没有任何进程不正当地干涉其他进程的内存。这样便保证了完整性和保密性。
C不正确。因为时分复用(time multiplexing)是一种允许进程通过间隔方法使用相同资源的技术。许多进程必须共享CPU。虽然看上去所有的应用程序都同时执行它们的指令,但是实际上操作系统却是在每个进程间分享各个时段。复用是指同时存在多个数据源,而单个的数据片段都是通过一个通信信道传输。在这个例子中,操作系统会协调来自不同进程的不同请求,并把它们汇入一个共享的CPU。操作系统必须提供恰当的时分复用(资源共享)来确保软件和用户都拥有稳定的工作环境。
D不正确。因为命名识别(naming distinctions)仅意味着不同的进程拥有的名称或身份识别值。各进程通常被分配给一个进程识别(process identification, PID)值,供操作系统和其他进程调用它们时使用。如果每个进程都是隔离的,那意味着每个进程都有它自己独一无二的PID值。