2023年11月26日发(作者:)

可变就是指分区的 大小和位置不是固定 的,而是根据作业要求的主存量来分配分区的大

小。

1、主存的分配和去配(回收)

在系统初始化时,主存除了操作系统所占部分外,整个用户区是一个大的空闲区,可以

按作业需要的空间大小顺序分配空闲区直到不够时为止。

当作业结束时,它的占用分区被收回。这个空闲区又可以根据新作业的大小重新用于分

配,所以主存中的已占分区和空闲区的数目和大小都是在变化的。可以用两张表“已分配区

表”和“空闲区表”来记录和管理。

2、常用的分配算法

最先适应分配算法 简单地说,就是在分区表中顺序查找,找到够大的空闲区就分配。

但是这样的分配算法可能形成许多不连续的空闲区,造成许多“碎片”,使主存空间利用率

降低。

最优适应分配算法 :这种算法总是挑选一个能满足作业要求的最小空闲区。但是这种

算法可能形成一些极小的空闲区,以致无法使用,这也会影响主存利用率。

最坏适应分配算法 :这种算法和上面的正好相反,它总是挑一个最大的空闲区分给作

业使用,使剩下的空间不至于太小。

3、地址转换与存储保护

采用 可变分区方式管理 时,一般均采用 动态重定位 方式装入作业。也就是每读一条

指令,都要变换一次地址。变换要靠硬件支持,主要是 两个寄存器 基址 寄存器和

寄存器,限长寄存器存放作业所占分区的长度,基址寄存器则存放作业所占分区的起始

地址,这两个值确定了一个分区的位置和大小。

转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再加上

基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断。达到存储保护的目的。

对于共享程序,则硬件提供两组限长寄存器和基址寄存器。访问时对访问区享区和作业

区的地址分别进行转换。

4、移动技术的应用

移动技术 要“移动”的是主存空间中的作业。把某个作业移到另一处主存空间去(在磁

盘整理中我们应用的也是类似的移动技术),这样的最大好处就是可以合并一些空闲区。

但是移动技术的应用也要注意以下问题。

移动会增加系统开销。所以要尽量减少移动。

移动是有条件的,如果作业在执行过程中正等待与外围设备传输信息,就不能移动。

此在移动时首先要判定该作业是否与外设交换信息

四、页式存储管理( 领会 )

1、如何分页和分块

页式存储管理中有两个名词: ”和“ ,其中的“块”是针对硬件来说的,就

是把存储器分成若干相等大小的区,每个区就称为一个块。对应的,在程序中,逻辑地址进

行“分页”,其大小和每个块相一致。

事实上,页面的大小是由块的大小自然决定的。对于程序来说,其逻辑地址还是和原来

一样采用连续的地址。只是 按照块的位数取其前面数位做为页号 .

分配空间时,根据作业长度可以确定它的页面数,根据这个页面数在主存中分配相应的

块数,只要是空闲块就可以放入,即使不是相邻的。并把分配情况记在“页表”中,根据页

表可以找到相对应的页号与块号,就得出绝对地址了。

2采用页式管理,使主存空间充分利用,页不必为了得到连续空间而进行移动。 可以

提高系统效率。

3、页表的构造与作用

每个被装入主存的作业都有一张 页表 指出该作业逻辑地址中的页号与所占用的主存

块号之间的对应关系。页表的长度由作页拥有的页面数决定,行号对应为页号,行中记录的

是主存中的块号。

页表是硬件进行地址转换的依据,每执行一条指令时按逻辑地址中的页号查找页表并转

换成绝对地址。

在多道程序设计系统中,进入主存的每个作业都有一张页表,由一个硬件“页表控制寄

存器”来记录每个作业的页表所在位置和长度以便作业转换时同时转换页表。

4、快表的构造与作用

快表 就是页表的一部分克隆,每行中有页号及其对应的块号,整个快表存放在一个小

容量的高速缓存中,访问时快表和内存同时进行查找,因为快表速度很快,而常用的页都登

记在快表中,因此可以大大加快执行速度。

5、采用页式管理的地址转换过程

(为什么不直接用块分配表来记录而要用位示图呢,因为主存块很多,这样可以节省空

间,提高效率。位示图就是用一个位(01)来表示一个块的使用状态,一个字32位,可以

表示32块。按顺序排列,只需一小段内存就可以记录主存中大量的块状态)

6、利用位示图实现页式存储空间的分配和回收

页式存储管理把主存空间分成大小固定的许多块,在装业作业时,如何知道主存中哪些

块已使用,哪些还未用,可以用位示图来表示。

块号=字号×字长+位号

字号=[i/字长](即块号i除以字长取整)

位号=i mod 字长(即块号i除以字长取余)