- 1
- 0
- 约7.74千字
- 约 63页
- 2017-06-07 发布于河南
- 举报
linux代码导读-内存管理
xlanchen@2008.4.18 Linux操作系统源代码分析导读 Linux内核源代码导读 中国科学技术大学计算机系 陈香兰(0551-3606864) xlanchen@ustc.edu.cn Spring 2009 内存管理 内存管理 动态存储器 Slab算法 非连续存储区 内存管理 RAM的某些部分永久地分配给内核,用以存放内核代码以及静态数据 RAM的其余部分称为动态存储器(dynamic memory) 动态存储器 进程和内核都需要动态存储器 属于稀缺资源 整个系统的性能取决于如何有效地管理动态存储器 对于动态存储器要尽可能做到: 按需分配,不需要时释放 页框管理 Linux采用页作为内存管理的基本单位 Linux采用的标准的页框大小为4KB 4KB是大多数磁盘块大小的倍数 传输效率高 管理方便 不考虑PSE,PAE 例如:512M的物理内存对应于128K个页框 算法:伙伴算法 请求页框 内核实现了一种底层的内存分配机制,并提供了几个接口供其他内核函数调用。 分配: alloc_pages/alloc_page __get_free_pages/__get_free_page/__get_dma_pages/get_zeroed_page 释放 free_pages/__free_pages/free_page__free_page 页框数据结构 内核必须记
原创力文档

文档评论(0)