0%

虚拟内存

这篇文章记述了关于虚拟内存的知识点。

先搞懂两个问题,对于一个进程而言,其地址如何映射到磁盘上?对于指针变量而言,又是如何将一定数量的空间进行划分的呢?

最后再来一个手撕LRU

王道的图很详细:https://www.cnblogs.com/wkfvawl/p/11733057.html

image-20201123104253063


CSAPP真是一本好书啊!以下为引用:

虚拟内存提供了三个重要的能力:1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效的使用了主存;(这句话真是精辟,高速缓存指明主存是一个读写速度很快的缓存系统,只保护活动区域是指页面的置换)

2)它为每个进程提供了一致的地址空间,从而简化了内存管理;

3)它保护了每个进程的地址空间不被其他进程所破坏。

虚拟内存成功的主要原因是它是沉默的、自动的在工作,不需要应用程序员进行干涉。

image-20201108190614215

image-20201109165450834

image-20201109165549425

image-20201108191457101

image-20201108154415382

Welcome to my other publishing channels