页式管理

页式管理,是将虚拟地址空间划分为一个一个固定大小的块(称作虚页),同一时候也让实际地址空间也划分为一个一个相同大小的页(称作实页)。


上面是页式管理中由虚拟地址寻到实际主存地址的步骤。先找到页表基址寄存器,获得相应页表的基地址,然后用基址与虚页号做一次加法找到相应的实页号,由实页号和页内位移组成实际主存地址。


页式管理的优缺点

  • 长处
主存储器的利用率比較高
页表相对照较简单
地址变换的速度比較快
对磁盘的管理比較easy
  • 缺点
程序的模块化性能不好
页表非常长,须要占用非常大的存储空间

我理解的主存利用率相对较高是主存被划分成了一块一块细粒度的块,设想一种情景,有一个进程,假设要整个放在一块内存区中,此时没有能容纳它的空暇区,但此时主存中有很多零散的较小的空暇块(也就是页),而程序自身也能够拆分很多相同大小的块,这样就能在主存中存入这个程序。
所谓的模块化性能不好,应该是相对于段式管理而言,在页式下,不再有所谓以模块为个体进行存储,而是将模块给分散了。
能不能将页式内存中属于同一模块的页进行提取和统一管理,这样既保存了页式充分利用主存的长处,又保存了段式中模块化的概念。详细地址变换例如以下:
  • 先查段表,得到该程序段的页表起始地址和页表长度
  • 再查页表找到要訪问的主存实页号
  • 最后把实页号p与页内偏移d拼接得到主存的实地址
这就是所谓的段页式管理。

原文地址:https://www.cnblogs.com/zfyouxi/p/4295629.html