操作系统王道考研 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:非连续分配管理方式之基本分段管理方式