3.1.4.3 段页式管理方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jxq0816/article/details/51884513

页式管理系统能有效地提高内存利用率,而分段存储管理能反映程序的逻辑结构并有利于段的共享。

如果能将这两种存储管理方法结合起来, 就形成了段页式存储管理方式。

在段页式系统中,作业的地址空间首先被分成若干个逻辑段,每段都有自己的段号,然后再将每一段分成若干个大小固定的页。对内存空间的管理仍然和分页存储管理一样,将其分成若干个和页面大小相同的存储块,对内存的分配以存储块为单位。

在段页式系统中,作业的逻辑地址分成三部分:段号、页号和页内偏移量

段号s 页号P 页内偏移量W

为了实现地址变换,系统为每个进程建立一张段表,而每个分段有一个页表。

段表表项中至少包括段号、页表长度和页表起始地址,页表表项中至少包括页号和块号。

此外,系统中还应有一个段表寄存器,指出作业的段表起始地址和段表长度。

注意:在一个进程中,段表只有一个,而页表可能有多个。

在进行地址变换时,首先通过段表查到页表起始地址,然后通过页表找到页帧号,最后形成物理地址。

进行一次访问实际需要三次访问主存,这里同样可以使用块表以加快查找速度,其关键字由段号、页号组成,值是对应的页帧号和保护码。

第一次查找段表寄存器,获得段表起始地址F

第二次查找段表,获得页表起始地址D

第三次查找页表,获得物理地址E



展开阅读全文

没有更多推荐了,返回首页