美文网首页
CSAPP虚拟内存

CSAPP虚拟内存

作者: 王加冰 | 来源:发表于2019-01-13 15:15 被阅读0次

一、为什么会有虚拟内存

系统中的进程和其他的程序进程共享 CPU 和主存资源。当系统中太多的进程需要太多内存,其中一些进程就无法运行。内存还很容易被破坏,如果某个进程不小心写入到另一个进程使用的内存中,它就可能会以某种完全和程序逻辑无关的方式失败。

为了更加有效的管理内存减少出错,现代系统提供了一种对主存抽象的概念,虚拟内存。虚拟内存是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互。为每一个进程提供一个大的、一致的和私有的地址空间。虚拟内存三个重要的能力:

1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存。在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,高效使用主存。

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

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

二、地址

传统的寻址方式 现代处理器的寻址方式

三、页表

同缓存一样,虚拟内存系统必须有某种方法来判定一个虚拟页是否缓存在DRAM(主存)中,如果是,系统还需要确定这个虚拟页放在哪个物理页中,如果不命中,系统还必须判断这个虚拟页放在磁盘的那个地方,物理内存中选择某一个牺牲页,并将虚拟页从磁盘复制到DRAM中,替换这个牺牲页。这些功能是软硬件联合提供的,包括操作系统软件,MMU的地址翻译硬件和一个存放在物理内存中叫做页表的数据结构。

相关文章

  • CSAPP : 虚拟内存

    本章我们学习操作系统中最重要的概念之一,虚拟内存。 物理和虚拟寻址 CPU访问内存的方式,最原始也是最直接的当然是...

  • CSAPP虚拟内存

    一、为什么会有虚拟内存 系统中的进程和其他的程序进程共享 CPU 和主存资源。当系统中太多的进程需要太多内存,其中...

  • csapp-虚拟内存

    引子 一个程序给物理内存地址 1000 赋值也就是存入了一些数据后,另一个程序也同样给这个地址赋值,那么第二个程序...

  • CSAPP——第九章 虚拟内存

    几个概念 程序存储在磁盘上的文件,在执行的时候加载如内存 内存分为DRAM,和SRAMDRAM:可以就看成我们买的...

  • bomb lab 解题报告

    对应课本csapp 的实验 https://hakula.xyz/csapp/bomblab.html[https...

  • 2018-10-10 TEST CSAPP

    2018-10-10 TEST CSAPP 2018-10-10 TEST CSAPP 2018-10-10 TE...

  • csapp

    CSAPP 2.27 2.30 2.39 2.40 2.41 2.42 2.43 2.44 2.47 2.58 2...

  • CSAPP

    进程 进程是操作系统对一个正在运行的程序的一种抽象。并发运行,则是说一个进程的指令与另一个进程的指令是交错执行的。...

  • CSAPP

    每天2页。2021年4月底,我将啃下这本700页大部头。2020年5月底,我将学会浮点数的2进制表示。 2020/...

  • CSAPP 炸弹实验解析上

    CSAPP(Computer Systems A Programmer's Perspective),中译名为深入...

网友评论

      本文标题:CSAPP虚拟内存

      本文链接:https://www.haomeiwen.com/subject/bwgkdqtx.html