关于linux永久内核映射思想的阐述

进程是运行在虚拟空间,全部的内存请求返回的都是虚拟地址。实际上在我本身的理解来看,寻址的过程就是在寻找页表。在linux中,对于32位系统,不管是开启仍是未开启PAE都是把前896M的页框映射到内核空间,也就是在创建分页阶段,根据页框号(从0号页框开始)和权限合成了页表,而后逐一写进页表项中,所以,此时创建了一一映射的关系,所以此部分线性地址变化就能够直接访问页表得到物理地址。那么剩余的128M留作动态重映射,映射更多的地址。今天就来说讲这128M内的永久内核映射部分。linux

文章开始已经说了,进程须要的是虚拟地址,而对于高端内存页框在分页初期并未创建映射,也就是说,并未对高端内存页框创建页表,因此也没有写进页表项。因此此时返回线性地址没有什么意义,也不可能返回线性地址。所以最重要的矛盾付出水面了——就是为高端内存页框到线性地址创建映射。进程

在主内核页全局目录中有一个专门的目录项,它指向的1024个页表项只能被写进永久内核映射而创建的页表。内存

相关文章
相关标签/搜索