Skip to main content

17 内核态内存映射

内核页表

vmalloc 和 kmap_atomic 原理

用户态通过 malloc 函数分配内存,malloc 分配比较大的内存的时,底层调用 mmap,也可以直接通过 mmap 做内存映射,在内核里面有相应的函数。

内核态缺页异常

kmap_atomic 发现没有页表的时候直接创建页表进行映射。vmalloc 只分配了内核的虚拟地址。所以访问它时候会产生缺页异常,从而调用 do_page_fault。

加载中...