美文网首页
软件设计师考试 | 第四章 操作系统知识 | 存储管理

软件设计师考试 | 第四章 操作系统知识 | 存储管理

作者: Levi_moon | 来源:发表于2020-12-04 22:45 被阅读0次

存储管理的对象是主存存储器简称主存或内存。
存储管理的主要功能包括主存空间的分配和回收、提高主存的利用率、扩充主存、对主存信息实现有效保护。

(一)基本概念

1.存储器的结构

常用的存储器的结构有“寄存器-主存-外存”结构和“寄存器-缓存-主存-存储组织的功能外存”结构。

  • 虚拟地址,从0号单元开始编址,并顺序分配所有符号名所对应的地址单元,所以它不是主存中的真实地址。
  • 地址空间,源程序经过汇编或编译后再经过链接编辑程序加工形成程序的装配模块,即转换为相对地址编址的模块,它是以0为基址顺序进行编址的。把程序中由相对地址组成的空间称为逻辑地址空间,相对地址空间通过地址再定位机构转换到绝对地址空间。
  • 存储空间,逻辑地址空间(简称地址空间)是逻辑地址的集合,物理地址空间(简称存储空间)是物理地址的合集。

2.地址重定位

定义: 是指将逻辑地址变换成主存物理地址的过程。

地址重定位分为:

  • 静态重定位,是指在程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不再会发生变化。
    • 优点:无须硬件地址变换机构的支持,它只要求程序本身是可重定位的,只对那些要修改的地址部分具有某种标识,由专门设计的程序完成。
    • 缺点:必须给作业分配一个连续的存储区域,在作业的执行期间不能扩充存储空间,也不能在主存中移动,多个作业也难以共享主存中的同一程序副本和数据。
  • 动态重定位,是指在程序运行期间完成逻辑地址到物理地址的变换。
    • 优点:程序在执行期间可以换入和换出主存,以解决主存空间不足的问题;可以在主存中移动,把主存中的碎片集中起来,以充分利用空间;不必给程序分配连续的主存空间,可以较好地利用较小的主存块;可以实现共享。

(二)存储管理方案

存储管理的主要目的是解决多个用户使用主存的问题,其存储管理方案主要包括区分存储管理、分页存储管理、分段存储管理、段页式存储管理及虚拟存储管理。

1.分区存储管理

核心思想: 把主存的用户区划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。

按划分方式不同可分为:

  • 固定分区,是一种静态分区方式,在系统生成时已将主存划分为若干哥分区,每个分区的大小可不等。
  • 可变分区,是一种动态分区方式,存储空间的划分是在作业装入时进行,古分区的个数是可变的,分区的大小刚好等于作业的大小。
    可变分区的请求和释放分区主要有如下四种算法:
    • 最佳适应算法
    • 最差适应算法
    • 首次适应算法
    • 循环首次适应算法
  • 可重定位分区,移动所有已分配好的分区,使之称为连续区域。

2.分区保护

目的: 防止未经核准的用户访问分区。

常用方式:

  • 采用上界/下界寄存器保护
  • 采用基址/限长寄存器保护

(三)分页存储管理

1.纯分页存储管理

  • 分页原理
    将一个进程的地址空间划分成若干个大小相等的区域,称为页。
    将主存空间划分成与页相同大小的若干个物理块,称为块或页框。
  • 地址结构
    两部分组成:页号、页内地址
  • 页表
    系统为每个进程建立一张页面映射表,简称页表。

2.快表

在地址映射机构中增加一个小容量的联想存储器,联想存储器由一组高速存储器组成,称之为快表,用来保存当前访问频率高的少数活动页的页号及相关信息。

3.两级页表机制

将页表进行分页,每个页面的大小与主存物理块的大小相同,并为它们进行编号,可以离散地将各个页面分别存放在不同的物理块中。为此需要建立一张页表,称为外层页表(页表目录),即第一级是页目录表,其中的每个表目是存放某个页表的物理地址;第二级是页表,其中的每个表目所存放的是页的物理块号。

两级页表的地址变换机构

(四)分段存储管理

在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段是一组完整的逻辑信息,例如有主程序段、子程序段、数据段及堆栈段等,每个段都有自己的名字,都是从0开始编址的一段连续的地址空间,各段的长度是不等的。

逻辑地址由段号(名)和段内地址两部分组成。


(五)段页式存储管理

段页式系统的基本原理是先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分成若干个段,并未每个段赋予一个段名,再将每个段划分成若干页,以页框为单位离散分配。

在段页式系统中,其地址结构由段号、段内页号和业内地址三部分组成。


段页式管理的地址结构

1.程序局部性原理

程序在执行时将呈现局部性规律,即在一段时间内,程序的执行仅局限于某个部分。相应地,它所访问的存储空间也局限于某个区域内。

程序的局限性表现在:

  • 时间局限性,指如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。
  • 空间局限性,指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。

2.虚拟存储器的实现

虚拟存储器的实现有如下三种方式:

  • 请求分页系统,在分页系统的基础上增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。
  • 请求分段系统,在分段系统的基础上增加了请求调段和分段置换功能所形成的段式虚拟存储系统。
  • 请求段页式系统,在段页式系统的基础上增加了请求调页和页面置换功能所形成的段页式虚拟存储系统。

3.请求分页管理的实现

请求分页是在纯分页系统的基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统,是目前常用的一种虚拟存储器的方式。


(六)虚拟存储管理

1.程序局部性原理

局限性表现在时间局限性和空间局限性两个方面。

2.虚拟存储器的实现

  • 请求分页系统
  • 请求分段系统
  • 请求段页式系统

3.请求分页管理的实现

请求分页是在纯分页系统的基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统,它是目前常用的一种虚拟存储器的方式。

4.页面置换算法

常用的页面置换算法:

  • 最佳置换算法
  • 先进先出置换算法
  • 最近最少未使用置换算法
  • 最近未用置换算法

5.工作集

工作集就是指在某段时间间隔里进程实际要访问的页面的集合。


相关文章

网友评论

      本文标题:软件设计师考试 | 第四章 操作系统知识 | 存储管理

      本文链接:https://www.haomeiwen.com/subject/fgbviktx.html