在纯页式存储采用多级页表机制,为什么各级页表大小不能超过1个页面 假如说超过一个只要连续存放不就可以了嘛
2条回答 默认 最新
关注引用 皆我百晓生 小程序回复内容作答:
在纯页式存储中,每个页表项对应一个页面,用来存储物理页框的地址。每个页表项的大小通常是4字节。而一个页面的大小通常是4KB,也就是4096字节。如果将多级页表的大小设置为大于1个页面,假设是x个页面,则每个页表项需要x个连续的物理页框来存储。这样会带来一些问题:
1.物理内存的开销:如果每个页表项需要x个连续的物理页框,那么每个进程的页表所需的物理内存空间将相应增加。比如,一个进程的页表大小为2MB(512个页表项),如果每个页表项大小为2个页面,则该进程的页表就需要1024个连续的物理页框来存储。这将带来较大的物理内存开销。
2.内存碎片:如果页表项的大小超过1个页面,那么就需要分配连续的物理页框来存储每个页表项,这可能导致一些较小的内存碎片。这些碎片不仅会浪费物理内存空间,还可能导致内存分配算法的复杂性增加,影响内存的利用率和性能。
因此,为了减小物理内存开销和内存碎片,每个级别的页表大小通常不能超过1个页面,即每个页表项大小通常为4字节。这样就可以更有效地利用物理内存空间,并提高内存的利用率。
解决 无用评论 打赏 举报