操作系统王道考研 p35-36 连续分配管理方式动态分区分配算法

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统王道考研 p35-36 连续分配管理方式动态分区分配算法相关的知识,希望对你有一定的参考价值。

连续分配管理方式
动态分区分配算法

知识总览


以下是连续分配管理方式

单一连续分配

单一连续分配:内存被分为系统区和用户区
系统区:存放操作系统相关数据。
用户区:存放用户进程相关数据。
内存中只能有一道用户程序。

固定分区分配

分为分区大小相等和不等两种情况。

分区说明表:
大小,起始位置,(分配)状态

动态分区分配

又称为可变分区分配
不会预先划分内存分区,而是在进程装入内存时,根据进程的大小动态地建立分区。

三个问题:
系统要用什么数据结构记录内存的使用情况?
表或链。

当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配
按照一定的动态分区分配算法来分配。这里不细说。

如何进行分区的分配与回收?
视频14:57开始
分配有两种方法。
分配方法1:修改空闲分区大小和起始地址。
分配给进程5。

分配方法2:(如果刚好用完)删除空闲分区。

回收有4种方法。
回收方法1:回收区的后面有一个相邻的空闲分区,则将相邻的2个空闲分区合并为1个。

回收方法2:回收区的前面有一个相邻的空闲分区,则将相邻的2个空闲分区合并为1个。

回收方法3:回收区的前面和后面都有一个相邻的空闲分区,则将相邻的3个空闲分区合并为1个。

回收方法4:回收区的前后都没有一个相邻的空闲分区,则增加一个表项。

动态分区分配有外部碎片。
内部碎片:分配给进程的没用上。
外部碎片:空闲分区太小用不上。

蓝色的小缝隙就是外部碎片。

以下是动态分区分配算法

首次适应算法:每次都从低地址开始查找,找到的第一个能满足大小的空闲分区。

最佳适应算法:空闲分区按容量递增次序链接。每次分配内存顺序查找空闲分区链(表),找到大小能满足要求的第一个空闲分区。也就是找大于等于要求的最小分区。
缺点:每次都选最小的分区分配,会留下更多很小的难以利用的内存块。会产生很多外部碎片。

最坏适应算法:又称最大适应算法。就是找满足条件的最大的空间进行分配。
缺点:每次都选最大的分区分配,可能导致较大的连续空间快速用完,之后若有大进程到达,将无分区可用。

临近适应算法:从上次查找结束位置开始找,找到满足要求的第一个空闲分区。

总结


以上是关于操作系统王道考研 p35-36 连续分配管理方式动态分区分配算法的主要内容,如果未能解决你的问题,请参考以下文章

操作系统王道考研 p37-38 基本分页存储管理的基本概念基本地址变换机构

(王道408考研操作系统)第三章内存管理-第一节4:连续分配管理方式(单一连续固定分区和动态分区分配)

(王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式

(王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式

(王道408考研操作系统)第三章内存管理-第一节6-1:非连续分配管理方式之基本分页存储管理

(王道408考研操作系统)第三章内存管理-第一节8:非连续分配管理方式之段页式管理方式