美文网首页
虚拟内存

虚拟内存

作者: 抬头挺胸才算活着 | 来源:发表于2020-05-06 16:40 被阅读0次

虚拟内存出现的原因:

内存不够用

技术实现:

在前面分页的基础上,将内存中的页的内容放到硬盘,下面的几种技术放的单位不一样。
覆盖技术:以某几个函数或者功能为单位
交换技术:以程序为单位
虚存技术:以页为单位,将程序中不用的某些页的部分放到硬盘中去

页面替换算法:

有可能要访问的内存放到硬盘中去了,计算机找不到会产生缺页异常,然后将硬盘对应的数据放到内存的页中来,但是这里有个问题,如果内存也满了呢?那就要将某些页替换出去,其中有好几种页面替换算法。

  • FIFO:就是将内存中最早放进来的页替换出去,可能是基于这种考虑——最早的可能早就已经做完工作了,最新的都是比较频繁用到的。

  • LRU最久未被访问:跟FIFO不同,这里用的访问的时间,而不是放到内存的时间。根据的是程序局部性原理。
    LRU的实现可以用栈或者是链表来维护,但是其复杂度都是O(n),故而要采用更好的方法。

LRU实现-使用栈
  • 时钟页面置换算法:
    LRU的逼近算法

相关文章

  • 操作系统——内存映射

    定义 虚拟内存的目标存储器是磁盘,所以虚拟内存区域是和磁盘中的文件对应的。初始化虚拟内存的内容时,会把虚拟内存区域...

  • 操作系统内存

    Linux 内存 一、虚拟内存 这个虚拟内存指的是“进程的虚拟内存”,或者说是虚拟地址空间,注意与” Linux ...

  • iOS内存管理及优化

    iOS内存管理的基本介绍: 1.iOS使用的是虚拟内存:段式虚拟内存+页式虚拟内存。 2.iOS没有Swap机制,...

  • 进程虚拟内存

    Linux虚拟内存空间分布Linux虚拟内存空间描述linux进程虚拟内存 .text(代码段)可执行文件加载到内...

  • Linux 内存管理

    虚拟内存1.1. 为什么要使用虚拟内存技术1.2. 理论前提1.3. 虚拟内存实现1.4. 页机制1.5. MMU...

  • MacOS, iOS 内存的基本概念和分析工具

    一些基本概念 Virtual Memory(虚拟内存) 虚拟内存指的是一个程序程序运行时,使用的内存空间。虚拟内存...

  • Android内存管理机制

    Linux 的虚拟内存、物理内存、磁盘 为什么要有虚拟内存的概念 进程创建时,会分配4G的虚拟内存,如果分配物理内...

  • linux 虚拟内存的作用?

    虚拟内存可以用来管理物理内存,进程直接和虚拟内存进行打交道而不是物理内存,为什么这样设计? 什么是虚拟内存? 虚拟...

  • 虚拟内存

    虚拟内存,分页文件,交换空间等等,它们本质上都是一个东西。 1、硬盘内存基本概念 1.1 什么是虚拟内存 虚拟内存...

  • linux io与zero copy

    1. 物理内存与虚拟内存 1.1 物理内存 物理内存指通过物理内存条而获得的内存空间。 1.2 虚拟内存 虚拟内存...

网友评论

      本文标题:虚拟内存

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