操作系统之存储管理详细知识点

存储管理所研究的内容包括三个方面:取(Fetch)、放(Placement)、替换(Replacement)。

  • “取”是研究该将哪个进程(或进程的某些部分)从辅存调入主存。调入进程占用主存或有资格占用主存是中级调度的工作。在主存资源有限的情况下,也可以调入进程的某些部分占用主存,它一般有请调(Demand Fetch)和预调(Anticipatory Fetch)之分。前者按照进程运行需要来确定调入进程的某一部分;后者是采用某种策略,预测出即将使用的进程的某部分并调入到主存。

  • “放”则是研究将“取”来的某进程(或进程的某部分)按何种方式放在主存的什么地方。

  • “替换”是研究将哪个进程(或进程的某部分)暂时从主存移到辅存,以腾出主存空间供其他进程(或进程的某部分)占用。

在这三个方面中,“放”是存储管理的基础。目前“放”的技术可归结成两类:一类是连续的,即运行的程序和数据必须放在主存的一片连续空间中(单道连续分配、多道固定分区和多道可变分区方法均属此类);另一类是不连续的,即运行的程序和数据可以放在主存的多个不相邻的块中(页式管理、段式管理和段页式管理即属此类)。下面详细介绍:

一、连续空间管理

1. 单道连续分配

系统只有单道用户程序,单道用户程序连续存放于主存中。

2. 多道固定分区法

单道管理过于简单,主存中只能存放一道作业。多道固定分区法将用户空间分成如大小固定的几块,各块大小的选取很重要。系统初启时,可根据系统中常运行的作业的大小来划分各块。以后在系统运转过程中不断收集统计信息,再重新修订各块的大小。
在多道固定分区法下,存储调度(即中级调度)一般分为多队列法和单队列法。多队列法是指每个存储区对应一个作业队列,在作业到达后,按该作业的大小在对应的队列中排队。单队列法是指系统中仅保持一个作业队列。
多道固定分区法虽比单道连续分配法提高了空间利用率,但对空间的利用仍不充分。进入各存储块的作业长度往往短于该块的长度,因而存在一些未加利用的存储空间。另外,若大作业较多,小存储块就常处于空闲状态而形成浪费。这些未得到利用的空间称为存储碎片。

3. 多道可变分区法

这种方法对用户存储实施动态分割,从而改善了空间的利用效果。系统设置一张表(多道可变连续分区法一般用数组或链表管理可用空间),登记主存空间用户区域未占用的块(空闲块)。当作业到达后,即可在空闲块中分配空间。如果满足作业要求的可用快可能有多个,那么应该选择哪一块分给作业呢,有以下三种选择方案:
① 首次满足法(First Fit)。搜索F时,选择所碰到的第一个满足作业存储量要求的块分配给用户。
② 最佳满足法(Best Fit)。在F中选出所有满足作业要求的存储块中最小的一块分给用户。
③ 最大满足法(Largest Fit)。在F中选出满足作业要求的最大块分给用户。
下面两张图展示了多道可变分区的一个实例。
在这里插入图片描述
在这里插入图片描述
采用可变分区,没有内部碎片(一般不把小于基本存储分配单位的未利用的空间看成碎片)。但是有外部碎片,并且外部碎片现象经常很严重。这可以用紧致(Compact)空间的方法予以消除。紧致的基本思想是,通过移动主存中的作业位置,使可用空间连成一片。实现紧致必须要求作业代码是动态重定位的。(精致虽然可以达到较好的效果但是实施复杂)
连续空间管理总结:

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值