第四章 分页存储管理方式

一,存储管理的离散分配方式

基本分页存储管理

基本分段存储管理

段页式存储管理

二,基本分页存储管理

离散分配内存

作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未使用的小份

第四章 分页存储管理方式

1)页面的概念

内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。

物理划分块的大小 = 逻辑划分的页的大小

页面大小要适中。  太大,(最后一页)内碎片增大,类似连续分配的问题。  太小的话,页面碎片总空间虽然小,提高了利用率,但每个进程的页面数量较多,页表过长,反而又增加了空间使用。

2)页表的概念

为了找到被离散分配到内存中的作业,记录每个作业各页映射到哪个物理块,形成的页面映射表,简称页表。

每个作业有自己的页表

页表的作用:页号到物理块号的地址映射 要找到作业A    关键是找到页表(页表地址保存在PCB,页表保存在内存)   根据页表找物理块

3)地址的处理

连续方式下,每条指令用基地址+偏移量即可找到其物理存放的地址。

规律:

作业相对地址在分页下不同位置的数有一定的意义结构:

            页号+页内地址(即页内偏移)

关键的计算是:根据系统页面大小找到不同意义二进制位的分界线。

从地址中分析出页号后,地址映射只需要把页号改为对应物理块号,偏移不变,即可找到内存中实际位置。

4)地址变换机构

地址变换过程

        分页系统中,进程创建,放入内存,构建页表,在PCB中记录页表存放在内存的首地址及页表长度。 运行某进程A时,将A进程PCB中的页表信息写入PTR中; 每执行一条指令时,根据分页计算原理,得到指令页号X和内部偏移量Y; CPU高速访问PTR找到页表在哪里; 查页表数据,得到X实际对应存放的物理块,完成地址映射计算,最终在内存找到该指令。

5)快表

问题:基本分页机制下,一次指令需两次内存访问,处理机速度降低1/2,分页空间效率的提高以如此的速度为代价,得不偿失。 改进:减少第1步访问内存的时间。增设一个具有“并行查询”能力的高速缓冲寄存器,称为“快表”,也称“联想寄存器”(Associative memory),IBM系统称为TLB(Translation Look aside Buffer)。

快表放什么?: 正在执行进程的页表的数据项。

 快表的寄存器单元数量是有限的,不能装下一个进程的所有页表项。虽不能完全避免两次访问内存,但如果命中率a高还是能大幅度提高速度。

设一次查找访问快表时间为t' ,则   EAT= a*t' + (1-a)(t'+t)  + t

                                                               = 2t +t' -t*a