软考(软件设计师)--操作系统知识之存储管理(一)

一、 存储管理主要指对内存的管理,负责内存分配和回收,内存的保护和扩充

  • 存储管理的目的使尽量提高内存的使用效率。

内存的分配方式有两种

  • 连续的分配的方式
  • 离散的分配方式

连续的分配的方式:
指为一个用户程序分配一个连续的内存的空间。

  1. 单一连续分配
  2. 固定分区分配
  3. 动态分区分配
  4. 可重定位分区分配

重点:动态分区分配:
为把一个新作业装入内存,需按照一定的分配算法,从空闲分区表或空闲分区链中选出一分区分配给该作业。
常用的分配算法:

  1. 首次适应算法
  2. 循环首次适应算法
  3. 最佳适应算法
  4. 最坏适应算法

可重定位分区分配
如果在系统中只有若干个小分区,及时他们的容量总和大于要装入的程序,但由于这些分区不相邻,也无法将程序装入内存。
解决方法:将内存中的左右作业进行移动,使他们全部邻接,这样把原来分散的小分区拼接成大分区,这样方法称为拼接或紧凑。

动态重定位:
在动态运行时装入的方式,将相对地址转换成物理地址的工作在程序指令真正要执行时才进行。地址转换需要重定位寄存器的支持。程序执行时访问的内存地址是相对地址与重定位寄存器中的地址相加而成。
在这里插入图片描述

二、对换与覆盖技术

覆盖技术:
一个作业的若干程序或数据段的某些部分共享内存空间。
对换技术:
把内存中暂时不能运行的进程或者暂时不用的程序和数据,调到外存上,以便腾出猪狗的内存空间,再把已具备运行条件的进程和进程所需要的程序和数据调入内存。

对换的分类:

  • 整体对换(或进程对换):以整个进程为单位
  • 页面对换或分段对换:以页或段为单位

连续分配方式会形成碎片,虽然可以用过紧凑解决,但是开销大。如果允许一个进程直接分散地进入装入许多不相邻的分区中,则无需紧凑,由此产生离散分配方式。
分类:

  • 分页存储管理方式:离散分配的基本单位是页
  • 分段存储管理方式:离散分配的基本单位是段

三、基本分页存储管理方式

  1. 页面与页表
  2. 地址变换机构

页面:
分页式存储管理的原理:
将一个进程的饿逻辑地址空间分成若干个大小相等的片称为页面或页,并为各页加以编号,从0开始。同事把内存空间分成与页面相同大小的若干各存储块,称为块或页框。
在为进程分配内存时,以块为单位将进程的若干各页分别装入到多个可以不相邻的物理块中。进程的最后一页经常装不满一块而形成”页内碎片“

地址变换:
在这里插入图片描述
基本分页式存储管理的实现
进程的每一页离散地存储在内存的任一存储块中,为方便查找,系统为每一进程建立一张页面映像表,简称页表。
页表实现了从页号到物理块号的地址映射。
在这里插入图片描述
为了能将用户地址空间的逻辑地址变换为内存空间的物理地址,在系统中必须设置地址变换机构。
地址变换机构实现从逻辑地址到物理地址的转换,由于页内地址与物理地址是一一对应的,因此,地址变换机构的任务是借组于页表,将逻辑地址中的页号转换为内存中的物理块号。

在这里插入图片描述

具有块表的地址变换机构
由于页表是存放在内存中的,CPU在每存取一个数据时,需要两次访问内存:
第一次,访问页表,找到指定页的物理块号,将块号与页内偏移量拼接形成物理地址。
第二次:从第一次所得地址中获得所需数据,或向此地址中写入数据。
存储器利用率提高,处理器处理速度降低。
解方式:在地址变换机构中,增设一个具有并行查询能力的特殊高速缓冲寄存器,称为”联想存储器“或”块表“。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章