关闭

Notes on Understanding the Linux Kernel

76人阅读 评论(0) 收藏 举报
分类:

这个markdown编辑器问题大
并没有自动保存草稿的功能
切换编辑器后,之前码的字全都不见了
WTF!

第六章 内存管理

RAM的一部分被永久分配给内核来存放内核代码以及静态数据结构。另一部分称作动态内存,这是进程以及内核都需要的资源。整个系统的性能取决于如何有效的管理动态内存。
通过三部分来介绍内核如何给自己分配动态内存。
页框管理和内存管理两节分别介绍的是两种对连续物理内存去处理的技术。
非连续内存区管理一节介绍了第三种技术:处理不连续的内存区。


页框管理

Linux采用4KB的页框大小作为标准的内存分配单元。原因是

  • 分页单元可以自动检测正在被访问的页是否包含在某个页框中,每个页框是受硬件保护的。选用4KB作为分配单元,内核可以确定发生缺页异常的页的位置。

MARKDOWN弄丢了我的笔记

内存区管理

slab分配器

  • 所存放的数据类型可影响如何分配内存区。
    • slab分配器的概念将内存看作对象,由一组数据结构和几个叫做构造和析构的函数和方法组成,前者初始化内存区,后者回收内存区。
    • 为了避免重复初始化对象,slab分配器并不会丢弃已分配的对象,而是释放把它们保存在内存中。当以后又要请求新的对象时,就可以从内存获取而不用重新初始化。
    • 实际上,Linux对内存区的处理并不需要进行初始化或者回收,
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15191次
    • 积分:791
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:34篇
    • 译文:11篇
    • 评论:3条