Linux:操作系统分析 Chapter 18 Linux中的进程地址空间(arm) 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室©计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 January 14,2015 1口t4四是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分析Chapter18 Linux中约进有 J6uary14,20151/28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linux操作系统分析 Chapter 18 Linux中的进程地址空间(arm) 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 January 14, 2015 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 18 Linux中的进程地址空间(arm) @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) January 14, 2015 1 / 28
Outline 进程地址空间和线性区 ② 缺页异常 小结和作业 1口t4四是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作看统分析Chapter18 Linux中约进有 January14,20152/28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 进程地址空间和线性区 .2 缺页异常 .3 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 18 Linux中的进程地址空间(arm) @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) January 14, 2015 2 / 28
内核态和用户态分配内存的不同 ·内核中的函数以直接了当的方式获得动态内存 ·内核是操作系统中优先级最高的成分· 。内核信任自己 ·采用我们上次课介绍的页面级内存分配和小内存分配 1口4四是42刀00 陈香兰(x1 anchenoustc,edu,cn)(计算丸应Linux操作表统分析Chapter】8 Linux中约过书 J6 nuary14,20153/28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 内核态和用户态分配内存的不同 内核中的函数以直接了当的方式获得动态内存 内核是操作系统中优先级最高的成分。 内核信任自己 采用我们上次课介绍的页面级内存分配和小内存分配 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 18 Linux中的进程地址空间(arm) @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) January 14, 2015 3 / 28
内核态和用户态分配内存的不同 ●给用户态进程分配内存时 ·请求被认为是不紧迫的 ·用户进程不可信任 ·因此,当用户态进程请求动态内存时,并没有立即获得 实际的物理页框,而仅仅获得对一个新的线性地址区间 的使用权 ·这个线性地址区间会成为进程地址空间的一部分,称作 线性区(memory areas) 1口+4四是4P在刀0C 陈香兰(xianchenoustc,edu.cn)(升算丸应Linux操作表统分析Chapter】8 Linux中约过有 J6 nuary14,20153/28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 内核态和用户态分配内存的不同 给用户态进程分配内存时 请求被认为是不紧迫的 用户进程不可信任 因此,当用户态进程请求动态内存时,并没有立即获得 实际的物理页框,而仅仅获得对一个新的线性地址区间 的使用权 这个线性地址区间会成为进程地址空间的一部分,称作 线性区(memory areas) 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 18 Linux中的进程地址空间(arm) @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) January 14, 2015 3 / 28
进程地址空间和线性区 。进程最多能访问4GB的线性地址空间 ·但进程在访问某个线性空间之前,必须获得该线性空间的许可 。因此,一个进程的地址空间是由允许该进程访问的全部线性地 址组成 ·内核使用线性区资源来表示线性地址空间 ●每个线性区由起始线性地址、长度和一些存取权限描述 1口+4四是4P在刀0C 陈奇兰(x1 anchenoustc,edu,cn)(升算丸应Linux操作表统分析Chapter】8 Linux中约过有 J6 nuary14,20155/28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 进程地址空间和线性区 进程最多能访问4GB的线性地址空间 但进程在访问某个线性空间之前,必须获得该线性空间的许可 因此,一个进程的地址空间是由允许该进程访问的全部线性地 址组成 内核使用线性区资源来表示线性地址空间 每个线性区由起始线性地址、长度和一些存取权限描述 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室 Linux操作系统分析Chapter 18 Linux中的进程地址空间(arm) @计算机学院嵌入式系统实验室@苏州研究院中国科学技术大学Fall 2014) January 14, 2015 5 / 28