CSAPP--虚拟存储器
虚拟存储器
虚拟存储器(VM)是对主存的一种抽象概念。是硬件一场,硬件地址翻译,贮存,磁盘文件和内核软件的完美交互。他为每个进程提供了一个大的,一致的和私有的地址空间。
- 它将贮存堪称一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动的区域,并根据需要在磁盘和主存之间来回传送数据,防止其它进程没有主存空间可用。
- 它为每个进程提供了一致的地址空间,从而简化了存储器的管理。
- 它保护了每个进程的地址空间不被其他进程破坏。
物理寻址和虚拟寻址
计算机系统的主存由若干字节组成,每个字节有唯一的物理地址。在数字信号处理器,嵌入式微控制器以及Cray超级计算机仍使用这种物理存执。现代处理器使用虚拟寻址的寻址方式。

虚拟存储器作为缓存的工具
虚拟存储器被组织为一个存储在磁盘上的N个连续的字节大小的单元数组,每个数组都有唯一的虚拟地址,磁盘上数组的内容被缓存在贮存中。VM系统将虚拟存储器分割为虚拟页,物理存储器分割为物理页。

虚拟页面的三个不相交子集:
- 未分配的:VM系统还没有分配的页,不占磁盘空间。
- 缓存的:当前缓存在物理存储器中已分配页。
- 未缓存的:没有缓存在物理存储器中的已分配页。
页表:
用来判断一个虚拟页是否放在DRAM中的某个地方。利用页表的数据结构,将虚拟页映射到物理页,每次地址翻译硬件将一个虚拟地址转换为物理地址时都会读取页表,操作系统负责维护页表的内容。(PTE表示虚拟地址空间中每个页在页表的固定偏移量)

页命中:
表示但CPU读取VPn中的一个字时,VPn被缓存在DRAM中,地址翻译应将将虚拟地址作为一个索引来来定位到PTEn,并读取。
缺页:
缓存不命中。调用t缺页异常处理程序,选择一个牺牲页PPt,如果VPt已经修改则拷贝回磁盘,然后将VPn调入到PPt,并修改页表条目。
分配页:
操作系统分配一个新的虚拟存储器页,在磁盘上创建空间并更新PTEn,使他指向磁盘上这个新创建的页面。从而分配VPn。
局部性:
在任意时刻,程序往往在一个较小的活动页面集合上工作(工作集),在初始开销是,将工作集页面调度到存储器中,接下来对工作集的引用将导致命中,而不会产生额外的磁盘流量。
CSAPP--虚拟存储器的更多相关文章
- [CSAPP笔记][第九章虚拟存储器][吐血1500行]
9.虚拟存储器 为了更加有效地管理存储器且少出错,现代系统提供了对主存的抽象概念,叫做虚拟存储器(VM). 虚拟存储器是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互. 为每个进程提供一个 ...
- 《CSAPP》虚拟存储器
虚拟存储器与物理存储器 虚拟存储器(VM)被组织为一个由存放在磁盘上的N个连续的字节大小的单元组成的数组.每一个字节都有一个唯一的虚拟地址,这个唯一的虚拟地址作为数组的索引.磁盘上的数组内容被缓存在主 ...
- 读完了csapp(中文名:深入理解计算机系统)
上个星期最终把csapp看完了. 我买的是中文版的,由于除了貌似评价不错以外,由于涉及到些自己不了解的底层东西,怕是看英文会云里雾里.如今看来,大概不能算是个长处,可是的确可以加快我的看书速度,否则一 ...
- NB学校的NB课程的NB教材——CSAPP
CMU是全美以至全球公认的CS最猛的大学之一,没办法,作为CS的发源地,再加上三位神一样的人先后在此任教:Alan Perlis(CS它祖宗+第一届Turing奖获得者).Allen Newell(A ...
- CSAPP Tiny web server源代码分析及搭建执行
1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP
陆陆续续花了2个月的时间终于把这个久负盛名的CSAPP看完了,不愧为一本名副其实的经典书籍.有种相见恨晚的感觉,以至于从不会写书评的我也情不自禁的想说点什么. 这本书的书名叫"Comput ...
- CSAPP =1= 计算机系统漫游
思维导图 预计阅读时间:15min 阅读书籍 <深入理解计算机系统> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 < ...
- CSAPP =2= 信息的表示和处理
思维导图 预计阅读时间:30min 阅读书籍 <深入理解计算机系统 第五版> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 ...
- 异常控制流(csapp)
[前言]程序按照一定顺序执行称为控制转移.最简单的是平滑流,跳转.调用和返回等指令会造成平滑流的突变.系统也需要能够对系统状态的变化做出反应,这些系统状态不能被内部程序变量捕获但是,操作系统通过使控制 ...
随机推荐
- 位运算反(~)与(&)异或(^)或(|)右移(>>)左移(<<)
原文:位运算反(~)与(&)异或(^)或(|)右移(>>)左移(<<) 先知道这两个二进制数据的特点: 1=0000 0000 0000 0000 0000 000 ...
- BZOJ2091: [Poi2010]The Minima Game
2091: [Poi2010]The Minima Game Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 243 Solved: 163[Subm ...
- HDU_2055——刷题不要使用fflush()
Problem Description we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26; G ...
- WC2015流水账
THU那四场考试没考好,只有20+名.这也许是我OI生涯中最后一场吧(已确认是最后一场),真是感慨万千. day0 搬进浙大宿舍404房间(神房间号),四个人一间.中午发现学军伙食相当良心,是我参加的 ...
- zabbix discovery
preface(见面礼): 仅扫tcp端口: netstat -tnlp|egrep -i "$1"
- 警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
警告: 隐式声明与内建函数‘exit’不兼容 [默认启用] 最近在学习linux下的多任务编程,用到exit等函数时,经常出现该警告,查找资料后发现,原因其实很简单,没有把stdlib.h头文件包含进 ...
- css的存在形式以及优先级
css的存在形式以及优先级 css不仅仅可以在每个head标签中定义,而且也可以写在一个文件中,每个页面即可进行引用,这样可以做到重复利用. css文件的写法如下: common.css .c1{ h ...
- MySQL加密的性能测试
这是对MySQL进行加密性能测试的两篇文章系列之二.在第一篇中,我专门使用MySQL的内置的对SSL的支持来 做压力测试,产生了一些令人惊讶的结果. AD:WOT2015 互联网运维与开发者大会 热销 ...
- FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- (第三章)Java内存模型(中)
一.volatile的内存语义 1.1 volatile的特性 理解volatile特性的一个好办法是把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步.下面通过具体 ...