Advertisement

Linux内存管理和进程用户的内存管理

阅读量:

一、进程的用户空间管理

每个进程最多可分配专有虚拟内存空间为3GB,请阐述如何配置这3GB内存空间的划分方案。采用编译链接生成二进制映像文件的方式形成程序架构模型,在此架构中位于下方的是代码块(代码区),位于上方的是数据区域(数据区)。其中静态初始化的数据区域包含全局静态变量及本地静态变量等信息项,在程序运行前由系统自动分配好相关资源占用的空间。此外还需预留堆栈占用的空间被视为必要基础,并于程序启动阶段预先分配好相应资源占用的空间位置。剩余尚未使用的存储区属于未初始化的状态。

每个进程拥有3GB的用户空间区域,在此区域内的所有地址都被定义为虚地址状态。由于这些虚地址不具备物理存储能力,在虚拟内存环境中无法直接运行相应的程序或操作系统逻辑;为了实现虚拟内存与物理存储之间的对应关系建立与维护这一功能需求,《Linux》内核负责完成相关机制的设计与实现工作;当向《Linux》内核申请一块存储资源时,则指的是请求该核心系统分配一个特定范围内的虚拟内存区间,并相应地划分出若干个物理页框供其对应使用;在此过程中,《Linux》内核会动态地进行地址转换并维持必要的映射记录以确保系统正常运作

内核在创建进程中实际分配一些物理页面以建立映射。
系统通过请页机制避免过度消耗其使用的虚拟地址空间。
当进程访问用户的虚拟地址时可能会缺少对应的 physical 页面内容,
操作系统的 please

全部评论 (0)

还没有任何评论哟~