《深入理解计算机操作系统》——读书笔记之第九章虚拟内存

9.8节 内存映射

什么是内存映射?linux将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容,就是内存映射。

9.8.1 共享对象。

比方说,进程1关联到一个对象,进程2也关联到这个对象,内核可以迅速判定进程1已经映射到了这个对象,而且还可以使进程2中的页表条目指向相应的物理页面。关键点在于即使对象被映射到了多个虚拟内存区域,但是物理内存只是保存的对象的一个副本而已。(比如c程序都会用到的printf函数,就是共享对象)

9.8.2 私有对象

进程1和进程2的不同虚拟内存区域都映射到了同一个物理内存,但是私有对象是通过一种写时复制的技术来映射到虚拟内存中。当进程2的一个页面被修改之后,相应私有区域的页表条目都被标记为只读,并且区域结构被标记为私有的写时复制。

你可能感兴趣的:(《深入理解计算机操作系统》——读书笔记之第九章虚拟内存)