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

找人一些研究linux内核,呵呵

2012-05-25 18:23 127 查看
自己建了一个QQ群,群号215614748。主要讨论linux0.11内核学习,目前自己在学习中,愿跟有兴趣、喜欢讨论的童鞋共同学习提高

get_empty_page和get_free_page函数的区别:

get_free_page函数仅仅是在主内存区找到一页空闲物理内存,分析get_free_page内部代码可知,get_free_page实际上是通过遍历mem_map数组,从最后一项开始找到引用次数为0的第一个mem_map项目,然后返回其物理地址。注意,返回的是物理地址。

get_empty_page函数在主内存区注册一页空闲物理内存,并将这块物理内存与参数address线性地址页面挂接起来。分析代码可知,实际上get_empty_page函数在内部是通过调用get_free_page函数和put_page函数来实现的(并且考虑了oom的情况)。

对于一个进程来说,get_empty_page可以帮他的一个线性地址address挂接一个空闲物理内存页面,是很有用的。但是get_free_page对于进程并没有直接的作用,所以get_free_page和put_page函数实际上都是一些底层函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: