躺平77 2023-09-17 19:22 采纳率: 54.5%
浏览 18

操作系统纯页式存储多级页表机制

在纯页式存储采用多级页表机制,为什么各级页表大小不能超过1个页面 假如说超过一个只要连续存放不就可以了嘛

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-17 19:59
    关注

    引用 皆我百晓生 小程序回复内容作答:
    在纯页式存储中,每个页表项对应一个页面,用来存储物理页框的地址。每个页表项的大小通常是4字节。而一个页面的大小通常是4KB,也就是4096字节。

    如果将多级页表的大小设置为大于1个页面,假设是x个页面,则每个页表项需要x个连续的物理页框来存储。这样会带来一些问题:

    1.物理内存的开销:如果每个页表项需要x个连续的物理页框,那么每个进程的页表所需的物理内存空间将相应增加。比如,一个进程的页表大小为2MB(512个页表项),如果每个页表项大小为2个页面,则该进程的页表就需要1024个连续的物理页框来存储。这将带来较大的物理内存开销。

    2.内存碎片:如果页表项的大小超过1个页面,那么就需要分配连续的物理页框来存储每个页表项,这可能导致一些较小的内存碎片。这些碎片不仅会浪费物理内存空间,还可能导致内存分配算法的复杂性增加,影响内存的利用率和性能。

    因此,为了减小物理内存开销和内存碎片,每个级别的页表大小通常不能超过1个页面,即每个页表项大小通常为4字节。这样就可以更有效地利用物理内存空间,并提高内存的利用率。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月17日