📜  操作系统 | 7套

📅  最后修改于: 2021-09-28 09:48:07             🧑  作者: Mango

以下问题已在 GATE CS 考试中提出。

1) 设在用户和内核执行模式之间切换所用的时间为 t1,而在两个进程之间切换所用的时间为 t2。以下内容哪些是对的? (GATE CS 2011)

(A) t1 > t2
(B) t1 = t2
(C) t1 < t2 (D) t1 和 t2 之间的关系无从说起 答案:- (C) 进程切换涉及模式切换。上下文切换只能在内核模式下发生。 2) 系统使用 FIFO 策略进行页面替换。它有 4 个页面框架,开始时没有加载页面。系统首先以某种顺序访问 100 个不同的页面,然后以相反的顺序访问相同的 100 个页面。会发生多少页错误? (GATE CS 2010)

(一) 196
(二) 192
(三) 197
(四) 195

答案 (A)
访问 100 页将导致 100 页错误。当这些页面以相反的顺序访问时,前四次访问不会导致页面错误。对页面的所有其他访问都将导致页面错误。所以页面错误的总数将是 100 + 96。

3)以下哪些说法是正确的? (GATE CS 2010)
一、最短剩余时间优先调度可能导致饥饿
二、抢占式调度可能导致饥饿
三、循环在响应时间方面优于 FCFS

(A) 我只
(B) 仅 I 和 III
(C) 仅 II 和 III
(D) I、II 和 III

答案 (D)

I)最短剩余时间优先调度是最短作业调度的抢占版本。它可能会导致饥饿,因为较短的进程可能会不断出现,而长时间的 CPU 突发进程永远不会获得 CPU。
II) 抢占可能导致饥饿。如果使用具有抢占的基于优先级的调度,那么低优先级进程可能永远无法获得 CPU。
III) Round Robin Scheduling 改进了响应时间,因为所有进程都在指定时间后获得 CPU。

4) 考虑进程 P1 和 P2 在需要时访问其临界区所使用的方法,如下所示。共享布尔变量 S1 和 S2 的初始值是随机分配的。

Method Used by P1
while (S1 == S2) ;
Critica1 Section
S1 = S2;

Method Used by P2
while (S1 != S2) ;
Critica1 Section
S2 = not (S1);

以下哪一项陈述描述了所达到的属性? (GATE CS 2010)
(A) 互斥而不进步
(B) 进步但不相互排斥
(C) 既不互斥也不进步
(D) 互斥与进步

答案 (A)
不难看出,上述方案满足互斥要求,只有S1不等于S2,P1才能进入临界区,只有S1等于S2,P2才能进入临界区。
不满足进度要求。让我们先看看 Progress Requirement 的定义。
进度要求:如果在其临界区中没有进程正在执行,并且存在一些希望进入其临界区的进程,那么接下来将进入临界区的进程的选择不能无限期地推迟。
如果 P1 或 P2 想重新进入临界区,那么即使临界区有其他进程在运行,它们也不能。

请参阅 GATE Corner 了解所有往年论文/解决方案/解释、教学大纲、重要日期、笔记等。