内存管理方式

2022/5/3 7:17:00

本文主要是介绍内存管理方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.对内存的分配与回收
二.从逻辑上对内存空间进行扩充
三.用户进程中的逻辑地址和物理内存中的物理地址进行高速转换

一.
1.连续分配管理方式
(1)单一连续分配(整个用户区都给用户进程使用)
优点是实现简单;无外部碎片(分配前用户进程以外的无法使用的内存空间);不一定需要内存保护
缺点是只能用于单用户、单任务OS;有内部碎片(分配的内存内部未使用完的空间);存储器利用率低
(2)固定分区分配(用户区分配固定大小的分区)
(分区说明表:记录各分区的分配与回收状态)
优点:无外部碎片,因为可以覆盖
缺点1:大程序可能要用到覆盖,覆盖技术降低性能
缺点2:内存利用率低,有内部碎片
(3)动态内存分配
(空闲分区表/链:记录各分区的分配与回收状态)
选择哪个分区给新进场?
首次适用算法(低地址开始找合适的,形成很多碎片空间)
最佳适应算法(分区容量递增排序:最小空闲空间,形成无法使用的极小空间,即外部碎片)
最坏适应算法(分区容量递减排序:最大连续空间,导致缺少大容量空间)
临近适应算法(从上次查找处向后找)

回收:回收后更新空闲分区表/链,注意相邻空间要合并

2.非连续分配管理方式(进程拆分成不同部分)
(1)基本分页存储管理方式
内存分成大小相等的分区:页框,OS以页框为基本单位分配内存
页表在PCB里,用页表记录每个块号和页号对应


检查页号(有些模块还没加载到内存)
(2)基本分段存储管理方式
(3)段页存储管理方式



这篇关于内存管理方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程