虚拟存储器管理(深入理解计算机系统期末周突击笔记)

实现虚拟存储器管理,需要考虑:

1,快大小(也就是页,page)

2,主存和辅存的空间如何分区管理

3,程序块/存储块之间如何映像

4,逻辑地址和物理地址之间如何转换,转换速度如何提高

5,主存和辅存之间如何替换

6,页表如何实现,页表项中要记录那些信息

7,如何加快访问页表的速度

8,如果要找的内容不在主存怎么办

9,如何保护进程各自的存储区不被其他进程访问

有三种虚拟存储器的实现方式: 分页式,分段式,段页式

主存--磁盘VSCache--主存层次

1,页大小(2KB~64KB)比cache中的block大得多,因为访问一次磁盘太慢了,所以大点,一次性访问的多点

2,采用全相联映射 ,因为缺页的开销比cache缺失的开销大得多,缺页时需要访问磁盘大约几百万个时钟周期,而cache缺失,访问主存仅需几十到几百个时钟周期,因此,页命中率比cache命中率更重要,"大页面"和"全相联"可以提高页命中率

3,通过软件来处理缺页,因为缺页时需要访问磁盘,慢!不能用硬件实现

4,采用写回策略,(只写入主存不写入磁盘),避免频繁的慢速磁盘访问操作

5,地址转换要用硬件实现

相关推荐
rechol28 分钟前
ARM 架构核心知识笔记(整理与补充版)
arm开发·笔记·架构
paishishaba1 小时前
JAVA面试复习笔记(待完善)
java·笔记·后端·面试
四谎真好看2 小时前
Java 黑马程序员学习笔记(进阶篇19)
java·笔记·学习·学习笔记
新子y3 小时前
【小白笔记】最大交换 (Maximum Swap)问题
笔记·python
你要飞7 小时前
Hexo + Butterfly 博客添加 Live2D 看板娘指南
笔记
ajsbxi10 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记
呱呱巨基10 小时前
vim编辑器
linux·笔记·学习·编辑器·vim
新子y10 小时前
【小白笔记】普通二叉树(General Binary Tree)和二叉搜索树的最近公共祖先(LCA)
开发语言·笔记·python
聪明的笨猪猪10 小时前
Java JVM “调优” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
爱学习的uu11 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程