struct vm_area_struct结构体学习

Linux通过类型为vm_area_struct的结构体对象实现线性区,该结构定义了内存VMM内存区域。 每个VM区域/任务中有一个。 VM区域是进程虚拟内存空间的任何部分,它具有页面错误处理程序的特殊规则(即共享库,可执行区域等)。

vm_area_struct具体内容如下所示:

struct vm_area_struct {
	/* The first cache line has the info for VMA tree walking. 
	第一个缓存行具有VMA树移动的信息*/

	unsigned long vm_start;		/* Our start address within vm_mm. */
	unsigned long vm_end;		/* The first byte after our end address within vm_mm. */

	/* linked list of VM areas per task, sorted by address
	每个任务的VM区域的链接列表,按地址排序*/
	struct vm_area_struct *vm_next, *vm_prev;

	struct rb_node vm_rb;

	/*
	 此VMA左侧最大的可用内存间隙(以字节为单位)。 
	 在此VMA和vma-> vm_prev之间,
	 或者在VMA rbtree中我们下面的一个VMA与其->vm_prev之间。 
	 这有助于get_unmapped_area找到合适大小的空闲区域。
	 */
	unsigned long rb_subtree_gap;

	/* Second cache line starts here. 
	第二个缓存行从这里开始*/

	struct mm_struct *vm_mm;	/* 我们所属的address space*/
	pgprot_t vm_page_prot;		/* 此VMA的访问权限 */
	unsigned long vm_flags;		/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值