内存管理和虚拟内存

Posted 萌萌滴太阳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存管理和虚拟内存相关的知识,希望对你有一定的参考价值。

文章目录

3.1.1内存的基础知识

内存概念、作用

  • 概念

  • 作用
    软件一般存放在外存或辅存里,像电脑的软件一般存储在硬盘里,但是硬盘是一种慢速设备,而CPU是一种超快速设备,如果CPU要处理的数据直接从外存中存取得话,显然CPU会有大量的时间在等待外存的存取操作完成,显然对CPU是浪费的。
    所以就引入了内存,它是一种更快速的存取数据的硬件,我们把需要运行的程序,数据先放入内存中,然后CPU从内存中存取数据,这样就可以缓和CPU和外存之间存取速度的矛盾了。

内存地址



从写程序到程序运行

装入【略,详见15min7s】

  • 装入解决的问题:从逻辑地址到绝对地址的转换

链接

静态链接

装入时动态链接

运行时动态链接

总结

3.1.2 内存管理的概念(功能)


总结

3.1.3内存空间扩充的方式:覆盖与交换【虚拟存储技术后面将】

覆盖技术

交换技术

总结

内存空间的分配与回收的方式(3.1.4—3.1.11)

连续分配管理方式(3.1.4—3.1.5)

3.1.4连续分配管理方式

单一连续分配方式

固定分区分配

动态分区分配


在进行内存分区回收的时候,回收之后发现有些内存空间是相邻的,需要把这些相邻的空间进行合并。
【具体见视频】

内部碎片 & 外部碎片

总结

3.1.5动态分区分配算法【略】

非连续分配方式(离散分配方式)(3.1.6-3.1.11)

基本分页存储管理(3.1.6—3.1.9)

3.1.6 基本分页存储管理的基本概念


  • 分页存储中逻辑地址到物理地址的计算【略】

总结

3.1.7 基地址变换机构【略,详见视频】

3.1.8 具有快表的地址变换机构


快表

总结

3.1.9两级页表

单级页表中存在的问题,如何解决

问题一

  • 需在内存中连续分配页框,是因为页号是连续排列的。连续分配,可以在不给页号分配存储空间的情况下,使每一个页表项和页号一一对应。
  • 为一个进程分配这么多的内存空间,显然是比较吃力的;并且,连续分配显然丧失了非连续分配方式的优点

问题二

解决问题一:采用两级页表




解决问题二:在页表项中增加一个标志位

两级(多级页表优缺点)
  • 优点:
    解决了上面两个问题
  • 缺点:
    页表基数增加,(在没有快表机构的情况下)访问一个逻辑地址的次数也增加,增大了访问时间。

基本分段存储管理

3.1.10 基本分段存储管理

分段


段表

地址变换【略9min33s】
分段、分页管理对比

  • 分段比分页更容易实现信息共享和保护的原因:

总结

基本段页式存储管理

3.1.11基本段页式管理方式

分页、分段的优缺点分析

分页+分段=段页式管理

段页式管理的逻辑地址结构

段表、页表

  • 段页式中的段表:短号、页表长度、页表存放块号。【此时段表对应的是页面,所以第二个字段存的是页表长度
    基本分段中段表:段号、段长、基址。【此时段表对应的是分段,所以第二个字段存的是段长
  • 段页式中的页表和基本分页中的页表一样。
  • 段页式中,一个进程对应一个段表,这个段表对应多个页表(即,一个段表项对应一个页表)
总结

3.2.1虚拟内存的概念

传统存储管理方式的特征、缺点

  • 虚拟技术的提出,是基于局部性原理的。

局部性原理

虚拟内存的定义和特征


如何实现虚拟内存技术

  • 虚拟内存的实现,主要增加了请求调页(请求调段)页面置换(段置换)两个功能。

总结

3.2.2请求分页管理方式

页表机制

缺页中断机构

  • 为了完成请求调页功能,需要系统引入缺页中断机构

  • 将0号页面写入内存,内存中无空闲块的过程:

地址变换机构【略】

总结

3.2.3页面置换算法

最佳置换算法(OPT:Optimal permutation algorithm)

OPT的前提是:之后依次访问的页面序列

先进先出置换算法(FIFO)

  • 分配三个内存块时,缺页次数:9次。

最近最久未使用置换算法(LRU)

时钟置换算法(CLOCK/NRU)

改进型的时钟置换算法

总结

页面分配策略【略】


以上是关于内存管理和虚拟内存的主要内容,如果未能解决你的问题,请参考以下文章

(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念

(王道408考研操作系统)第三章内存管理-第二节1:虚拟内存管理基本概念

操作系统笔记七 内存管理虚拟内存管理(重点:页面置换算法)

操作系统王道考研 p43-44 虚拟内存的基本概念请求分页管理方式

操作系统-3.6-内存(虚拟内存&&请求分页管理详解)超详解

虚拟内存(Virtual Memory)