计算机操作系统之存储器管理 (4)

先把用户程序分成若干段,再把每一个段分成若干个页面。如一个作业有三个段,页面大小为4KB。在段页式系统中,其地址结构由段号,段内页号及页内地址三部分所组成。如下图:

clip_image009

地址变换过程

为了方便实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长。过程如下:

clip_image011

在段页式系统中,为了得到一个数据,要进行三次访问内存。

1、第一次访问内存的段表,从中取得页表的始址;

2、第二次访问是访问内存的页表,取得物理块号;

3、第三次访问才是真正从第二次访问所得的地址中,取出指令和数据;

虚拟存储器的基本概念

在前面所讲的两种存储管理方式中,都要求将一个作业全部装入内存后方能运行,于是出现了两种情况:

1、有的作业很大,不可能一下子装入内存

2、有大量作业要求运行时,但由于内存容量不足以容纳所有的这些作业,只能将少数作业装入内存让它们先运行,而将其它大量的作业放在外存上等待。

解决上述问题:

1、最常见的是扩大内存。但这往往受到机器自身的限制,而且无疑要增加系统成本;

2、另一种方法是从逻辑上扩充内存容量,这下是虚拟存储技术。

虚拟存储器的引入

常规存储管理方式的特征

1、一次性:一次装入。

2、驻留性:作业从装入内存,便一直驻留在内存中,直到作业运行结束。尽管在整个进程中,可能有多次IO,但是它仍然占用着内存。

局部性原理

1、时间局限性:如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行,如果一个数据被访问过,则不久以后,还可能再次被访问。

2、空间局限性:一旦程序访问了某个存储单元,在不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内。典型的例子是顺序执行。

虚拟存储器的定义

是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外在容量之后所决定,其运行速度接近于内存速度,每位的成本接近于外存。所以是一个很好的解决方案。

虚拟存储器的实现方法

它的实现,都是建立在离散分配的存储管理方式的基础上。一般有两种方法:

1、分页请求系统

2、请求分段系统

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggjyf.html