反置页表

作者: Zh1为明天1 | 来源:发表于2018-12-06 18:26 被阅读0次

在分页系统中为每个进程配置一张页表,进程逻辑地址空间中的每一页,在页表中都对应有一个页表项。在现代计算机系统中通常允许一个进程的逻辑地址空间非常大,因此就有很多页表项,从而占用很多的内存空间。为了减少页表占用的内存空间而引入了反置页表(Inverted Page Table)。一般页表的表项是按页号进行排序,页表项中的内容是物理块号。而倒置页表是为每一个物理块设置一个页表项并将按物理块号排序,其中的内容则是页号及其隶属进程的标志符。

在利用反置页表进行地址变换时,是用进程标志符和页号去检索反置页表;若检索完整个页表都未找到与之匹配的页表项,表明此页此时尚未调入内存,对于具有请求调页功能的存储器系统应产生请求调页中断,若无此功能则表示地址出错;如果检索到与之匹配的表项,则该表项的序号i便是该页所在的物理块号,将该块号与页内地址一起构成物理地址。

虽然反置页表可以有效地减少页表占用的内存,然而该表中却只包含已经调入内存的页面,并未包含那些未调入内存的各个进程的页面,因而必须为每个进程建立一个外部页表(External Page Table),该页表与传统页表一样,当所访问的页面在内存时并不访问这些页表,只是当不在主存时才使用这些页表。该页表中包含了页面在外存的物理位置,通过该页表可将所需要的页面调入内存。

由于在反置页表中是为每一个物理块设置一个页表项的,通常页表项的数目很大,从几千项到几万项,要利用进程标识符和页号去检索这样大的线性表是相当费时的。于是又利用一种Hash表来检索。

相关文章

  • 反置页表

    在分页系统中为每个进程配置一张页表,进程逻辑地址空间中的每一页,在页表中都对应有一个页表项。在现代计算机系统中通常...

  • 顺序表逆置

  • 顺序表应用——逆置问题

    顺序表应用——逆置问题 问题描述 给定一个顺序表,将其中的元素逆置 例子 给定一个顺序表,其中有0至10共11个元...

  • 01-表和索引的结构

    一、表和索引是如何组织和使用 1、索引页和表页 表和索引行都存储在 页 中 页的大小可调 页的大小仅仅决定一个页可...

  • 深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)

    对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解 [深度学习]转置卷积(Transposed Con...

  • 2.1顺序表的基本操作和常用算法--C

    顺序表的定义: 初始化表 插入操作 删除操作 按值查找 逆置所有元素 逆置给定位置元素 子表位置互换问题L:(a1...

  • 线性表逆置

    顺序表 无论是偶数个还是奇数个都可以是i

  • 两级页表

    两级页表 单级页表存在的问题 问题 单个进程的页表占据的内存空间过大,32位的4K页面,页表项长度为4B,也表要占...

  • 单链表就地转置

    试写一道算法,实现单链表的就地逆置(反转),即利用原表的存储空间将线性表(a1,a2,⋯an)逆置(反转)为(an...

  • 数据库

    的初始值置为0 6)外键约束 员工表(副表:被别的表约束的表,外键设置在副表) Create table empl...

网友评论

    本文标题:反置页表

    本文链接:https://www.haomeiwen.com/subject/olxacqtx.html