设为首页 加入收藏

TOP

Linux内核模块内存申请与释放
2014-11-23 23:26:55 来源: 作者: 【 】 浏览:12
Tags:Linux 内核 模块 内存 申请 释放

Linux申请内存:


void *kmalloc(size_t size, int flags)


kmalloc函数和malloc函数相似,它有两个参数,一个参数是size,即申请内存块的大小,这个参数比较简单,就像malloc中的参数一样。第二个参数是一个标志,在里面可以指定优先权之类的信息。在Linux中,有以下的一些优先权:


GFP_KERNEL,它的意思是该内存分配是由运行在内核模式的进程调用的,即当内存低于min_free_pages的时候可以让该进程进入睡眠;


GFP_ATOMIC,原子性的内存分配允许在实际内存低于min_free_pages时继续分配内存给进程。


GFP_DMA:此标志位需要和GFP_KERNEL、GFP_ATOMIC等一起使用,用来申请用于直接内存访问的内存页。


释放:


Kfree(const void *objp) const void *objp=为需要释放的内存空间指针。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Ubuntu free以及Linux内存占用大.. 下一篇编程时慎用“\”为路径分隔符

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: