linux页表pgd的含义
来源:互联网 发布:计算机 数学 知乎 编辑:程序博客网 时间:2024/05/17 15:21
pgd
PGD: Page Global Directory
Linux系统中每个进程对应用户空间的pgd是不一样的,但是linux内核 的pgd是一样的。当创建一个新的进程时,都要为新进程创建一个新的页面目录PGD,并从内核的页面目录swapper_pg_dir中复制内核区间页面目录项至新建进程页面目录PGD的相应位置,具体过程如下:
do_fork() --> copy_mm() --> mm_init() --> pgd_alloc() --> set_pgd_fast() --> get_pgd_slow() --> memcpy(&PGD + USER_PTRS_PER_PGD, swapper_pg_dir +USER_PTRS_PER_PGD, (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t))
这样一来,每个进程的页面目录就分成了两部分,第一部分为“用户空间”,用来映射其整个进程空间(0x0000 0000-0xBFFF FFFF)即3G字节的虚拟地址;第二部分为“系统空间”,用来映射(0xC000 0000-0xFFFF FFFF)1G字节的虚拟地址。可以看出Linux系统中每个进程的页面目录的第二部分是相同的,所以从进程的角度来看,每个进程有4G字节的虚拟空间,较低的3G字节是自己的用户空间,最高的1G字节则为与所有进程以及内核共享的系统空间。每个进程有它自己的PGD( Page Global Directory),它是一个物理页,并包含一个pgd_t数组。
2,
PTE: 页表项(page table entry)
l PGD(Page Global Directory)
l PUD(Page Upper Directory)
l PMD(Page Middle Directory)
l PT(Page Table)
PGD中包含若干PUD的地址,PUD中包含若干PMD的地址,PMD中又包含若干PT的地址。每一个页表项指向一个页框
l PGD(Page Global Directory)
l PUD(Page Upper Directory)
l PMD(Page Middle Directory)
l PT(Page Table)
PGD中包含若干PUD的地址,PUD中包含若干PMD的地址,PMD中又包含若干PT的地址。每一个页表项指向一个页框
0 0
- linux页表pgd的含义
- 用户进程&内核线程的内核空间的pgd
- Linux的目录含义
- linux数据的含义
- Linux的目录含义
- linux THIS_MODULE 的含义
- linux中挂载的含义
- Linux中挂载点的含义
- linux下的$含义
- Linux下~,./的含义
- linux权限的含义
- linux 文件颜色的含义
- linux 各个文件夹的含义
- linux 文件颜色的含义
- linux 文件颜色的含义
- Linux的文件目录含义
- linux errno 值的含义
- linux 文件颜色的含义
- HDU 5071 Chat!
- 解题思路
- WebService大讲堂之Axis2(8):异步调用WebService
- pat 1036. Boys vs Girls (25)
- winPython科学计算平台及NeuroLab库的安装与配置
- linux页表pgd的含义
- WebService的两种方式SOAP和REST比较
- final finally 和 finalize的区别
- poj1562 Oil Deposits(简单的深搜)
- prepareCall()执行存储过程
- Leetcode: Lowest Common Ancestor of a Binary Tree
- ubuntu 下解决“no java virtual machine was found after searching the following locations:” 方法
- struts拦截器
- 鼠标悬停在按钮上延时响应OnMouseHover、OnMouseMove和OnMouseLeave