
┈┈【理解Linux内存管理】
CHENG Jian
天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。
-
原创 Linux分页机制之分页机制的演变--Linux内存管理(七)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾前面我们讲解了操作系统段式存储管理的主要内容.32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序。虚拟存2016-09-01 20:01:317112
0
-
原创 伙伴系统之伙伴系统概述--Linux内存管理(十五)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-02 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾1.1 Linux内存管理的层次结构Linux把物理内存划分为三个层次来管理 层次 描述 存储节点(Node) CPU被划分为多个节点(no2016-09-03 00:13:1516296
1
-
原创 伙伴系统之避免碎片--Linux内存管理(十六)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-28 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景提要1.1 碎片化问题分页与分段页是信息的物理单位, 分页是为了实现非连续分配, 以便解决内存碎片问题, 或者说分页是由于系统管理的需要. 段是信息的逻辑单位2016-09-28 21:57:258810
0
-
原创 alloc_page分配内存空间--Linux内存管理(十七)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾在内核初始化完成之后, 内存管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法.Linux内核使用二进制伙伴算法来管理和分配物理内2016-09-29 20:27:4014978
1
-
原创 kmalloc分配物理内存与高端内存映射--Linux内存管理(十八)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾1.1 内核映射区尽管vmalloc函数族可用于从高端内存域向内核映射页帧(这些在内核空间中通常是无法直接看到的), 但这并不是这些函数的实际用途.重要2016-09-29 21:08:237215
2
-
原创 高端内存映射之kmap持久内核映射--Linux内存管理(二十)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内核初始化完成之后, 内存管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法.Linux内核使用二进制伙伴算法来管理和分配物理内存页面, 该算2016-09-29 21:21:017164
0
-
原创 高端内存映射之vmalloc分配内存中不连续的页--Linux内存管理(十九)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内核初始化完成之后, 内存管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法.Linux内核使用二进制伙伴算法来管理和分配物理内存页面, 该算2016-09-29 21:17:234951
0
-
原创 高端内存映射之kmap_atomic固定映射--Linux内存管理(二十一)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内核初始化完成之后, 内存管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法.Linux内核使用二进制伙伴算法来管理和分配物理内存页面, 该算2016-09-29 21:26:104856
1
-
原创 深入理解Linux内存管理-之-目录导航
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 内存描述 CSDN GitHub Linux内存描述之概述–Linux内存管理(一) 01-description/01-memory Linux内2016-08-31 14:45:1118432
10
-
原创 slab分配器--Linux内存管理(二十二)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理2 slab分配器2.1 slab分配器每个C程序员都熟悉malloc, 及其在C标准库中的相关函数. 大多数程序分配若干字节内存时. 经常会调用这些函数.内核也必须2016-09-29 22:26:484784
0
-
原创 启动期间的内存管理之build_zonelists初始化备用内存域列表zonelists--Linux内存管理(十三)
日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换2016-09-01 22:31:503996
0
-
原创 启动期间的内存管理之pagging_init初始化分页机制--Linux内存管理(十四)
日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到2016-09-01 21:00:203409
1
-
原创 启动期间的内存管理之bootmem_init初始化内存管理--Linux内存管理(十二)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到2016-09-01 22:23:186027
0
-
原创 Linux分页机制之分页机制的实现详解--Linux内存管理(八)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 [注意] 如果您当前使用的系统并不是linux,或者您的系统中只有一份linux源码,而您又期待能够查看或者检索不同版本的linux源码 可以使用 h2016-09-01 20:08:5115102
3
-
原创 Linux分页机制之概述--Linux内存管理(六)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 分页机制在虚拟内存中,页表是个映射表的概念, 即从进程能理解的线性地址(linear address)映射到存储器上的物理地址(phisical address).2016-09-01 19:46:089703
2
-
原创 Linux内存描述之概述--Linux内存管理(一)
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理参照 链接 内存管理(一)内存模型之Node Linux 内存管理 重要结构体 Bootmem机制 Linux-2.6.32 NUMA架构之内存和调度2016-08-31 13:29:3412520
0
-
原创 Linux内存描述之内存节点node--Linux内存管理(二)
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾前面我们讲到服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)1.1 UMA和NUMA两种模型共享存储型多处理机有两种模型2016-08-31 13:32:2410147
0
-
原创 Linux内存描述之内存页面page--Linux内存管理(四)
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾1.1 UMA和NUMA两种模型共享存储型多处理机有两种模型均匀存储器存取(Uniform-Memory-Access,简称UMA)模型非均匀存储器2016-08-31 14:18:4419383
0
-
原创 Linux内存描述之高端内存--Linux内存管理(五)
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理http://blog.csdn.net/vanbreaker/article/details/75799411 前景回顾前面我们讲到服务器体系(SMP, NUMA, M2016-08-31 14:33:5211672
1
-
原创 启动期间的内存管理之memblock分配器--Linux内存管理(十一)
日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到2016-09-01 20:42:436607
0
-
原创 启动期间的内存管理之初始化过程概述----Linux内存管理(九)
日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换2016-09-01 20:27:5310907
3
-
原创 启动期间的内存管理之引导分配器bootmem--Linux内存管理(十)
日期 内核版本 架构 作者 GitHub CSDN 2016-09-01 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换2016-09-01 20:33:024824
7
-
原创 Linux内存描述之内存区域zone--Linux内存管理(三)
日期 内核版本 架构 作者 GitHub CSDN 2016-08-31 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理1 前景回顾前面我们讲到服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)1.1 UMA和NUMA两种模型共享存储型多处理机有两种模型2016-08-31 14:11:0715411
4