E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
vmalloc
Kernel那些事儿之内存管理(13) --- 内核映射(下)
今天讲一下第三种机制:非连续内存分配,也就是
vmalloc
。这个机制同样可以使Kernel能够访问到高端内存,不过这不是该机制的主要目的。该机制的主要目的是:把物理上不连续的页面映射到连续的内核线性
RunnerRichard
·
2015-08-12 18:46
linux
kernel
内存管理
经典linux内核面试题
8)
vmalloc
()申请的内存有什么特点?9)用户程序使用malloc()申请到的内存空间在什么范围
qisefengzheng
·
2015-08-10 16:00
关于kmalloc
vmalloc
和malloc
可网上不少人以为malloc在内核态的调用函数是kmalloc或
vmalloc
,这是不对的kmalloc是基于slab的,它在通用缓存区申请分配内存(这些缓存用于分配和释放不是很频繁的请求),通用缓存区一共
梦中人在做梦
·
2015-07-24 18:00
内核中的内存申请
在内核模块中申请分配内存需要使用内核中的专用API:kmalloc、
vmalloc
、kzalloc、kcalloc、get_free_pages;当然,设备驱动程序也不例外;对于提供了MMU功能的处理器而言
xhh4u
·
2015-06-22 21:25
linux
程序
虚拟内存
处理器
管理系统
内核态用
vmalloc
申请大块内存
内核态用
vmalloc
申请大块内存 本文欢迎自由转载,请标明出处,并保证本文的完整性。经常在内核版看到网友发帖,问如何在内核态申请大块内存,上百兆甚至上G的内存。
sanmaoljh
·
2015-06-09 11:00
linux内存管理之malloc
对于内核的内存管理,像kmalloc,
vmalloc
,kmap,ioremap等比较熟悉。而对用户层的管理机制不是很熟悉,下面就从malloc的实现入手.
kai8wei
·
2015-04-26 23:00
linux设备驱动--globalmem字符设备框架分析
1.设备驱动开发详解-globalmem字符设备框架分析(支持2个设备) 目录: 1.globalmem流程图 2.源码 3.分析1)MKDEV2)kmalloc和
vmalloc
xiaobaiing
·
2015-04-26 09:00
程序员
实例
驱动开发
关于linux的几道题,你能回答几个?
4.kmalloc和
vmalloc
差别?5.应用层的mmap和内核态的
vmalloc
对内存访问的差别?6.用户态是否可以直接访问内核态内存?7.PCIe中MSI中断如何触发?
xiangpingli
·
2015-03-16 23:00
嵌入式Linux C笔试题积累 .
kmalloc和
vmalloc
的区别:kmalloc和
vmalloc
是分配的是内核的内存,malloc分配的是用户的内存kmalloc保证分配的内存在物理上是连续的,
vmalloc
保证的是在虚拟地址空间上的连续
vasvas
·
2015-03-10 15:00
Linux内存管理(4) - 不连续页的分配
vmalloc
本文目的在于分析Linux内核中的
vmalloc
函数。内核版本为2.6.31。我们知道物理上连续的映射对内核是最好的,但不是总能成功。在分配一大块内存时,可能无法找到连续的内存块。
jasonchen_gbd
·
2015-03-02 21:00
linux
kernel
内存管理
vmalloc
内核的几个内存动态申请函数
在内核空间常用的内存获取函数:kmalloc,get_free_page申请的内存在物理上连续;
vmalloc
申请的内存在物理上不连续
xmzzy2012
·
2015-02-26 08:00
Slab分配机制
http://oss.org.cn/kernel-book/ch06/6.3.3.htmslab分配机制包括:kmalloc(通用缓冲区)、
vmalloc
(非连续内存管理)、页高速缓存(专用缓冲区)、内存池
hot_zcy2012
·
2015-02-02 14:00
内存
kernel
缓存
Linux内核地址空间分布和进程地址空间
动态内存映射区:该区域由内核函数
vmalloc
来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。
vmalloc
分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。
michaelcao1980
·
2015-01-30 16:00
Qualcomm MSM ION
Android4.1ION基本概念ION概念:ION是Google的下一代内存管理器,用来支持不同的内存分配机制,如CARVOUT(PMEM),物理连续内存(kmalloc),虚拟地址连续但物理不连续内存(
vmalloc
Jerikc
·
2015-01-14 17:00
ion
写在2014年的感恩节
Vmalloc
和kmalloc能够申请的最大值。3,描述中断系统。软中断是线程级别还是进程级别。4,内核的几种锁机制。5,如何获得某个设备号。
koffuxu
·
2014-11-27 23:00
面试
腾讯
工程师
嵌入式软件
kmalloc、
vmalloc
、malloc的区别
简单的说:kmalloc和
vmalloc
是分配的是内核的内存,malloc分配的是用户的内存kmalloc保证分配的内存在物理上是连续的,
vmalloc
保证的是在虚拟地址空间上的连续,malloc不保证任何东西
yipie
·
2014-10-11 14:00
内存管理
内核
Linux内核--内核地址空间分布和进程地址空间
动态内存映射区:该区域由内核函数
vmalloc
来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。
vmalloc
分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。永久内存映
liuxd3000
·
2014-10-08 11:00
linux内存管理之malloc、
vmalloc
、kmalloc的区别
1、kmalloc和
vmalloc
是分配的是内核的内存,malloc分配的是用户的内存2、kmalloc保证分配的内存在物理上是连续的,内存只有在要被DMA访问的时候才需要物理上连续,malloc和
vmalloc
fangjian1204
·
2014-10-02 21:00
malloc
内存管理
linux内核
kmalloc
vmalloc
内存管理部分的几点思考
整理人:zhoumo一、内存分配路径上面的这张图片来自国嵌,很好的把内存管理这四个章节的内容概括了出来,上图显示出了三条内存分配路径:1、用户空间的内存分配2、Kmalloc使用slab内存分配3、
vmalloc
da310blog
·
2014-09-23 10:58
camera的测试程序-预览的保存
capabilitycap; intdev,ret; dev=open(devname,O_RDWR); if(devplanes[plane].mem_priv=mem_priv;//mem_priv即为vb2_
vmalloc
_alloc
xiaojsj111
·
2014-08-28 11:00
linux
Camera
Linux内核剖析 之 进程地址空间(一)
使用
vmalloc
或
vmalloc
_32获取一块非连续内存区。 如果申请的内存得以满足,这些函数返回一个页描述符地址或线性
zhaobryant
·
2014-08-02 17:00
linux内核
进程空间
Linux驱动经典面试题目
1、 linux驱动分类2、 信号量与自旋锁3、 platform总线设备及总线设备如何编写4、 kmalloc和
vmalloc
的区别5、 module_init的级别6、 添加驱动7、 IIC原理,总线框架
wu20093346
·
2014-07-27 22:00
linux
面试
driver
题目
linux驱动面试题目汇总
1、linux驱动分类2、信号量与自旋锁3、platform总线设备及总线设备如何编写4、kmalloc和
vmalloc
的区别5、module_init的级别6、添加驱动7、IIC原理,总线框架,设备编写方法
yongbudl2012
·
2014-07-07 08:00
usb
LINUX内核经典面试题(转)
8)
vmalloc
()申请的内存有什么特点?9)用户程序使用malloc()申请到的内存空间在什么范围
ustbgaofan
·
2014-07-02 15:00
kernel
vmalloc
分配高端物理内存
由
vmalloc
()分配的内存线性地址空间在
VMALLOC
_START之上,并且其分配的物理内存也是在896M之上的高端内存中的。
fivedoumi
·
2014-06-17 14:00
内核缺页异常处理
在访问内核地址空间时,缺页异常可能被各种条件出发,如下所述:内核本身的程序设计错误导致访问不正确的地址,这个在稳定版本中永远不会发生,在开发版本中偶尔会发生内核通过用户空间传递的参数访问了无效地址访问使用
vmalloc
ctoday
·
2014-05-09 18:06
内存管理
vmalloc
当buddy系统还有大量的连续物理内存时,我们可以通过__pages_alloc成功分配很大的一块连续物理内存空间,随着系统运行时间加长,buddy系统内很难中找到一块大的连续物理内存空间,因此__pages_alloc可能会失败,即便通过kswapd进行页面的回收和交换,buddy仍然不可避免的碎片化首先我们要明确的是,连续物理内存的分配并不是必要的。对于大部分DMA操作,我们的确需要连续的物
luckywang1103
·
2014-04-23 16:00
ION概念
MSM8X25Qcodebase:Android4.1ION概念: ION是Google的下一代内存管理器,用来支持不同的内存分配机制,如CARVOUT(PMEM),物理连续内存(kmalloc),虚拟地址连续但物理不连续内存(
vmalloc
TopicDev
·
2014-04-18 10:00
Linux内存管理相关函数
vmalloc
():虚拟内存空间为连续的内存区,物理内存上也不一定连续,也没有简单的换算关系 slab与内存池:kmem_c
李三毛929
·
2014-04-13 20:37
linux
内存管理
内存函数
用户空间存取内核空间
针对linux内核的几种不同的内存分配方式(kmalloc、
vmalloc
和ioremap),需要进行不同的处理。关于这个话题,前面已有文章论述了,>也专
wocao1226
·
2014-04-11 17:00
linux常用的内存分配接口
当然还有类似free的内存释放函数voidkfree(constvoid*ptr);内核还提供
vmalloc
函数,用法和kmalloc一样,唯一的不同的
vmalloc
不保证分配的内存是物理连续的。
heiworld
·
2014-04-06 23:00
linux
内存
内核
linux内核分析-内存管理
http://blog.csdn.net/zhijianjingling00/article/details/9335333在内核模块中申请分配内存需要使用内核中的专用API:kmalloc、
vmalloc
laviolette
·
2014-03-19 11:00
kmalloc/kfree,
vmalloc
/vfree函数用法和区别
1.kmalloc1>kmalloc内存分配和malloc相似,除非被阻塞否则他执行的速度非常快,而且不对获得空间清零. 2>kamlloc函数原型:#includeVoid*kmalloc(size_tsize,intflags);(1)第一个参数是要分配的块的大小(2)第二个参数是分配标志(flags),他提供了多种kmalloc的行为。(3)第三个最常用的GFP_KERNEL;A.表示内存分
michaelcao1980
·
2014-02-20 11:00
__builtin_return_address(LEVEL)
__builtin_return_address(LEVEL)看Linux内核代码过程中,看到一个有意思的:mm/
vmalloc
.c中structvm_struct*get_vm_area(unsignedlongsize
dayancn
·
2014-02-02 11:00
kmalloc()和
vmalloc
()的区别
kmalloc()和
vmalloc
()介绍kmalloc()用于申请较小的、连续的物理内存,分配大小范围8~32k字节。
hellomxj1
·
2014-01-21 15:00
linux驱动面试题目汇总
blog.csdn.net/blueice8601/article/details/76664271、linux驱动分类2、信号量与自旋锁3、platform总线设备及总线设备如何编写4、kmalloc和
vmalloc
qq160816
·
2014-01-20 16:00
kmalloc kzalloc
vmalloc
malloc 和get_free_page()的区别
一、简述1、 kmalloc申请的是较小的连续的物理内存,虚拟地址上也是连续的。kmalloc和get_free_page最终调用实现是相同的,只不过在调用最终函数时所传的flag不同而已。除非被阻塞否则他执行的速度非常快,而且不对获得空间清零。2、get_free_page()申请的内存是一整页,一页的大小一般是128K。3、kzalloc 先是用 kmalloc() 申请空间 , 然后用 me
start000722
·
2013-12-30 17:00
malloc
的区别
kmalloc
vmalloc
kzalloc
kmalloc与vmalloc
__builtin_return_address(LEVEL)
看Linux内核代码过程中,看到一个有意思的:mm/
vmalloc
.c中structvm_struct*get_vm_area(unsignedlongsize,unsignedlongflags){return
u011279649
·
2013-12-26 10:00
vmalloc
size分析
平台:msm8x25系统:android4.1内核:3.4.0概念由于系统的连续物理内存有限,这使得非连续物理内存的使用在linux内核中出现,这叫
vmalloc
机制。
kris_fei
·
2013-12-10 14:00
关于linux内核的几个面试问题
8)
vmalloc
()申请的内存有什么特点?9)用户程序使用malloc()申请到的内存空间在什么范围
u010590166
·
2013-12-10 11:00
内核中的内存申请
在内核模块中申请分配内存需要使用内核中的专用API:kmalloc、
vmalloc
、kzalloc、kcalloc、get_free_pages;当然,设备驱动程序也不例外;对于提供了MMU功能的处理器而言
aukey00
·
2013-11-12 09:00
kmalloc、
vmalloc
、kmap、malloc的区别
简单的说:kmalloc和
vmalloc
是分配的是内核的内存,malloc分配的是用户的内存kmalloc保证分配的内存在物理上是连续的,
vmalloc
保证的是在虚拟地址空间上的连续,malloc不保证任何东西
michaelcao1980
·
2013-10-28 14:00
Vmalloc
vmalloc
(见mm/
vmalloc
.c文件)的目的是供内核分配在虚拟空间必须是连续的大块内存(物理地址不要求连续),其所占用的地址范围是特定于平台的常数
VMALLOC
_START和
VMALLOC
_END
cosmoslhf
·
2013-10-10 14:00
linux中kmalloc和
vmalloc
的使用
kmalloc和get_free_page申请的内存位于物理内存映射区域,而且在物理上也是连续的,它们与真实的物理地址只有一个固定的偏移,因此存在较简单的转换关系,virt_to_phys()可以实现内核虚拟地址转化为物理地址:#define__pa(x)((unsignedlong)(x)-PAGE_OFFSET) externinlineunsignedlongvirt_to_phys(vo
hongkangwl
·
2013-09-29 16:00
linux驱动面试题目汇总
blog.csdn.net/blueice8601/article/details/76664271、linux驱动分类2、信号量与自旋锁3、platform总线设备及总线设备如何编写4、kmalloc和
vmalloc
ahaochina
·
2013-09-28 14:00
percpu变量初始化要点记录
接着建立一个长度为n×NR_CPUS的虚拟空间(
vmalloc
_early),并把虚拟空间对应的物理页框设置为p数组指向的pages。然后把每cpu变量__per_cpu_
chenyu105
·
2013-09-12 13:00
每CPU变量
Hi3531支持2GByte内存
型号为K4B4G1646B-HCKO1.修改DDRC_RNKCFG为0x1422.修改arch/arm/mach-godnet/include/mach/
vmalloc
.h 扩大
vmalloc
区域为0x7e0000003
mao0514
·
2013-08-28 10:00
linux arm的高端内存映射(2) 永久映射和临时映射
一、永久映射和临时映射:2.1、永久映射:依然把前面描述
vmalloc
的文章的图搬上来:high_memoryVMALLOC_STARTVmalloc14KB隔离带
Vmalloc
24KB隔离带
Vmalloc
34KB
u010246947
·
2013-08-22 17:00
永久映射
临时映射
高端映射
kmap
kmap_atomic
linux arm的高端内存映射(1)
vmalloc
高端内存映射 与高端映射对立的是低端映射或所谓直接映射,内核中有关变量定义它们的它们的分界点,全局变量high_memory,该变量定义在mm/memory.c文件中(存在MMU的前提下),可见不区分体系结构,对于当前我手头的marvell的arm设备即对于arm体系结构,high_memory在初始化阶段的创建内存页表时初始化值,它的值就是:物理内存最后一个node的末尾,比如物理内存只有一个n
u010246947
·
2013-08-22 17:00
高端内存
vmalloc
high_memory
非连续内存
armlinux
kmalloc、
vmalloc
、malloc的区别
原文出处:http://blog.csdn.net/macrossdzh/article/details/5958368 简单的说:kmalloc和
vmalloc
是分配的是内核的内存,malloc分配的是用户的内存
lvzg2005
·
2013-08-21 14:53
内存申请
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他