【知识梳理】多级页表的原理分析【地址形成过程】【扩充思考】

在这里插入图片描述

多级页表的地址形成过程

首先每个进程中都至少有一个页表(段页式可以有多个页表),都有一个页表基地址寄存器(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} 210210=220个物理块,因此这个虚拟地址空间大小为 2 20 2^{20} 220页。

参考资料

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/147385.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SLAM面试笔记(7) — Linux面试题

目录 问题1:Linux系统基本组件? 问题2:Linux和Unix有什么区别? 问题3:Linux下编译程序 问题4:gcc基本格式和常用指令 问题5:用什么命令查找内存和交换使用情况? 问题6&#xf…

此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局

近日,此芯科技(上海)有限公司(以下简称“此芯科技”)与百度签署硬件生态共创计划合作协议,正式加入由百度发起的硬件生态共创计划。双方将共同推动端侧AI和大模型在个人计算、车载计算以及元宇宙计算等领域…

Autowired和Resource的关系

相同点对于下面的代码来说,如果是Spring容器的话,两个注解的功能基本是等价的,他们都可以将bean注入到对应的field中 不同点但是请注意,这里说的是基本相同,说明还是有一些不同点的: byName和byType匹配顺…

结构型设计模式——组合模式

摘要 组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 一、组合模式的意图 将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独…

C++list模拟实现

list模拟实现 1.链表结点2.类模板基本框架3.构造4.插入普通迭代器实现4.1尾插4.2普通迭代器实现4.3对比list和vector的iterator4.4迭代器的价值4.5insert4.6尾插头插复用写法 5.删除erase5.1erase5.2尾删头删复用写法 6.析构emptysizeclear6.1clear6.2size6.3 empty6.4 析构 7.…

idea清空缓存类

解决办法 网上有很多是让你去清空什么maven依赖,但假如这个项目是你不可以大刀阔斧的话 可以清空idea缓存 选择 Invalidate 开头的 然后全选 运行重启idea OK

你写过的最蠢的代码是?——后端篇

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

保姆级Anaconda安装教程

一.anaconda下载 建议使用清华大学开源软件镜像站进行下载,使用官网下载速度比较慢。 anaconda清华大学开源软件镜像站 : https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 一路next即可,注意添加环境变量得选项都勾上。 二.验证…

简化数据库操作:探索 Gorm 的约定优于配置原则

文章目录 使用 ID 作为主键数据库表名TableName临时指定表名列名时间戳自动填充CreatedAtUpdatedAt时间戳类型Gorm 采用约定优于配置的原则,提供了一些默认的命名规则和行为,简化开发者的操作。 使用 ID 作为主键 默认情况下,GORM 会使用 ID 作为表的主键: type User st…

excel提取单元格中的数字

excel取单元格中的数字excel取出单元格中的数字快速提取单元格中有文本的数字如何提取文本左侧的数字、文本右侧的数字、文本中的数字以及文本中混合的数字 RIGHT(C2,11)从右边开始在C2单元格中取出11位字符 LEFT(C2,2),引用获取单元格总长度的函数LEN,…

【数据结构】排序(2)—冒泡排序 快速排序

目录 一. 冒泡排序 基本思想 代码实现 时间和空间复杂度 稳定性 二. 快速排序 基本思想 代码实现 hoare法 挖坑法 前后指针法 时间和空间复杂度 稳定性 一. 冒泡排序 基本思想 冒泡排序是一种交换排序。两两比较数组元素,如果是逆序(即排列顺序与排序后…

基于PHP+MySQL的家教平台

摘要 设计和实现基于PHP的家教平台是一个复杂而令人兴奋的任务。这个项目旨在为学生、家长和教师提供一个便捷的在线学习和教授平台。本文摘要将概述这个项目的关键方面,包括用户管理、课程管理、支付处理、评价系统、通知系统和安全性。首先,我们将建立…

openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT

文章目录 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT88.1 前置条件检查88.2 转换88.3 转换示例 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT …

阿里云PolarDB自研数据库详细介绍_兼容MySQL、PostgreSQL和Oracle语法

阿里云PolarDB数据库是阿里巴巴自研的关系型分布式云原生数据库,PolarDB兼容三种数据库引擎:MySQL、PostgreSQL、Oracle(语法兼容),目前提供云原生数据库PolarDB MySQL版、云原生数据库PolarDB PostgreSQL版和云原生数…

Django之十二:模板的继承+用户列表

模板的继承 新建layout.html&#xff1a; {% load static %} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"{% static plugins…

【算法训练-数组 三】【结构特性】螺旋矩阵

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是螺旋矩阵&#xff0c;使用【二维数组】这个基本的数据结构来实现 螺旋矩阵【EASY】 二维数组的结构特性入手 题干 解题思路 根据题目示例 mat…

Unity:2D游戏设置相机orthographicSize

目录 根据设备分辨率动态设置相机 orthographicSize 根据设备分辨率动态设置相机 orthographicSize 2d游戏里面相机的Orthan.size确定的是高度&#xff0c;宽度是按照屏幕的宽高比计算出来的cameraWidthSize camera.Orthographic.size*(Screen.Width/Screen.height)我在游戏…

AIGC 绘画Stable Diffusion工具的安装与使用

我们先让ChatGPT来帮我们回答一下,什么是Stable Diffusion Stable Diffusion 是一种基于概率模型的图像生成技术。它通过对图像空间中每个像素的颜色值进行推断,从而生成具有高度真实感和细节的图像。 Stable Diffusion 使用一种称为扩散过程的方法来生成图像。在生成过程中…

来看看这个JS题输出什么?教你通过断电调试一步步看原因

&#x1f3b6;让我们调试看看这段代码 var foo { n: 1 };(function (foo) {console.log(foo.n) foo.n 3var foo { n: 2 }foo.n 4console.log(foo.n)})(foo)console.log(foo.n);&#x1f367;输出结果 &#x1f3a1;调试解析 &#x1f389;第一步 &#x1f38f;第二步 ✨第…

【考研英语】2011 年英语(一)排序题思路复盘(费曼学习法)

文章目录 引言一、找语段特征词二、确定位置写在最后 引言 英语一中的新题型之一 —— 排序题&#xff0c;我是看的刘琦老师的方法课&#xff0c;她用的 2011 年的真题来讲解方法。讲完让我们回去用“费曼学习法”复盘以下&#xff0c;我个人感觉是一个不错的方法&#xff0c;…