linux常用的内存分配接口
来源:互联网 发布:php制作软件 编辑:程序博客网 时间:2024/06/14 09:46
void * kmalloc(size_t size, gfp_t flags);
该接口返回至少size字节的物理连续的内存空间。用法和c语言malloc函数一样。
当然还有类似free的内存释放函数
void kfree(const void *ptr);
内核还提供vmalloc函数,用法和kmalloc一样,唯一的不同的vmalloc不保证分配的内存是物理连续的。
怎么选择用哪个分配函数呢?大多数情况下,我们需要分配的内存并没有需要是物理连续的,除了外设操作的内存需要内存连续,因为对很多外设来说并没有逻辑内存的概念,他只能看到和操作物理内存。其他情况下,我们并没有一定要使用连续物理内存的需要。然而事实是,大多是情况下,内核中还是使用kmalloc来分配内存,这基本上是基于效率考虑。因为vmalloc调用为了使不连续物理内存的逻辑地址连续会有很多附加对页表的操作,所以除了必须(需要使用相当大的内存空间),一般情况直接使用kmalloc函数。
0 0
- linux常用的内存分配接口
- Linux 驱动开发中常用的内存分配方法浅析
- linux 常用内存分配函数小结
- 关于linux的内存分配
- Linux 内存的延迟分配
- Unix/Linux的内存分配
- Linux C 的内存分配
- Linux系统的内存分配
- Linux下的内存分配
- Linux下的内存分配
- DMA分配内存常用的几个函数
- 常用知识——linux内核中常见的内存分配方法
- Linux常用内核态内存分配方式总结
- Linux常用内核态内存分配方式总结
- Linux常用内核态内存分配方式总结
- .常见的Linux内核中内存分配
- linux 与windows的内存分配
- linux内核中内存的分配
- 基于USB总线的无线网卡驱动程序
- eclipse优化设置(三)
- 【动态更新】优秀博客记录
- Linux 和 Win7双系统 的 硬盘安装方法
- Debian 安装sun jdk的命令行方法
- linux常用的内存分配接口
- 只想说说最近的生活
- x86:用DOS功能调用实现简单输入输出
- http://ftp.vim.org/pub/ftp/os/FreeBSD/ports/local-distfiles/jkim/
- ARM入门指引
- Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解
- 程序员快乐才能更好的工作
- Observer(观察者)
- eclipse优化设置(四)