标签: linux-kernel
我读过“理解linux内核”一书,关于地址转换的主题让我很困惑。 Book说每个线性地址有三个字段:Directory,Table和Offset。目录字段与目录表相关,而表字段与页表相关。
它没有指出,或者我可能会遗漏的一件事是表中的每个条目是否与页面相关,该页面是一组线性地址,还是与单个线性地址相关。
有人可以帮助我吗?
答案 0 :(得分:1)
好的,所以(至少)有两种类型的页表:单级和多级。
单级页表的条目直接映射到虚拟地址。
多级页表的条目可以映射到两个不同的位置:
他们可能会映射到二级(或三级等)页面表
以下是多级页表的示例:
请记住,每个页表条目都包含一个虚拟地址。操作系统有责任将虚拟地址转换为物理地址(其优点超出了此特定主题)。
大多数寻呼系统还维护一个帧表,用于跟踪已使用和未使用的帧。传统上,帧表是与页表不同的数据结构。
您可以阅读有关分页表here的更多信息。 您可以阅读有关页表here的信息。