02-LINUX内核源码分析之内存管理专题(一)-- 第010讲 引导内存分配器原理
摘要:知识点:bootmem分配器memblock分配器 一、bootmem分配器--临时引导内存分配器 在内核初始化的过程中需要分配内存,内核提供临时的引导内存分配器,在页分配器和块分配器初始化完成之后,把空闲的物理页交给页分配器管理,丢弃引导内存分配器bootmem分配器定义的数据结构,内核源码如下:
阅读全文
02-LINUX内核源码分析之内存管理专题(一)-- 第009讲 物理内存组织结构
摘要:一、系统调用sys_mmap (24条消息) 内存管理源码分析-mmap函数在内核的运行机制以及源码分析_HuberyPan的博客-CSDN博客_sys_mmap void *mmap(void * addr, size_t length, int port, int flag, int fd, o
阅读全文
02-LINUX内核源码分析之内存管理专题(一)-- 第008讲 内存映射原理-内存区域的结构体-系统调用
摘要:1、内存映射原理 参考文献: 深入理解Linux内存子系统 (qq.com) 经典|图解Linux内存性能优化核心思想 (qq.com) CPU对外设端口物理地址的编址方式有两种:一种是IO映射方式,另一种是内存映射方式。mmap是一种内存映射文件的方法。 (1)IO映射方式:CPU是i386
阅读全文
02-Linux内核源码分析之内存管理专题(一)-- 第007讲 虚拟地址空间布局架构
摘要:一、内存管理架构 内存管理子系统架构包括:用户空间、内核空间和硬件部分。 1、用户空间 应用程序使用malloc()函数申请内存资源、通过free()函数释放内存资源;malloc/free是glibc库的内存分配器ptmalloc提供的接口。ptmalloc使用系统调用brk或者mmap向
阅读全文