读深入理解Linux内核 (第8章 内存管理, 第三部分 --- 虚拟内存分配)
2016-10-16 22:14
411 查看
前面两部分,包括页面的申请或kmalloc(),都是物理上连续的内存。物理上连续的内存能更好的使用Cache,并且访问时间一致。
然而有时,我们需要连续内存,但是物理上的页面并不连续,此时,调用vmalloc()。
vmalloc从地址空间(通常3G~4G之间)获得一段地址,然后通过alloc_page(),申请页面,填入内核的页表。这样这段地址映射到一些不连续的页面上,这种内存通常用于不频繁访问的数据存放。
然而有时,我们需要连续内存,但是物理上的页面并不连续,此时,调用vmalloc()。
vmalloc从地址空间(通常3G~4G之间)获得一段地址,然后通过alloc_page(),申请页面,填入内核的页表。这样这段地址映射到一些不连续的页面上,这种内存通常用于不频繁访问的数据存放。
相关文章推荐
- 读深入理解Linux内核 (第8章 内存管理, 第二部分 --- 任意长度内存分配)
- 读深入理解Linux内核 (第8章 内存管理, 第一部分 --- 页的管理)
- 深入理解Linux内核-内存管理
- (3) 深入理解SELinux SEAndroid(第三部分 - over)
- 读深入理解Linux内核 (第9章 进程地址空间, 第二部分 ---- 内存区域)
- 深入理解linux内核分配
- Linux的内存管理主要分为两部分:物理地址到虚拟地址的映射,内核内存分配管理(主要基于slab)。
- 深入理解Linux内核——内存管理
- 深入理解linux内核架构(内存管理)
- 《深入理解LINUX内存管理》学习笔记(一)0.02.01修正版,红字部分为修正后的内容
- 深入理解linux内核之(二)进程
- 深入理解Linux内核-第七章 进程调度 http://blog.csdn.net/sailor_8318/article/details/2460177
- (2) 深入理解SELinux SEAndroid(第二部分)
- 深入理解l内核v4l2框架之video for linux 2(二)
- 深入理解SELinux SEAndroid(第二部分)
- 深入理解linux内核——内核同步
- 深入理解Linux中内存管理
- 深入理解linux内核--内存寻址
- 深入理解Linux内核 Chapter1知识点
- 【Linux】深入理解Linux中内存管理