|
|
分页原理:将一个进程的地址空间划分为若干大小相等的区域,称为页。相应地,将内存空间划分成与页相同大小的若干物理块,称为块或页框。
|
|
|
地址机构:分页系统的地址机构如下图所示,由两部分组成,即页号P和偏移量W(即页内地址)。图中的地址长度为32位,其中0~11位为页内地址(每页大小为4KB),12~31位为页号,所以允许的地址空间大小最多为1M个页。
|
|
|
|
|
系统将用户程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面,有时也简称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个逻辑页面内也从0开始编址,称为页内地址。用户程序的逻辑地址由逻辑页号和页内地址两部分组成。
|
|
|
页表:系统为每个进程建立一张页面映射表,简称页表。页表用于记录用户程序逻辑页面与内存物理页面之间的对应关系。页表的作用是实现从页号到物理块号的地址映射。
|
|
|
地址变换机构:其任务是利用页表把逻辑地址变换成内存中的物理地址。
|
|
|
|
在地址映射过程中,共需两次访问内存。第一次是访问页表,得到数据的物理地址,第二次才是存取数据。显然,这样就增加了访问的时间。在地址映射机制中增加一个小容量的联想寄存器(相联存储器),它由高速寄存器组成一张快表,用来存放当前访问最频繁的少数活动页的页号及相关信息。
|
|
|
快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。当某一用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后拼接页内地址,以形成物理地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行。
|
|
|