未被使用的内层页表是否存储在磁盘(如SSD)中?
关于多级分页内层页表存储的解答
你的理解完全正确:多级分页架构中,顶级页表(或最外层页表)会始终驻留在内存,用来索引后续的内层页表;而内层页表则不需要长期占用内存,只有在实际需要进行地址转换时才会被加载。
针对你的问题:这些内层页表确实是存储在SSD、HDD等磁盘存储设备中的,属于进程虚拟地址空间的一部分(通常和进程的其他数据、代码存放在同一磁盘分区的交换空间或进程镜像文件里)。当CPU进行地址转换,发现顶级页表指向的内层页表不在内存中时,会触发页错误中断,此时操作系统会负责将对应的内层页表页从磁盘读取到内存的空闲页框中,同时更新顶级页表中对应的条目,指向内存中的这个页表页,之后CPU会重新尝试执行地址转换操作。
这种机制的核心目的就是通过“按需加载”,避免把动辄几GB甚至更大的完整页表全部常驻内存,极大节省了系统的内存资源。
内容的提问来源于stack exchange,提问作者user14598214
相关产品推荐
相关产品推荐

