目录
1,基本概念
2,分区存储管理
3,分页存储管理
4,分段存储管理
5,虚拟存储管理
6,页面置换算法
存储器管理的对象是主存储器(主存,内存)。存储管理的主要功能包括分配和回收主存空间、提高主存的利用率、扩充主存、对主存信息实现有效保护。
基本概念:存储器的功能是保存数据,存储器的发展方向是高速度、大容量和小体积。
一般存储器的结构有“寄存器—主存—外存”结构和“寄存器—缓存—主存—外存”结构。
1,虚拟地址:是虚拟的,它从0号单元开始编址,并顺序分配所有的符号名所对应的地址单元,也成为相对地址,程序地址,逻辑地址。
2,地址空间:是物理地址,内存或外存上的地址,程序中由符号名组成的空间成为名空间。
在目标地址中,程序指令和数据的位置按照字或字节单位根据它们的相对顺序来确定,成为相对地址;把程序中由相对地址组成的空间叫做逻辑地址空间,逻辑地址空间通过地址再定位机构转换到绝对地址空间,绝对地址空间也叫物理地址空间。
地址重定位:将逻辑地址转换为主存物理地址的过程成为重定位。
1,静态地址重定位:是指在程序装入内存时已经完成了逻辑地址到物理地址的变换,在程序执行期间不会再发生变化;
2,动态地址重定位:是指再程序运行期间完成逻辑地址到物理地址的变换。
存储管理的管理方案包括分区存储管理、分页存储管理、分段存储管理、段页式存储管理、虚拟存储管理。
分区存储管理:
是把主存的用户划分成若干个区域,每个区域分配给一个用户使用,并限定它们只能在自己的区域中运行,这种主存分配方案就是分区存储管理方式。
1,固定分区:是一种静态分区方式,在系统生成时已将主存划分成若干个分区,每个分区的大小可不等;(会有碎片)
2,可变分区:是一种动态分区方式,存储空间的划分是在作业装入时进行的,故分区的个数可变,分区的大小刚好等于作业的大小。
可变分区分配包括两种管理表格:已分配表,记录已分配分区的情况;未分配表,记录未分配区的情况。
请求和释放分区主要由4种算法:最佳适应算法,最差适应算法,首次适应算法,循环首次适应算法。
3,可重定位分区:是解决碎片问题简单而行之有效的方法,基本思想是:移动所有已分配好的分区,使之成为连续区域。
分区保护的目的是防止未经核准的用户访问分区。分区保护有两种方式:
1,上界/下界寄存器保护:
上界寄存器中存放的是作业的装入地址;下界寄存器装入的是作业的结束地址。
形成的物理地址的要求:上界寄存器<=物理地址<=下界寄存器
2,基址/限长寄存器保护:
基址寄存器中存放的是作业的装入地址;限长寄存器装入的是作业的结束地址。
形成的物理地址的要求:基址寄存器<=物理地址<基址寄存器+限长寄存器
分页存储管理:
将一个进程的地址空间划分为若干个大小相等的区域,成为页;将主存空间划分成与页相同大小的若干个物理块,成为块,或页框。
31 页号P 12 | 11 页内地址W 0 |
前半段是页号P,后半段是偏移量W。
上述0~11位为页内地址(每页的大小为4KB,
b = 4KB),12~31为页号,所以可以存放
b = 1MB个页。
页表(页面映射表):每个页在页表中占一个表项,记录程序中的某页在内存中对应的物理块号。
地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成内存中的物理地址。
分段存储管理:
31 段号S 16 | 15 段内地址d 0 |
例如上表格,允许一个作业最多有
=64KB段,每段的最大长度为
=64KB。
虚拟存储管理:
时间局限性:如果程序中的某条指令一旦执行,则不久的将来可能会再次被执行;
空间局限性:一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。
虚拟存储器的实现有三种方式:请求分页系统,请求分段系统,请求段页式系统。
页面置换算法:
1>,最佳置换算法
选择那些永不使用的,或者是在很长时间内不再被访问的页面置换出去。
2>,先进先出FIFO置换算法
总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。
3>,最近最少使用LRU置换算法
选择最近最少使用的页面予以淘汰。
4>,最近未用NUR置换算法
将最近一段时间未引用过的界面换出。