一.  分页存储管理

1.基本思想

用户程序的逻辑地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。

管理将内存空间划分成等长的若干物理块,成为物理页面也成为物理块,每个物理块的大小一般取2的整数幂。内存的所有物理块从0开始编号,称作物理页号。

系统将程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面也称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页面内从0开始编址,称为页内地址。程序中的逻辑地址由两部分组成:页号P和页内位移量W。

2.页表

分页系统中,允许将进程的每一页离散地存储在内存的任一物理块中,为了能在内存中找到每个页面对应的物理块,系统为每个进程建立一张页表,用于记录进程逻辑页面与内存物理页面之间的对应关系。页表的作用是实现从页号到物理块号的地址映射,地址空间有多少页,该页表里就登记多少行,且按逻辑页的顺序排列

 

操作系统 段页式内存分配

——内存访问

操作系统 段页式内存分配

通常需要获取一个逻辑地址的值,需要访问2次内存,第一次访问页表,定位到实际物理地址,第二次,访问到该值

快表:将页表装入高速缓存中,加快实际物理地址的定位,只需要访问一次主存 

 

  • 分页方式的优点是页长固定,因而便于构造页表、易于管理,且不存在外碎片。
  • 分页方式的缺点是页长与程序的逻辑大小不相关,会产生内碎片

 

二.  分段存储管理

1.基本思想

段是按照程序的自然分界划分的长度可以动态改变的区域。通常,程序员把子程序、操作数和常数等不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段。 段表本身也是一个段,可以存在辅存中,但一般是驻留在主存中。

将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。

2. 分段地址结构

作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例程序段、数据段等。每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间是二维的。

在段式虚拟存储系统中,虚拟地址由段号和段内地址组成,虚拟地址到实存地址的变换通过段表来实现。每个程序设置一个段表,段表的每一个表项对应一个段,每个表项至少包括三个字段:

  • 有效位:指明该段是否已经调入主存
  • 段起址:该段在实存中的首地址
  • 段长 :记录该段的实际长度

3. 地址转换

物理地址=根据段号找到段表中所在段的起始地址+段内偏移

 

操作系统 段页式内存分配

 

段式存储优点:

(1)    段的逻辑独立性使其易于编译、管理、修改和保护,也便于多道程序共享。

(2)    段长可以根据需要动态改变,允许自由调度,以便有效利用主存空间。

(3)    方便编程,分段共享,分段保护,动态链接,动态增长

段式存储缺点:

(1)    主存空间分配比较麻烦。

(2)    容易在段间留下许多碎片,造成存储空间利用率降低。主要是外碎片

 

三.  段页式存储管理

1.  段页式存储管理的基本思想

段页式存储组织是分段式和分页式结合的存储组织方法,这样可充分利用分段管理和分页管理的优点。

   (1) 用分段方法来分配和管理虚拟存储器。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。

     (2) 用分页方法来分配和管理实存。即把整个主存分成与上述页大小相等的存储块,可装入作业的任何一页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。

操作系统 段页式内存分配

将程序的逻辑地址划分成多个段,而每个段又由多个页面组合而成 

 

2.  地址转换

逻辑地址由3部分组成:段号、页号、页内偏移

对于一个逻辑地址,其访问到实际物理地址的过程:

  • 根据段号,定位到段表相应的段位置(借助段表基地址寄存器加速)
  • 读取段表内容,定位到段对应的页表位置
  • 根据页号,以及页表完成到实际物理块的映射
  • 加上页内偏移,访问到绝对物理地址

 

操作系统 段页式内存分配 

 

 3.段页式存储管理的优缺点

 优点

(1) 它提供了大量的虚拟存储空间。

(2) 能有效地利用主存,为组织多道程序运行提供了方便。

缺点:

(1) 增加了硬件成本、系统的复杂性和管理上的开消。

(2) 存在着系统发生抖动的危险。

(3) 存在着内碎片(段内采用了分页)

(4) 还有各种表格要占用一定的主存空间。

 

 

 

相关文章:

  • 2021-11-15
  • 2021-08-27
  • 2021-04-27
  • 2021-07-29
  • 2021-08-30
  • 2021-04-24
  • 2021-06-21
猜你喜欢
  • 2021-05-16
  • 2022-12-23
  • 2021-10-06
  • 2021-09-21
  • 2021-06-07
  • 2021-09-09
  • 2021-04-21
相关资源
相似解决方案