页面
内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。
物理划分块的大小 = 逻辑划分的页的大小
页面大小要适中。
太大,(最后一页)内碎片增大,类似连续分配的问题。
太小的话,页面碎片总空间虽然小,提高了利用率,但每个进程的页面数量较多,页表过长,反而又增加了空间使用。
页表
为了找到被离散分配到内存中的作业,记录每个作业各页映射到哪个物理块,形成的页面映射表,简称页表。
每个作业有自己的页表
页表的作用:
页号到物理块号的地址映射
离散分配过程
找空//空闲空间管理
放入//装入与地址映射(形成页表)
记录//页表地址记入pcb
如何运行一个作业
连续方式下
pcb记录内存首地址,根据该地址顺序取指令执行即可。
离散方式下
页表记录作业的各页分别占用了内存的哪些块
pcb则记录页表在内存的地址
地址的处理
连续方式下,每条指令用基地址+偏移量即可找到其物理存放的地址。
地址映射过程
若要执行某作业的一条指令,其相对地址是24B (设10B一页,页表如右表),其物理地址到底是多少呢?
1.分析其所在的页和偏移得:2号页(页号从0开始) ,偏移4B处是该条指令
2.查页表找页面对应的块(2号页保存在6号物理块)
3.找物理块6,向下偏移4B,找到要执行的指令。取出执行即可。
作业相对地址在分页下不同位置的数有一定的意义结构:页号+页内地址(即页内偏移)




网友评论