连续分配、分页和分段三种存储分配机制的优缺点

连续,设计简单,直接寻址,效率高。缺点:内存利用效率最低,有内部碎片。
分页,设计最复杂,容易产生外部碎片,无论数据有多少,都只能按照页面大小分配,造成浪费。
分段,程序员在编程和使用上多方面的要求,缺点,无法利用碎片,必须搬移内存,造成性能损失。

一、分区存储管理

  1、固定分区:

  优点:易于实现、开销小

  缺点:存在内部碎片(分区内未被利用空间)、分区总数固定,限制了并发执行的程序数量。

  2、动态创建分区:按照程序申请要求分配。

  优点: 没有内部碎片

  缺点:有外部碎片(难以利用的小空闲分区)

二、页式存储管理

  优点: 没有外部碎片,最后一页可能有内碎片但不大;程序不必连续存放;便于改变程序占用空间大小。

  缺点: 程序仍需要全部装入内存

分页和分段系统有许多相似之处。比如,两者都采用离散分配方式,且都要通过地址映射机构来实现地址变换。但在概念上两者完全不同,主要表现在下述三个方面。 


(1) 页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题, 提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要。 

(2) 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。

(3) 分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
 

发布了287 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35812205/article/details/105422628