第三章、内存管理和虚拟内存

文章目录

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)

在这里插入图片描述

改进型的时钟置换算法

在这里插入图片描述

总结

在这里插入图片描述

页面分配策略【略】

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值