码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【知识梳理】多级页表的原理分析【地址形成过程】【扩充思考】


    在这里插入图片描述

    多级页表的地址形成过程

    首先每个进程中都至少有一个页表(段页式可以有多个页表),都有一个页表基地址寄存器(PTBR),以下针对三级页表进行分析。

    level1:PTBR代表的是一级页表的基地址,一级页目录号代表的是一级页表中的页表项相对一级页表的基地址的偏移量,通过将基地址和偏移量相加得到一级页表项的物理地址。一级页表项中存储着该页表项对应的二级页表的基地址(相当于二级页表的PTBR)。

    level2:一级页表中的页表项储存的是二级页表的基地址,二级页目录号代表的是二级页表中的页表项相对二级页表的基地址的偏移量,通过将基地址和偏移量相加得到二级页表项的物理地址。二级页表项中存储着该页表项对应的三级页表的基地址(相当于三级页表的PTBR)。

    level3:二级页表中的页表项储存的是三级页表的基地址,三级页目录号代表的是三级页表中的页表项相对三级页表的基地址的偏移量,通过将基地址和偏移量相加得到三级页表项的物理地址。三级页表项中存储着物理块号,和块内偏移量拼接成物理地址。

    扩充思考

    在这里插入图片描述
    针对这样一个二级页表,假设每个页表项大小为4B,按字节编址。
    问:该页表共占多少页?虚拟地址空间为多大?
    答:
    (1)因为一页共有4KB(由页内偏移量为12位可知),一页可装载 2 10 2^{10} 210(1024)个页表项,页目录表(一级页表)有一个,其中的1024个页表项指向了1024个二级页表,二级页表中的页表项指向的是物理块。因此,一共有1+1024=1025个页表。

    (2)因为页目录表指向了 2 10 2^{10} 210个二级页表,而每个二级页表都指向了 2 10 2^{10} 210个物理块,因此,通过这个二级页表可以映射到 2 10 ∗ 2 10 = 2 20 2^{10}*2^{10}=2^{20} 210∗210=220个物理块,因此这个虚拟地址空间大小为 2 20 2^{20} 220页。

    参考资料

    图1:https://www.geeksforgeeks.org/multilevel-paging-in-operating-system/
    图2:王道操作系统P213

  • 相关阅读:
    万宾科技管网水位监测预警,管网水位的特点有哪些?
    【算法分析与设计】动态规划(上)
    【JAVA】Servlet
    【Java八股文总结】之消息队列
    JavaScript:实现Fedwick树算法(附完整源码)
    机器学习笔记之指数族分布——最大熵原理与softmax激活函数的关系
    用代谢组学解密纳米颗粒缓解烟草重金属中毒机制
    Java中类的内部成员之五: 内部类
    【毕业设计】基于SSM的商城系统
    科技作者吴军:不用低效率的算法做事情
  • 原文地址:https://blog.csdn.net/weixin_45415929/article/details/133466909
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号