操作系统|集9

在2009门CS考试中提出了以下问题。

null

1)在单处理器系统的后续进程状态转换图中,假设在准备状态下总是有一些进程:现在考虑以下语句: 图片[1]-操作系统|集9-yiteyi-C++库 I.如果一个流程进行了转换D,则会导致另一个流程立即进行转换a。 二、处于阻塞状态的进程P2可以在另一个进程P1处于运行状态时进行转换E。 三、 操作系统使用抢占式调度。 四、 操作系统使用非抢占式调度。 以上哪项陈述是正确的? (A) 一和二 (B) I和III (C) 二、三 (D) 二、四

答复(C) 我错了。如果一个进程进行转换D,它将导致另一个进程进行转换B,而不是a。 这是真的。当I/O完成时,无论其他进程是否处于运行状态,进程都可以移动到就绪状态。 III是正确的,因为存在从运行状态到就绪状态的转换。 IV为假,因为操作系统使用抢占式调度。

2) enter_CS()和leave_CS()函数用于实现进程的关键部分,它们使用测试和设置指令实现,如下所示 :

void enter_CS(X)
{
    while test-and-set(X) ;
}
void leave_CS(X)
{
   X = 0;
}

在上述解决方案中,X是与CS关联的内存位置,并初始化为0。现在考虑下面的陈述: I.上述CS问题的解决方案是无死锁的 二、解决办法是不挨饿。 三、 进程以FIFO顺序输入CS。 IV多个进程可以同时进入CS。 以上哪项陈述是正确的? (A) 我只是 (B) 一和二 (C) 二、三 (D) 仅限IV

答复(A) 上述解决方案是一个简单的解决方案 测试和设置 解决方案,确保死锁不会发生,但它不使用任何队列来避免饥饿或具有FIFO顺序。

3) 在将虚拟地址转换为物理地址时,与单级页表相比,多级页表是首选的,因为 (A) 它减少了读取或写入内存位置的内存访问时间。 (B) 它有助于减少实现进程虚拟地址空间所需的页表大小。 (C) 它是翻译查找缓冲区所必需的。 (D) 它有助于减少页面替换算法中的页面错误数。

答复(B) 页面表格的大小可能会变得太大(请参见 )适应于连续的空间。这就是为什么页面表通常被划分为不同的级别。

请看 门角 所有上一年的论文/解决方案/解释、教学大纲、重要日期、笔记等。

如果您发现任何答案/解释不正确,或者您想分享有关上述主题的更多信息,请发表评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享