早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

A.模块B.类程C.管程D.线程

题目

A.模块

B.类程

C.管程

D.线程

参考答案
正确答案:C
解析:本题主要考查进程的同步与互斥机制,以及管程的概念。信号量是操作系统中用于互斥和同步机制的一个共享整数变量,除初始化外,仅能通过两个标准的原子操作(atomicoperation)Wait(S)和Signal(S)来访问。对于给定的信号量S,等待操作Wait(S)(又称为P操作P(S))为:Wait(S){ifS>0thenS:=S-1else挂起调用的进程}即信号量值大于0时,将其值减1,进程继续,否则当前进程阻塞自己。唤醒操作Signal(S)(又称为V操作V(S))为:Signal(S){if存在等待的进程then唤醒它elses:=s+1,允许其他进程访问此临界资源}临界区(CriticalSection)是指一段必须互斥执行的代码。显然,若能保证每个进程互斥地进入自己的临界区,就能实现它们对临界资源的互斥访问。这样,每个进程进入临界区,访问该资源,并设置信号量,表示资源正在被访问,否则应等待(挂起),这个操作即Wait(S)。当其访问完临界资源,退出临界区时,检查若有进程被挂起(即在等待访问此临界资源),则唤醒该进程,否则应当恢复信号量,以使其他进程将来能访问此临界资源,这个操作即Signal(S)。代码格式为:Wait(S){临界区}Signal(S)如上定义的代码段中,临界区将共享数据和对这些共享数据的操作封装起来,在进入临界区时实施Wait(S)操作,出临界区时实施Signal(S)操作,这就保证了某一时刻,只允许一个进程进入,而其他进程只能等待,这样的代码段称为管程。管程是一种并发性的构造,它包括变量、数据及过程组成的集合,只能通过特定的管程入口被调用,在边界上严格实施互斥。管程采用信息掩蔽的方法,即管程中的数据包括管程中所有过程的全局变量及某个特定过程的局部变量,所有这些数据只能在管程中访问,管程外的进程无法访问管程内的数据。
看了A.模块B.类程C.管程D.线...的网友还看了以下: