一、基本概念
1、页和页框的区别
划重点::逻辑地址空间分为若干页;物理内存空间分为若干页框(也叫作块)
页
分页存储管理是将作业的逻辑地址划分为一系列同等大小的部分,称为页。
并为各页加以编号,每个作业的页的编号都是从0开始的。
页框
与之类似,把可用的物理内存也划分为同样大小的连续的部分,称为块或页框。同样为块也进行标号,从0#开始。
在为进程分配内存空间时,以页为单位,每个内存中的块存放一页用户作业。只要内存中有足够多的块,这些块可以相邻也可以不相邻,就可以存放整个作业了。
页面的大小对于内存利用和系统开销来说非常重要,页面太大,在作业的最后一页必然会剩余较大不能利用的空间–内碎片。页面太小,虽然可以减小内碎片的大小,但是一个作业的页太多,会使得作业页表太长而占用内存,同时系统频繁地进行页面转化,加重系统开销。
因此,页面的大小应该适中,通常为512B - 8KB,windows系统的页面大小为4KB。
2、地址结构
分页系统中的地址结构由两部分组成,页号和页内偏移量。
可以解释为一个二元组(p,w),其中p是页号,w是页面p中的偏移量或者相对于p页开始的位置。
下图(a) 中的地址长度为32位,其中0 - 9位为页内偏移量,每页的大小为2的10次方 = 1k;10 - 31位为页号,共计2的22次方 = 4M页。在图(b)中,地址长度同样为32位,其中0 - 11位页内偏移量,每页的大小为2的12次方 = 4k;12 - 31位为页号,共计2的20次方 = 1M页,由此可知不同的系统页的大小是不一样的。