您的位置:首页 > 其它

get_user_pages — 获取用户区进程使用内存的某个页

2012-07-31 21:18 519 查看
int get_user_pages ( struct task_struct * tsk, ///// the task_struct to use for page fault accounting, or NULL if faults are not to be recorded. 一般选择current

struct mm_struct * mm, //// 进程的内存占用结构,如current->mm,

unsigned long start, //// 要获取其页面的起始逻辑地址,它是用户空间使用的一个地址

int nr_pages, //// 要获取的页数

int write, //// 是否要被调用者写入

int force,                 //// 存放获取的 struct page的指针数组 (至少有 nr_pages 指定的长度)

struct page ** pages,            //// 返回各个页对应的struct vm_area_struct,可以传入NULL表示不获取

描述:

获取用户区进程使用内存的某个页(struct page),然后可以在内核区通过kmap_atomic(), kmap()等函数映射到内核区线性地址,从而可以在内核区向其写入数据。

返回得到的pages数目。这有可能比需要的数目要少,如果nr_pages是0或者负数,返回0。如果没有得到pages 那么返回 -errno.

原文链接:
http://www.kernel.org/doc/htmldocs/kernel-api/API-get-user-pages.html

澄清一个get_user_pages的事实

http://blog.csdn.net/dog250/article/details/5303268
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: