Linux 内存管理学习笔记

Linux内存采用保护模式的flat模型,即绕过了Intel的段式内存管理,体现在所有进程的段选择子均指向GDT,而GDT中有用的只有四项:

 代码如下 复制代码
.quad 0x00cf9a000000ffff /* 0x10 kernel 4GB code at 0x00000000 */
.quad 0x00cf92000000ffff /* 0x18 kernel 4GB data at 0x00000000 */
.quad 0x00cffa000000ffff /* 0x23 user 4GB code at 0x00000000 */
.quad 0x00cff2000000ffff /* 0x2b user 4GB data at 0x00000000 */

每一项一个段描述子的base均为0,大小均为4G,只有权限的区别。
也就说linux中虚拟地址经过段式管理的映射变成线性地址后,数值上不变的。
Linux真正的内存管理是基于页式管理的,在两级页表的情况下:线性地址的高10位为pgd的下标用于定位页表,中间10位为pt的下标用于定位页表项,低12位为页偏移地址。

 

时间: 2024-08-03 14:13:37

Linux 内存管理学习笔记的相关文章

Linux内存管理学习笔记--概述

随着要维护的服务器增多,遇到的各种稀奇古怪的问题也会增多,要想彻底解决这些"小"问题往往需要更深的Linux方面的知识.越专业.分工越细的工程师,在这方面的要求也就越高.这次,对MySQL Swap的问题的探索过程,就一不小心掉进了Linux Memory Managemant(Linux MM)的研究中去了,爬了很久才出来,这里做一个系列笔记. 笔记中很多内容都是参考<Understanding the Linux Kernel, 3rd Edition>.Linux S

Linux内存管理学习笔记--物理内存分配

每次深入了解一个技术问题,随着挖据的深入,都发现其背后总非常深的背景知识,甚至需要深入到很多底层系统,这个过程有时会让自己迷失,会让自己忘了当初的目的. 在前篇中介绍系统启动时内存的使用情况,本篇将介绍简要Linux如何接管主机的物理内存.组织内存,最后会较为详细的介绍Linux分配内存的一段代码. 前面说了,Linux MM系统细节非常多,自己在探究的时候,也是尝试尽量抓住主线,这里也只能抽取了一些"主线剧情"介绍,其中还可以扩展出很多细节,看客感兴趣可以自己深究,后续如果兴趣还在,

C++内存管理学习笔记(7)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com    /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9178099 /**********************

C++内存管理学习笔记(5)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com  /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9112123 /************************

C++内存管理学习笔记(6)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com    /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9120635 /**********************

C++内存管理学习笔记(3)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com    /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9078965 /**********************

c++内存管理学习笔记结束语

         刚开学学习内存管理这一块时,发现需要对一些知识需要做一些笔记,打算向以前学习的方式一样,写在纸上,鉴于以前自己笔记的莫名的丢失,所以就打算发在了博客上.写在博客上有这么几个好处, 一是互联网上的学习资源很丰富,随时可以查找学习:二是利用博客的形式来做笔记能够与其他学习者分享.互相讨论.互相学习(虽然目前评论数不多-.):三是博客内容不容易丢失,除非哪天csdn说不做了,哈哈.        在学习过程中,我读了很对的相关书籍和文献,以及网上其他人的优秀博客.其中那些精辟到位的技

C++内存管理学习笔记(4)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com    /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9094793 /**********************

C++内存管理学习笔记(1)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com    /* Welcome>晓的博客:zhangxiaolong.org  /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/deta