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

少说废话,先上思维导图有个知识框架。

注意下图中的【动态分区分配】又称为【可变分区分配】。

连续分配、分页和分段三种存储分配机制的优缺点_第1张图片

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

一、分区存储管理

  1、固定分区:

  优点:易于实现、开销小

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

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

  优点: 没有内部碎片

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

二、页式存储管理

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

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

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


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

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

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

典例

连续分配、分页和分段三种存储分配机制的优缺点_第2张图片

【解析】

在段式存储管理中,因为无段长信息,即只有段始址(段始址实际的物理始址),

而在页表中求实际物理地址,要用实际物理地址=K×块大小

(2)

页式存储:

物理地址=页始址+页内偏移量

页始址=内存块号×页面大小=12×2^11=24576,物理地址=24576+586=25162.

段式存储:

物理地址=段始址+段内偏移量=4000+586=4586.

连续分配、分页和分段三种存储分配机制的优缺点_第3张图片

你可能感兴趣的:(操作系统)