您的位置:首页 > 运维架构 > Linux

Linux源码学习(7) 2013-3-1

2015-07-07 20:03 405 查看

Linux源码学习(7) 2013-3-1

空间

内存管理Memory.c

主要用于内存分页管理。实现对主内存页面的动态分配和回收

Linux通过一个字节数组来管理所有的物理页面。每个字节用来表示其对应的物理页面被占用的次数



1. invalidate宏 :通过重新赋值CR3寄存的方法使CPU缓存的页表数据刷新。用于页表相关属性变化时

2. CODE_SPACE(addr)宏:判断addr是否位于当前进程的代码段

3. copy_page(from,to)宏 :复制一页内存

4. unsigned long get_free_page(void)函数:获取一个空闲的物理页,返回物理页起始地址

5. void free_page(unsigned long addr)函数:释放一个物理页

6. int free_page_tables(unsigned long from,unsigned long size)函数:释放线性地址from所对应的size个页表大小的内存。一个页表对应4M内存

7. int copy_page_table(unsigned long from,unsigned to, long size)函数:复制指定线性地址和长度的页目录表项和页表项。大小为字节

收藏于 2013-03-01
来自于百度空间
文章有问题?点击这里反馈给我们
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: