Linux:操作系统分析 Chapter9 Linux中的进程地址空间 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室©计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 November 4,2014 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu.cn)(升算丸应Linux操作系统分析hapter9 Linux中的达权. None0er4,20141727
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linux操作系统分析 Chapter 9 Linux中的进程地址空间 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 November 4, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 9 Linux中的进程地址空间 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) November 4, 2014 1 / 27
Outline 进程地址空间和线性区 ② 缺页异常 小结和作业 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu.cn)(计算丸应Lioux操作看统分析Chapter9Lnux中的进权: None0er4,20142/23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 进程地址空间和线性区 .2 缺页异常 .3 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 9 Linux中的进程地址空间 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) November 4, 2014 2 / 27
内核态和用户态分配内存的不同 ·内核中的函数以直接了当的方式获得动态内存 。内核是操作系统中优先级最高的成分。 ●内核信任自己 ·采用我们上次课介绍的页面级内存分配和小内存分配 ,空闲夏延管理 代伴算法 ,空闲夏挺管理 Zone_highnen 一空网夏框管理 南p级加 164 物理内存: 物理内存: ZONE_HIGEEM 物理内存: ZONE_DAA ZONE_NORMAL 线性空何(30) 线性室同(3cB4GB-1)】 3GB 3G+16MB 3G+836B4GB-1 4口4四是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作表统分所Chapter9 Linux中的边权: November 4.2014 3/27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 内核态和用户态分配内存的不同 内核中的函数以直接了当的方式获得动态内存 内核是操作系统中优先级最高的成分。 内核信任自己 采用我们上次课介绍的页面级内存分配和小内存分配 线性空间(<3G) 线性空间(3GB~4GB-1) 物理内存: ZONE_DMA 物理内存: ZONE_NORMAL 物理内存: ZONE_HIGHMEM 0 16MB 896MB MAX-1 0 3GB 3G+16MB 3G+896MB 4GB-1 Mem_map数组 Zone_dma Zone_normal Zone_highmem 空闲页框管理 空闲页框管理 空闲页框管理 伙伴算法 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 9 Linux中的进程地址空间 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) November 4, 2014 3 / 27
内核态和用户态分配内存的不同 ●给用户态进程分配内存时 ·请求被认为是不紧迫的 。用户进程不可信任 ·因此,当用户态进程请求动态内存时,并没有立即获得 实际的物理页框,而仅仅获得对一个新的线性地址区间 的使用权 ·这个线性地址区间会成为进程地址空间的一部分,称作 线性区(memory areas) 1口4四¥是42,在月0C 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分析Chapter9 Linux中的选权. None0er4,20143/29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 内核态和用户态分配内存的不同 给用户态进程分配内存时 请求被认为是不紧迫的 用户进程不可信任 因此,当用户态进程请求动态内存时,并没有立即获得 实际的物理页框,而仅仅获得对一个新的线性地址区间 的使用权 这个线性地址区间会成为进程地址空间的一部分,称作 线性区(memory areas) 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 9 Linux中的进程地址空间 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) November 4, 2014 3 / 27
Outline 进程地址空间和线性区 缺页异常 小结和作业 1口t4四1是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算机应Lioux操作看统分折hapter9L1nux中的进权. November4,20144/27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 进程地址空间和线性区 .2 缺页异常 .3 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 9 Linux中的进程地址空间 @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) November 4, 2014 4 / 27