Linux内核的主要组成部分包括存储管理CPU和进程管理文件系统设备管理和驱动网络通信,以及系统的初始化等存储管理负责内存的分配和回收,以及虚拟内存的管理CPU和进程管理负责进程的创建终止和调度,以及中断和异常的处理文件系统管理文件的存储和访问,设备管理和驱动负责硬件设备的初始化配置。
Linux提供两种机制开启使用大页映射物理内存 第一个是 HugeTLB 文件系统,即 hugetlbfs 它是一个伪文件系统,使用RAM作为其存储在此文件系统中创建的文件,数据驻留在内存中,并使用大页进行映射 关于HugeTLB Pages 另一个被称为 THP Transparent HugePages ,后出的开启大页映射物理内存的机制 与 huget。
在QEMU平台下,我们可以通过命令行观察到Linux内核的内存布局,进一步理解其内存管理机制堆作为进程中的动态内存分配区域,其管理由标准库中的辅助函数如`malloc`负责`malloc`与内核之间通过`brk`系统调用实现交互,用于扩展或收缩堆空间在堆的管理中,`brk`用于申请较大空间,而`malloc`主要用于小空。
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。