malloc、kmalloc、vmalloc函数的区别

malloc()返回的页在进程的虚拟地址空间内是连续的,但在物理地址空间内不一定连续

kmalloc()确保分配的内存区域在物理空间上是连续的(自然在虚拟地址空间上也是连续的)

vmalloc()只确保分配的页(内存区域)在虚拟地址空间内是连续的。它通过分配非连续的物理内存块,再“修正”页表,把内存映射到逻辑地址空间连续的区域中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章