码迷,mamicode.com
首页 > 系统相关 > 详细

Linux内核内存管理子系统分析【转】

时间:2017-01-06 09:22:44      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:linux内存管理   分析   bsp   term   寄存器   fill   处理器   lib   物理地址   

本文转载自:http://blog.csdn.net/coding__madman/article/details/51298718

还是那张熟悉的老图:Linux内核子系统简介(由七个部分组成)

技术分享

Linux内存管理模型:

 

技术分享

1. 内存管子系统职能:

    1>  管理虚拟地址与物理地址的映射

    2>  管理物理内存的分配

2. 地址映射管理

    1> 虚拟地址空间分布:

      linux采用的是一种虚拟地址的管理方式,对于一个32位的处理器对于的内存空间为4G,其中0到3G是用户空间,       从3G到4G是内核空间,而内核空间从下图中可以看出被分为了四个部分:直接映射区,vmalloc区,永久映射             区,以及固定映射区

    2> 虚拟地址转化为物理地址:

      一个32位的虚拟地址是如何转化为物理地址的:看下图所代表的意义,第一步首先取虚拟地址的高十位作为一个         偏移,CR3寄存器作为一个基地址。相加后就可以从页目录中得到一个地址,这个地址会指向一个页表,页表的基         地址加上中间的十位就可以得到物理页的基地址,然后再加上页内的偏移,也就是低12位,就得到了实际的物理          地址!

技术分享

技术分享

896M以上的内存叫做高端内存,896M一下的内存叫做低端内存!

3. 物理内存分配

技术分享

Linux内核内存管理子系统分析【转】

标签:linux内存管理   分析   bsp   term   寄存器   fill   处理器   lib   物理地址   

原文地址:http://www.cnblogs.com/zzb-Dream-90Time/p/6254912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!