`
emowuyi
  • 浏览: 1477839 次
文章分类
社区版块
存档分类
最新评论

linux内存管理概述

 
阅读更多

linux内存管理建立在基本的分页机制基础上,在linux内核中RAM的某些部分将会永久的分配给内核,并用来存放内核代码以及静态内核数据结构。RAM的其余部分称为动态内存,这不仅是进程所需的宝贵资源,也是内核本身所需的宝贵资源。实际上,整个系统的性能取决于如何有效地管理动态内存。因此,现在所有多任务操作系统都在经历优化对动态内存的使用,也就是说,尽可能做到当要时分配,不需要时释放。

内存管理是os中最复杂的管理机制之一。linux中采用了很多有效的管理方法,包括页表管理、高端内存(临时映射区、固定映射区、永久映射区、非连续内存区)管理、为减小外部碎片的伙伴系统、为减小内部碎片的slab机制、伙伴系统未建立之前的页面分配制度以及紧急内存管理等等。这些在后面的具体部分会详细进行分析总结。


本来想自己画张图,但当我看到这张图,我决定不画了。这张图来自http://bbs.chinaunix.net/thread-2018659-2-1.html,画的很好,基本上说明了linux内存概况。

分享到:
评论

相关推荐

    内存管理内存管理内存管理

    程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理...

    glibc内存管理ptmalloc源代码分析

    3.2 Ptmalloc内存管理概述 3.2.1 简介 3.2.2 内存管理的设计假设 3.2.3 内存管理数据结构概述 3.2.4 内存分配概述 3.2.5 内存回收概述 3.2.6 配置选项概述 3.2.7 使用注意事项 4. 问题分析及解决 5. 源代码...

    深入分析Linux内核源码.chm

    6.1 Linux的内存管理概述 6.2 Linux内存管理的初始化 6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) ...

    操作系统(内存管理)

    文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半...

    探讨Android内存管理

    在看这篇文章之前,需要Linux内存管理基础,推荐先学习一些Linux内存管理基础知识点,这里我们在做一些应用层的优化工作,但从底层理解一些原理性的知识点,对我们有较大帮助。 主要讨论四点内容: Android 内存管理...

    linux 内核源代码分析

    2.1 Linux内存管理的基本框架 2.2 地址映射的全过程 2.3 几个重要的数据结构和函数 2.4 越界访问 2.5 用户堆栈的扩展 2.6 物理页面的使用和周转 2.7 物理页面的分配 2.8 页面的定期换出 2. 9 页面的...

    LINUX原理与结构

    全书包括Linux概述、平台与工具、引导与初始化、中断处理、时钟管理、物理内存管理、进程管理、虚拟内存管理、互斥与同步、进程间通信、虚拟文件系统、物理文件系统、设备管理、电源管理等十四章,其主要内容已在...

    LINUX系统管理白皮书

    第4章 内存管理 222 4.1 何谓虚拟内存 222 4.2 创建交换空间 222 4.3 交换空间的使用 223 4.4 与其他操作系统共享交换空间 224 4.5 交换空间的分配 224 4.6 缓冲区 225 第5章 引导和关机 227 5.1 概论 227 ...

    Linux操作系统概述PPT教程.pdf

    Linux操作系统的核心是Linux内核,它提供了操作系统的基本功能,如进程管理、内存管理、文件系统和设备驱动程序等。除了内核之外,Linux操作系统还包括大量的用户空间工具和应用程序,如Shell、图形界面、文本编辑器...

    Linux内核源代码情景分析 (上下册 高清非扫描 )

    2.1 Linux内存管理的基本框架 2.2 地址映射的全过程 2.3 几个重要的数据结构和函数 2.4 越界访问 2.5 用户堆栈的扩展 2.6 物理页面的使用和周转 2.7 物理页面的分配 2.8 页面的定期换出 2.9 页面的换入 2.10 内核...

    嵌入式Linux应用开发完全手册.pdf

    第7章 内存管理单元MMU 第8章 NANDFlash控制器 第9章 中断体系结构 第10章 系统时钟和定时器 第11章 通用异步收发器UART 第12章 I*IC接口 第13章 LCD控制器 第14章 ADC和触摸屏接口  第3篇 嵌入式...

    嵌入式Linux应用开发完全手册

    第7章 内存管理单元MMU 第8章 NAND Flash控制器 第9章 中断体系结构 第10章 系统时钟和定时器 第11章 通用异步收发器UART 第12章 I*IC接口 第13章 LCD控制器 第14章 ADC和触摸屏接口 第3篇 嵌入式Linux系统移植篇 ...

    Linux 基础课程课件

    第1章 Linux系统概述 1.1 计算机基础知识 1.2 操作系统的功能 1.3 Linux系统的历史、现状和特点 1.4 Linux系统安装 1.5 安装工具软件和开发软件 1.6 Linux图形环境 第2章 Linux常用命令 ... 5.4 内存管理

    Linux编程--Linux内核

    第2章 内存管理 15 2.1 虚拟内存抽象模型 15 2.1.1 请求调页 17 2.1.2 交换 17 2.1.3 共享虚拟内存 18 2.1.4 物理寻址模式和虚拟寻址模式 18 2.1.5 访问控制 18 2.2 高速缓存 19 2.3 Linux页表 20 2.4 页分配和回收 ...

    边干边学——LINUX内核指导

    7. 2 Linux虚拟内存管理 7. 3 实例 第8章 进程的同步 8. 1 同步机制 8. 2 Linux中几种同步机制的实现 8. 3 设计我们自己的同步机制 第9章 进程调度 9. 1 进程调度简介 9. 2 进程调度的策略与算法 9. 3 进程调度的...

Global site tag (gtag.js) - Google Analytics