网站 功能建设上 不足,seo网站优化策划书,深圳有没有做网站的,迅当网络深圳外贸网站建设Linux内核源码分析 (B.2)虚拟地址空间布局架构 文章目录 Linux内核源码分析 (B.2)虚拟地址空间布局架构一、Linux内核整体架构及子系统二、Linux内核内存管理架构 一、Linux内核整体架构及子系统
Linux内核只是操作系统当中的一部分#xff0c;对下管理系统所有硬件设备…Linux内核源码分析 (B.2)虚拟地址空间布局架构 文章目录 Linux内核源码分析 (B.2)虚拟地址空间布局架构一、Linux内核整体架构及子系统二、Linux内核内存管理架构 一、Linux内核整体架构及子系统
Linux内核只是操作系统当中的一部分对下管理系统所有硬件设备对上通过系统调用向Library Routine或其他应用程序提供API接口。
二、Linux内核内存管理架构 内存管理可以通过以下三个维度进行介绍 用户空间 相当于应用程序使用malloc()申请内存通过free()释放内存。malloc()/free()是glibc库的内存分配器ptmalloc提供的接口ptmalloc使用系统调用brk或mmap向内核以页为单位申请内存。 内核空间 虚拟内存管理负责从进程的虚拟地址空间分配虚拟页sys_brk来扩大或收缩堆sys_mmap用来在内存映射区域分配虚拟页sys_munmap用来释放虚拟页。页分配器负责分配物理页使用分配器是伙伴分配器。内核空间扩展功能不连续页分配器提供分配内存的接口vmalloc和释放内存接口vfree。在内存碎片化的时候申请连续物理页的成功率比较低可以申请不连续的物理页映射到连续的虚拟页即虚拟地址连续而物理地址不连续。内存控制组用来控制进程占用的内存资源。当内存碎片化的时候找不到连续的物理页内存碎片整理过迁移方式得到连续的物理页。在内存不足的时候页回收负责回收物理页。 硬件 MMU包含一个页表缓存保存最近使用过的页表映射避免每次把虚拟地址转换为物理地址都需要查询内存中的页表。解决处理器执行速 度和内存速度不匹配问题中间增加一个缓存。一级缓存分为数据缓存和指令缓存。二级作用协调一级缓存和内存之间的工作效率。 系统调用