存储器

举报
兔老大 发表于 2021/04/24 00:15:44 2021/04/24
【摘要】 重定位 程序的装入 绝对装入方式可重定位的装入方式(静态)动态运行时装入方式(动态)重定位寄存器 内存的分配方式 连续的分配方式离散的分配方式 连续的分配方式 单一连续分配:一道程序在内存中,内存浪费严重固定分区分配:程序变多缺点:会产生内碎片动态分区分配(重点)不能消除外碎片  思想:按需分配可重定位的分区分配 在动态分区分配方式上增加一个紧凑(拼接碎片)功能以动态...

重定位

程序的装入

  1. 绝对装入方式
  2. 可重定位的装入方式(静态)
  3. 动态运行时装入方式(动态)重定位寄存器

内存的分配方式

  1. 连续的分配方式
  2. 离散的分配方式

连续的分配方式

  1. 单一连续分配:一道程序在内存中,内存浪费严重
  2. 固定分区分配:程序变多缺点:会产生内碎片
  3. 动态分区分配(重点)不能消除外碎片  思想:按需分配
  4. 可重定位的分区分配
    1. 在动态分区分配方式上增加一个紧凑(拼接碎片)功能
    2. 以动态运行时装入方式为前提

动态分区分配算法​

首次适应算法FF

    FF算法要求空闲分区表以地址递增的次序排列。在分配内存时,从表首开始顺序查找,直至找到一个大小能满足要求的空闲分区为止;然后按照作业的大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表中。若从头到尾不存在满足要求的分区,则分配失败。

优点:优先利用内存低址部分的内存空间

缺点:低址部分不断划分,产生小碎片(内存碎块、内      存碎片、零头);每次查找从低址部分开始,增      加了查找的开销

循环首次适应算法NF

在分配内存空间时,从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区,从中划出一块与请求大小相等的内存空间分配给作业。

优点:使内存空闲分区分布均匀,减少查找的开销

缺点:缺乏大的空闲分区

最佳适应算法BF

所谓“最佳”是指每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。要求将所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。

    缺点:产生许多难以利用的小空闲区

离散的分配方式

分页存储管理方式

(可能在最后一页产生内碎片)进程分页,内存分块(页和块等大小) 

页表

 

 

 

页式地址映射

(逻辑地址转换城物理地址)

 

 

 

 

地址转换机构(页表在内存,页表寄存器快表。页表很庞大时采取两级或多级页表)

有快表有页表,先查快表;没有快表查页表

 

 

 

分段存储管理方式

(不可能有内碎片产生,外碎片不可避免)进程分段,各段在内存。段与段之间离散分配,某一段在内存中连续分配
计算:给定逻辑地址合成物理地址段表

 

段页式存储管理方式

进程分段,段内分页,内存分块

    1. 分页和分段的主要区别

相似点:采用离散分配方式,通过地址映射机构实现地       址变换

不同点:页是信息的物理单位,分页是为了满足系统的    需要;段是信息的逻辑单位,含有一组意义相对完    整的信息,分段是为了满足用户的需要。

页的大小固定且由系统确定,由系统把逻辑地址分为页号和页内地址,由机器硬件实现;段的长度不固定,取决于用户程序,编译程序对源程序编译时根据信息的性质划分。

分页的作业地址空间是一维的;分段的作业地址空间是二维的。

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/102886341

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。