操作系统 『连续分配存储管理方式』

连续分配存储管理方式

连续分配方式,是指为一个用户程序分配一个连续的内存空间。

单一连续分配

内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。
最简单,适用于单用户、单任务的OS

优点:
  • 易于管理。
缺点:
  • 对要求内存空间少的程序,造成内存浪费;
  • 程序全部装入,很少使用的程序部分也占用内存。

固定分区分配

系统提前把内存分为一些大小相等或不等的分区(partition),每个进程占用一个分区。操作系统占用其中一个分区

划分分区的方法
  1. 分区大小相等:只适合于多个相同程序的并发执行(处理多个类型相同的对象)。缺乏灵活性
  2. 分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。
特点:适用于多道程序系统和分时系统
  • 支持多个程序并发执行
优点:易于实现,开销小。
缺点:
  • 内碎片造成浪费
  • 分区总数固定,限制了并发执行的程序数目。
采用的数据结构:
  • 分区表-记录分区的大小和使用情况
存储保护:高界限寄存器、低界限寄存器
  • 下限寄存器值≤绝对地址≤上限寄存器值
地址转换公式:绝对地址=下限寄存器+逻辑地址

动态(可变)分区分配

动态创建分区:
  • 在装入程序时按其初始要求分配;
  • 在其执行过程中通过系统调用进行分配或改变分区大小。
优点:没有内碎片。
缺点:有外碎片;

“逻辑地址>限长寄存器值”时,形成一个“地址越界”的程序性中断事件

地址转换公式:绝对地址=基址寄存器值+逻辑地址

动态(可变)可重定位分区分配

  1. 动态重定位的引入

    解决碎片:将内存中的所有作业进行移动,使它们全部邻接,这样可把原来分散的小分区拼接成大分区,这种方法称为“拼接”或“紧凑”。
    缺点:用户程序在内存中的地址发生变化,必须重定位。

紧凑技术

内存紧凑(compaction):将各个占用分区向内存一端移动。使各个空闲分区聚集在另一端,然后将各个空闲分区合并成为一个空闲分区。
优点: 消除外碎片。
缺点:

  • 对占用分区进行内存数据搬移占用CPU时间;
  • 重定位需要硬件支持。

紧凑时机:

  • 每个分区释放后;
  • 内存分配找不到满足条件的空闲分区时。
动态重定位的实现

在这里插入图片描述

动态重定位分区分配算法

在这里插入图片描述

可重定位分区分配方式主要特点
  • 可以充分利用存储区中的“零头/碎片”,提高主存的利用率。
  • 拼接/紧凑会使系统开销加大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值