Linux-0.11内核源码分析系列:内存管理try_to_share()与share_page()函数分析

本文是Linux-0.11内核源码分析的一部分,主要聚焦于内存管理的try_to_share()和share_page()函数。这两个函数用于检查并尝试将进程中的页面进行共享,确保页面是干净且存在的,并处理页表项。文章详细解释了函数的实现逻辑,包括页目录项、页表项的管理和物理地址的检查。
摘要由CSDN通过智能技术生成
/*   
 *Author  : DavidLin   
 *Date    : 2014-11-22pm   
 *Email   : linpeng1577@163.com or linpeng1577@gmail.com   
 *world   : the city of SZ, in China   
 *Ver     : 000.000.001   
 *history :     editor      time            do   
 *          1)LinPeng       2014-11-22      created this file!   
 *          2)   
 */ 
<pre name="code" class="plain">/*
 * try_to_share()检查进程P中地址”address"是否存在
 * 如果存在且是没有被污染的页面,将该页面与当前进程共享
 *
 * 注意,前提条件是进程p不是当前进程,而且它们共享同样的执行文件
 */

/*
 * try_to_share() checks the page at address "address" in the task "p",
 * to see if it exists, and if it is clean. If so, share it with the current
 * task.
 *
 * NOTE! This assumes we have checked that p != current, and that they
 * share the same executable.
 */
static int try_to_share(unsigned long address, struct task_struct * p)
{
	unsigned long from;         //管理源页表
	unsigned long to;           //管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值