GATE CS 2007考试中提出了以下问题。
1)虚拟内存系统使用先进先出(FIFO)页面替换策略, 并为进程分配固定数量的帧。请考虑以下语句:
P:增加分配给进程的页面框架的数量有时会提高页面错误率。
问:某些程序不具有参考性。以下哪一项是TRUE?
(A)P和Q都为真, 并且Q是P的原因
(B)P和Q都是正确的, 但是Q并不是P的原因。
(C)P为假, 但Q为真
(D)P和Q均为假。
答案(B)
P是真的。增加分配给处理的页面框架的数量可能会增加编号。页面错误数(请参阅
贝拉迪的异常
)。
Q也是正确的, 但是Q并不是-P的原因, 因为Belady的"异常"发生在某些特定页面引用模式中。
2)单个处理器系统具有三种资源类型X, Y和Z, 它们由三个进程共享。每种资源类型有5个单位。考虑以下情形, 其中列alloc表示分配给每个进程的每种资源类型的单元数, 列请求表示一个进程为完成执行而请求的每种资源类型的单元数。以下哪个过程将在LAST结束?
alloc request
X Y Z X Y Z
P0 1 2 1 1 0 3
P1 2 0 1 0 1 2
P2 2 2 1 1 2 0
(A)P0
(B)P1
(C)P2
(D)以上都不是, 因为系统处于僵局
答案(C)
一旦分配了所有资源(分别为X, Y和Z的5、4和3个实例), 就剩下了X, Y和Z的0、1和2个实例。只能满足P1的需求。因此, P1可以先完成其执行。完成P1后, 它将分别释放X, Y和Z的2、1、3个单位。在P0和P2中, 只能满足P0的需求。至此P0完成执行。最后, P2完成其执行。
3)两个进程P1和P2需要访问代码的关键部分。考虑一下进程使用的以下同步结构:这里, 旺旺1和旺旺2是共享变量, 它们初始化为false。关于上述构造, 以下哪一项陈述是正确的?
/* P1 */
while (true) {
wants1 = true;
while (wants2 == true);
/* Critical
Section */
wants1=false;
}
/* Remainder section */
/* P2 */
while (true) {
wants2 = true;
while (wants1==true);
/* Critical
Section */
wants2 = false;
}
/* Remainder section */
(A)它不能确保相互排斥。
(B)它不能确保有界等待。
(C)要求流程严格交替进入关键部分。
(D)它不能防止死锁, 但可以确保相互排斥。
答案(D)
上面的同步结构不能防止死锁。当旺旺1和旺旺2都变为真时, P1和P2都永远停留在其while循环中, 等待对方完成。
4)考虑以下有关用户级线程和内核级线程的语句。以下哪一项是FALSE?
(A)内核级线程的上下文切换时间比用户级线程的上下文切换时间更长。
(B)用户级线程不需要任何硬件支持。
(C)相关的内核级别线程可以在多处理器系统中的不同处理器上进行调度。
(D)阻塞一个内核级线程会阻塞所有相关线程。
答案(D)
由于内核级线程由内核管理, 因此阻塞一个线程不会导致所有相关线程都阻塞。用户级线程有问题。看到
这个
更多细节。
请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请发表评论