第三章内存管理基础
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两级页表
单级页表中存在的问题,如何解决
问题一
- 需在内存中连续分配页框,是因为页号是连续排列的。连续分配,可以在不给页号分配存储空间的情况下,使每一个页表项和页号一一对应。
- 为一个进程分配这么多的内存空间,显然是比较吃力的;并且,连续分配显然丧失了非连续分配方式的优点
问题二
解决问题一:采用两级页表
解决问题二:在页表项中增加一个标志位
两级(多级页表优缺点)
- 优点:
解决了上面两个问题 - 缺点:
页表基数增加,(在没有快表机构的情况下)访问一个逻辑地址的次数也增加,增大了访问时间。
以上是关于第三章内存管理基础的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)
(王道408考研操作系统)第三章内存管理-第二节2:请求分页管理方式
(王道408考研操作系统)第三章内存管理-第二节2:请求分页管理方式