CSAPP第九章 虚拟内存

目录

理解虚拟内存的原因

物理和虚拟寻址

​编辑 虚拟内存作为缓存的工具

 页表

​编辑 页命中

缺页 

​编辑 虚拟内存作为内存管理的工具

虚拟内存作为内存保护的工具

 地址翻译

​编辑 结合高速缓存和虚拟内存

利用TLB加速地址翻译 

多级页表 

 综合:端到端的地址翻译

Linux虚拟内存系统

Linux的虚拟内存区域 

Linux缺页异常处理 

 内存映射

 再看共享文件​编辑

 再看fork函数

再看execve函数 

使用mmap函数的用户级内存映射 


理解虚拟内存的原因

CSAPP第九章 虚拟内存_第1张图片

 本章前部分描述虚拟内存是如何工作的,后一部分描述应用程序如何使用和管理虚拟内存

物理和虚拟寻址

CSAPP第九章 虚拟内存_第2张图片

CSAPP第九章 虚拟内存_第3张图片 虚拟内存作为缓存的工具

CSAPP第九章 虚拟内存_第4张图片

CSAPP第九章 虚拟内存_第5张图片

 页表

CSAPP第九章 虚拟内存_第6张图片 页命中

CSAPP第九章 虚拟内存_第7张图片

缺页 

CSAPP第九章 虚拟内存_第8张图片

 CSAPP第九章 虚拟内存_第9张图片

CSAPP第九章 虚拟内存_第10张图片 虚拟内存作为内存管理的工具

CSAPP第九章 虚拟内存_第11张图片

 简化链接,简化加载,简化共享,简化内存分配

虚拟内存作为内存保护的工具

CSAPP第九章 虚拟内存_第12张图片

 地址翻译

CSAPP第九章 虚拟内存_第13张图片

 CSAPP第九章 虚拟内存_第14张图片

CSAPP第九章 虚拟内存_第15张图片 CSAPP第九章 虚拟内存_第16张图片

CSAPP第九章 虚拟内存_第17张图片 结合高速缓存和虚拟内存

CSAPP第九章 虚拟内存_第18张图片

利用TLB加速地址翻译 

CSAPP第九章 虚拟内存_第19张图片CSAPP第九章 虚拟内存_第20张图片

CSAPP第九章 虚拟内存_第21张图片

多级页表 

CSAPP第九章 虚拟内存_第22张图片

CSAPP第九章 虚拟内存_第23张图片 CSAPP第九章 虚拟内存_第24张图片

 CSAPP第九章 虚拟内存_第25张图片

 综合:端到端的地址翻译

CSAPP第九章 虚拟内存_第26张图片

CSAPP第九章 虚拟内存_第27张图片 CSAPP第九章 虚拟内存_第28张图片

 CSAPP第九章 虚拟内存_第29张图片

CSAPP第九章 虚拟内存_第30张图片 好复杂啊

Linux虚拟内存系统

 CSAPP第九章 虚拟内存_第31张图片

Linux的虚拟内存区域 

CSAPP第九章 虚拟内存_第32张图片

CSAPP第九章 虚拟内存_第33张图片 CSAPP第九章 虚拟内存_第34张图片

Linux缺页异常处理 

CSAPP第九章 虚拟内存_第35张图片

 内存映射

 再看共享文件CSAPP第九章 虚拟内存_第36张图片

CSAPP第九章 虚拟内存_第37张图片

CSAPP第九章 虚拟内存_第38张图片 CSAPP第九章 虚拟内存_第39张图片

 再看fork函数

 CSAPP第九章 虚拟内存_第40张图片

再看execve函数 

CSAPP第九章 虚拟内存_第41张图片

CSAPP第九章 虚拟内存_第42张图片 

使用mmap函数的用户级内存映射 

CSAPP第九章 虚拟内存_第43张图片

CSAPP第九章 虚拟内存_第44张图片 

CSAPP第九章 虚拟内存_第45张图片 

 ps:不要问截图为什么这么多,因为自知没看懂,所以留着以后再看

你可能感兴趣的:(CSAPP笔记,csapp)