📜  操作系统 | 2套

📅  最后修改于: 2021-09-27 15:19:35             🧑  作者: Mango

以下问题已在 GATE CS 考试中提出。 1. 考虑一台具有 64 MB 物理内存和 32 位虚拟地址空间的机器。如果页大小是4KB,那么页表的大概大小是多少? (2001 年大门)
(a) 16 MB
(b) 8 MB
(c) 2 MB
(d) 24 MB

答案: (c)
解释:
页条目用于获取物理内存的地址。这里我们假设正在发生单级分页。因此生成的页表将包含虚拟地址空间的所有页的条目。

Number of entries in page table = 
                    (virtual address space size)/(page size)  

使用上面的公式我们可以说页表中将有 2^(32-12) = 2^20 个条目。
寻址 64MB 物理内存所需的位数 = 26。
所以物理内存中会有 2^(26-12) = 2^14 个页框。而页表需要存储所有这 2^14 个页框的地址。因此,每个页表条目将包含页框的 14 位地址和 1 位有效-无效位。
由于内存是字节可寻址的。所以我们认为每个页表条目是 16 位,即 2 个字节长。

Size of page table = 
  (total number of page table entries) *(size of a page table entry) 
   = (2^20 *2) = 2MB

为了概念的清晰,请参见下图。根据我们的问题,这里 p = 20,d = 12 和 f = 14。

Paging


2. 考虑两个并发进程 i 和 j 之间的互斥的 Peterson 算法。 process 执行的程序如下所示。

repeat   
      flag [i] = true; 
      turn = j; 
      while ( P ) do no-op; 
      Enter critical section, perform actions, then exit critical 
      section 
      flag [ i ] = false; 
      Perform other non-critical section actions. 
   until false; 

对于保证互斥的程序,while循环中的谓词P应该是(GATE 2001)

a) flag [j] = true 和 turn = i
b) flag [j] = true 和 turn = j
c) flag [i] = true 和 turn = j
d) flag [i] = true 和 turn = i

答案: (b)
基本上,Peterson 的算法通过使用以下两个构造来提供有保证的互斥 – flag[]turnflag[]控制进程进入临界区的意愿。而轮流控制允许进入临界区的进程。因此,通过将 P 替换为以下内容,

标志 [j] = 真和转 = j

如果进程 j 想进入临界区,而轮到进程 j 进入临界区时,进程 i 将不会进入临界区。相同的概念可以扩展到两个以上的过程。有关详细信息,请参阅以下内容。
参考:
http://en.wikipedia.org/wiki/Peterson%27s_algorithm


3 在一个缓存块中放入一个以上的字 (GATE 2001)

(a) 利用程序中引用的时间局部性
(b) 在程序中利用参考的空间局部性
(c) 减少未命中惩罚
(d) 以上都不是

答案: (b)
时间局部性是指在相对较短的持续时间内重复使用特定数据和/或资源。空间局部性是指在相对较近的存储位置内使用数据元素。
为了利用空间局部性,将多个字放入缓存块。
参考:
http://en.wikipedia.org/wiki/Locality_of_reference


4、以下哪项说法是错误的? (2001 年大门)

a) 虚拟内存实现了程序地址空间到物理内存地址空间的转换
b) 虚拟内存允许每个程序超过主内存的大小
c) 虚拟内存增加了多道程序的程度
d) 虚拟内存减少上下文切换开销

答案: (d)
在具有虚拟内存的系统中,上下文切换包括地址空间切换的额外开销。
参考:
http://www.itee.adfa.edu.au/~spike/CSA2/Lectures00/lecture.vm.htm


5. 考虑在单处理器机器上运行具有已知运行时间 r1, r2, … rn 的一组 n 个任务。以下哪种处理器调度算法将导致最大吞吐量? (2001 年大门)

(a) 循环
(b) 最短作业优先
(c) 最高响应率-下一个
(d) 先到先得

答案: (b)