摘要: #内存换出 有换入就应该有换出!等价交换! 必须要选择一个页换出,选择哪一页淘汰emm? 下面介绍淘汰算法。 一、FIFO 先来的先走。 二、MIN 内存当中,将来最久没有使用过的page滚蛋。 效果很好,但是我们做不到,我们不知道将来会有什么东西过来。 三、LRU 用过去的历史预测我来,选最近最长 阅读全文
posted @ 2020-10-28 15:33 HermioneGranger 阅读(111) 评论(0) 推荐(0)
摘要: #内存换入与请求调页 为了实现虚拟内存,就应该有换入换出。 用户可以随意使用该内存,如char *p, p=3G,实际上就是使用该地址,而后续该内存如何映射到物理内存是对用户透明的。 如果逻辑地址空间比物理地址空间更大怎么办?这就引入了换入。 先把东西放到disk上,要用到的时候再放到内存当中来。 阅读全文
posted @ 2020-10-28 14:58 HermioneGranger 阅读(124) 评论(0) 推荐(0)
摘要: #段页结合的实际内存管理 底层希望段管理,用户希望页管理...如何结合呢? 这就引出了虚拟内存的概念。 我们设置一种地址空间,称之为虚拟内存,向上,可以为用户提供段;向下,将段映射到物理帧上。 对用户来说,是段的使用,对物理内存来说,是页的使用。 寻址: 用户给出CS: IP,先查段表,访问某个段内 阅读全文
posted @ 2020-10-28 13:33 HermioneGranger 阅读(172) 评论(0) 推荐(0)
摘要: #多级页表与快表 分页会有问题,为了提高利用率,页应该小吧,但这样页表项就会增加==,到后面就会膨胀得很厉害。例如,4k的页,4G的物理,那么就会有4G/4k=4M个页表项!。不仅如此,每个进程的pcb都要保存一份页表。。。 但实际上大部分逻辑地址根本不会用到,能不能把页表压缩? 第一种尝试:只存放 阅读全文
posted @ 2020-10-28 12:44 HermioneGranger 阅读(295) 评论(0) 推荐(0)