第2章 内存管理:2.3 Linux页表
2007-04-27 21:03
225 查看
2.3 Linux页表:
L i n u x假定系统中有三级页表。所访问的每级页表包含下一级页表的页帧号。图1 - 2 - 3显示
了一个虚拟地址如何被分解成几个字段,每个字段包含一个特定页表的偏移。为了将一个虚
拟地址转换成一个物理地址,处理器必须取出每一个字段的内容,把它变换成包含页表的物
理页的偏移并读出下一级页表的页帧号。这个过程被重复三次,直到包含该虚拟地址的物理
页的页帧号被找到。然后虚拟地址的最后一个字段、字节偏移,被用来查找页中的数据。
L i n u x运行的每一个平台都必须提供转换宏,使得内核可以遍历一个特定进程的页表。这
样,内核不必知道页表项的格式以及它们如何组织。这是一种很成功的方法: L i n u x为A l p h a
处理器提供三级页表,而对Intel x86处理器,只提供两级页表,但使用相同的页表处理代码
L i n u x假定系统中有三级页表。所访问的每级页表包含下一级页表的页帧号。图1 - 2 - 3显示
了一个虚拟地址如何被分解成几个字段,每个字段包含一个特定页表的偏移。为了将一个虚
拟地址转换成一个物理地址,处理器必须取出每一个字段的内容,把它变换成包含页表的物
理页的偏移并读出下一级页表的页帧号。这个过程被重复三次,直到包含该虚拟地址的物理
页的页帧号被找到。然后虚拟地址的最后一个字段、字节偏移,被用来查找页中的数据。
L i n u x运行的每一个平台都必须提供转换宏,使得内核可以遍历一个特定进程的页表。这
样,内核不必知道页表项的格式以及它们如何组织。这是一种很成功的方法: L i n u x为A l p h a
处理器提供三级页表,而对Intel x86处理器,只提供两级页表,但使用相同的页表处理代码
相关文章推荐
- Linux内存管理 (2)页表的映射过程
- Linux 内存管理浅析 - 页面映射管理之页表管理
- linux 内核 内存管理 初始化 页表
- arm-linux内存管理学习笔记(1)-内存页表的硬件原理
- arm-linux内存管理学习笔记(3)-页表前戏
- arm-linux内存管理学习笔记(1)-内存页表的硬件原理
- Linux 内存管理浅析 - 页面映射管理之页表简介
- linux内存管理之页表
- arm-linux内存管理学习笔记(2)-内核临时页表的建立
- linux内存管理解析----linux物理,线性内存布局及页表的初始化
- Linux内存管理和分析vmalloc使用的地址范围
- linux将虚拟地址转物理地址的过程探索[页表]
- Linux 3.x 内核学习笔记——x86 64位内存管理
- 图解 Linux 内存管理 -- 线性空间与物理内存
- 今晚9点:Linux内存管理的meltdown漏洞修复、usr/kernel安全等微课(2018.3.28晚)
- Linux内存管理原理
- linux内存管理概述
- linux内核内存管理学习笔记
- linux内存管理之活动内存区