谁能简洁明了地解释一下什么是多级页表(操作系统问题)?最好用形象的比喻,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:03:31
我明白你讲什么?但是你好像什么都没有看就在那里说?拜托你看我问什么

简单明了的形象的比喻是:
多级页表就好比多级目录,比如教材,都是先分章,每章再分节,这个就是多级页表的思想。页表不是直接就是页表项的一个大数组,而是先是一级页目录,然后每个目录项存放的是页表的首地址。就好比,先是章目录,然后每个章目录告诉你章的节目录在那里。(Windows x86架构下就是用的两级页表)。

假如使用4 KB的页,那么对于4 GB的线性空间,则需要1,048,576个页表实体,每个表项占用4个字节

,则需要4,194,304个字节。仅仅页表就占用4 MB空间,这是一个很大的需求。但如果确确实实一个进程

需要使用全部线性空间的话,那么这4 MB的页表空间投入也是必要的。

但在现实中,很少有那个程序需要使用这么大空间,一般的程序往往很小,从几KB到几MB,再使用这么

大的页表就纯粹是一种浪费。那我们该怎么办?”

对于很小的程序,如16KB,按虚拟地址空间划分为4页,每页4KB,怎么叫浪费?还是我对页表理解错误?