📜  操作系统 |设置 4

📅  最后修改于: 2021-09-27 06:21:04             🧑  作者: Mango

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

1. 在固定块大小的文件系统中使用更大的块大小导致 (GATE CS 2003)
a) 更好的磁盘吞吐量但更差的磁盘空间利用率
b) 更好的磁盘吞吐量和更好的磁盘空间利用率
c) 磁盘吞吐量较差,但磁盘空间利用率较高
d) 较差的磁盘吞吐量和较差的磁盘空间利用率

答案(一)
如果块大小较大,则查找时间较短(查找的块较少)并且磁盘性能提高,但请记住,较大的块大小也会导致磁盘空间浪费。

2. 考虑以下关于用户级线程和内核支持线程的陈述
一世。使用内核支持的线程,上下文切换速度更快
ii.对于用户级线程,一个系统调用可以阻塞整个进程
三、内核支持的线程可以独立调度
四、用户级线程对内核透明

以上哪些说法是正确的? (GATE CS 2004)

a) 仅 (ii)、(iii) 和 (iv)
b) (ii) 和 (iii) 仅
c) 仅 (i) 和 (iii)
d) 仅 (i) 和 (ii)

答案(一)

http://en.wikipedia.org/wiki/Thread_%28computer_science%29


3. 必须分配给虚拟内存环境中正在运行的进程的最小页框数由 (GATE CS 2004) 决定

a) 指令集架构
b) 页面大小
c) 物理内存大小
d) 内存中的进程数

答案(一)
每个进程需要基于指令集架构的最少页数。示例 IBM 370:处理 MVC(存储到存储移动)指令的 6 个页面
指令是 6 个字节,可能跨越 2 页。
要处理的 2 页。
要处理的 2 页。

4. 在具有 32 位虚拟地址和 1 KB 页大小的系统中,使用一级页表进行虚拟到物理地址转换是不切实际的,因为 (GATE CS 2003)
a) 大量的内部碎片
b) 大量的外部碎片
c) 维护页表的大量内存开销
d) 翻译过程中的大量计算开销

答案 (c)
由于页大小太小,它会使页表的大小变大。

Size of page table =
  (total number of page table entries) *(size of a page table entry)

让我们看看页表中有多少条目

Number of entries in page table =
                    (virtual address space size)/(page size)
                    = (2^32)/(2^10) 
                    = 2^22

现在,让我们看看每个条目有多大。

如果物理内存的大小为 512 MB,那么在 512 MB 中寻址一个字节所需的位数为 29。因此,将有 (512MB)/(1KB) = (2^29)/(2^10) 个页面帧物理内存。寻址一个页框需要 19 位。因此,页表中的每个条目都需要有 19 位。

Note that page table entry also holds auxiliary information about the page such 
as a present bit, a dirty or modified bit, address space or process ID information, 
amongst others. So size of page table 
    > (total number of page table entries) *(size of a page table entry)
    > (2^22 *19) bytes
    > 9.5 MB

每个进程都需要这么多内存,因为每个进程都维护自己的页表。此外,物理内存超过 512MB 时,页表的大小会更大。因此,对于此类场景,建议使用多级页表。

参考:
http://barbara.stattenfield.org/ta/cs162/section-notes/sec8.txt
http://en.wikipedia.org/wiki/Page_table

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