虚拟存储器

  虚拟存储器(VM)是对主存的一种抽象概念。是硬件一场,硬件地址翻译,贮存,磁盘文件和内核软件的完美交互。他为每个进程提供了一个大的,一致的和私有的地址空间

  • 它将贮存堪称一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动的区域,并根据需要在磁盘和主存之间来回传送数据,防止其它进程没有主存空间可用。
  • 它为每个进程提供了一致的地址空间,从而简化了存储器的管理。
  • 它保护了每个进程的地址空间不被其他进程破坏。

物理寻址和虚拟寻址

  计算机系统的主存由若干字节组成,每个字节有唯一的物理地址。在数字信号处理器,嵌入式微控制器以及Cray超级计算机仍使用这种物理存执。现代处理器使用虚拟寻址的寻址方式。

虚拟存储器作为缓存的工具 

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

  虚拟页面的三个不相交子集:

  • 未分配的:VM系统还没有分配的页,不占磁盘空间。
  • 缓存的:当前缓存在物理存储器中已分配页。
  • 未缓存的:没有缓存在物理存储器中的已分配页。

页表:

  用来判断一个虚拟页是否放在DRAM中的某个地方。利用页表的数据结构,将虚拟页映射到物理页,每次地址翻译硬件将一个虚拟地址转换为物理地址时都会读取页表,操作系统负责维护页表的内容。(PTE表示虚拟地址空间中每个页在页表的固定偏移量)

  

  

页命中:

  表示但CPU读取VPn中的一个字时,VPn被缓存在DRAM中,地址翻译应将将虚拟地址作为一个索引来来定位到PTEn,并读取。

缺页:

  缓存不命中。调用t缺页异常处理程序,选择一个牺牲页PPt,如果VPt已经修改则拷贝回磁盘,然后将VPn调入到PPt,并修改页表条目。

分配页:

  操作系统分配一个新的虚拟存储器页,在磁盘上创建空间并更新PTEn,使他指向磁盘上这个新创建的页面。从而分配VPn。

局部性:

  在任意时刻,程序往往在一个较小的活动页面集合上工作(工作集),在初始开销是,将工作集页面调度到存储器中,接下来对工作集的引用将导致命中,而不会产生额外的磁盘流量。

CSAPP--虚拟存储器的更多相关文章

  1. [CSAPP笔记][第九章虚拟存储器][吐血1500行]

    9.虚拟存储器 为了更加有效地管理存储器且少出错,现代系统提供了对主存的抽象概念,叫做虚拟存储器(VM). 虚拟存储器是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互. 为每个进程提供一个 ...

  2. 《CSAPP》虚拟存储器

    虚拟存储器与物理存储器 虚拟存储器(VM)被组织为一个由存放在磁盘上的N个连续的字节大小的单元组成的数组.每一个字节都有一个唯一的虚拟地址,这个唯一的虚拟地址作为数组的索引.磁盘上的数组内容被缓存在主 ...

  3. 读完了csapp(中文名:深入理解计算机系统)

    上个星期最终把csapp看完了. 我买的是中文版的,由于除了貌似评价不错以外,由于涉及到些自己不了解的底层东西,怕是看英文会云里雾里.如今看来,大概不能算是个长处,可是的确可以加快我的看书速度,否则一 ...

  4. NB学校的NB课程的NB教材——CSAPP

    CMU是全美以至全球公认的CS最猛的大学之一,没办法,作为CS的发源地,再加上三位神一样的人先后在此任教:Alan Perlis(CS它祖宗+第一届Turing奖获得者).Allen Newell(A ...

  5. CSAPP Tiny web server源代码分析及搭建执行

    1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...

  6. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  7. CSAPP

    陆陆续续花了2个月的时间终于把这个久负盛名的CSAPP看完了,不愧为一本名副其实的经典书籍.有种相见恨晚的感觉,以至于从不会写书评的我也情不自禁的想说点什么.  这本书的书名叫"Comput ...

  8. CSAPP =1= 计算机系统漫游

    思维导图 预计阅读时间:15min 阅读书籍 <深入理解计算机系统> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 < ...

  9. CSAPP =2= 信息的表示和处理

    思维导图 预计阅读时间:30min 阅读书籍 <深入理解计算机系统 第五版> 参考视频 [精校中英字幕]2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频 参考文章 ...

  10. 异常控制流(csapp)

    [前言]程序按照一定顺序执行称为控制转移.最简单的是平滑流,跳转.调用和返回等指令会造成平滑流的突变.系统也需要能够对系统状态的变化做出反应,这些系统状态不能被内部程序变量捕获但是,操作系统通过使控制 ...

随机推荐

  1. MLlib 卡方检验

    1.卡方检验理论 1.1.  简介 总体的分布函数完全未知或只知形式.但不知其参数的情况,为了推断总体的某些未知特性,提出某些关于总体的假设.我们要根据样本对所提出的假设作出是接受,还是拒绝的决策.假 ...

  2. 防止ajax非正常访问

    http://www.cnblogs.com/yagzh2000/archive/2013/06/09/3128042.html http://www.cnblogs.com/henw/archive ...

  3. 关于C51的中断函数要注意的几个问题

    转载自:http://blog.21ic.com/user1/531/archives/2006/16909.html 最近在虾潭逛,发现一些小虾米对C51中断函数有些不了解,今天周末,抽空发个技术帖 ...

  4. 51单片机C语言学习笔记5:include的区别

    #include <iostream.h>#include "myfile_h" #include 是预处理器标识符.<>表示是标准的工程.标准的头文件.查 ...

  5. ubuntu安装使用kdevelop

    vim是好用,但是有时候操作不那么人性化,用一个ide可能感觉比较好,ubuntu下面比较好的c/c++ ide出名的有kdevelop,Qt等. kdevelop安装: sudo apt-get u ...

  6. 【HDOJ】3316 Mine sweeping

    简单BFS. #include <iostream> #include <cstdio> #include <cstring> #include <cstdl ...

  7. BZOJ3296: [USACO2011 Open] Learning Languages

    3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 81  Solved: ...

  8. HDOJ 1061 Rightmost Digit(循环问题)

    Problem Description Given a positive integer N, you should output the most right digit of N^N. Input ...

  9. JavaScript……

    退役了好伤心…… 这几天搞研究性学习写网页版贪吃蛇代码……太蛋疼了 要学javascript,就还要搞AJAX.JQuery.JSON…… 我感觉整个人都不好了

  10. MapReduce优化一(改变切片大小和Shuffle过程Reduce占用堆大小)

    /*为防止处理超大作业时超时,将io时间设为1小时         *         <property>            <name>dfs.datanode.soc ...