多级页表查询

说明一下这个三级页表的查询,会需要上面的L2,L1,L0

如果在二级页表level就是2,PGSHIFT是12,那么就是往左移12+9*2位置,在&9bit就得到L2,其他以此类推

也表查询,首先有跟页表的地址pagetable,这是一个指针,然后我们拿到L2作为索引,就可以在根页表里面找512个项

下一级页表地址测试右移10位(去掉标志),然后填充12个零得到,这个就是下一级页表的地址

这里返回了最后一级页表的某一项,然后我们把这个项拿到拼上最后12位,就得到了物理地址

下面说说页表到底怎么映射

首先,一共56位,12位是4096,是一页,所以理论上物理内存有2^44个页表

假设我们现在程序内存上站两个物理页,那么虚拟地址上表现就是(可以不是最底下两个,因为是连续的,只要两个页表项相邻就好)

|    25    |  L2(9) |   L1(9)  | xxxxxxxx1 | offset(12) |

|    25    |  L2(9) |   L1(9)  | xxxxxxxx0 | offset(12) |

这样是两个连续的虚拟地址,

那么页表需要映射这两个地址,

offset提供索引,所以最后一级页表内存肯定是这俩物理页的其实地址,分配物理地址不需要连续,我们只需要拿出两个物理地址页就好了,假设物理地址分别是x和y,那么我们有这样的最后一级页表

这个页表的地址,我们需要存在上一级页表里,存这个页表的物理地址地址,那么很显然对于两个虚拟内存的L1来说,都是xxxxxxxx0,跟页表同理,放次级页表的物理地址。

最后再由stap寄存器放根页表的物理地址。

那么顺着来就是这样,我们需要映射一片连续的虚拟地址空间,那么我们从所有物理页里面拿一份作为我们的物理地址,根据索引(L2)来选择在根页表的某一个地方来记住这个物理地址(完全是看虚拟地址的需要)

然后在根据L1在次级页表选择一个地方,放子页表的地址

最后根据L0来在子集页表里面放两个项,用来找实际的物理地址,这里面表所存的物理地址是不需要连续的,这是操作系统分配的,连续的只是索引。

这里的每一次索引,都会到内存上去找东西,也就是到物理地址上找

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机视觉】Gaussian Splatting源码解读补充(一)

本文旨在补充gwpscut创作的博文学习笔记之——3D Gaussian Splatting源码解读。 Gaussian Splatting Github地址:https://github.com/graphdeco-inria/gaussian-splatting 论文地址:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/3d_gauss…

JavaWeb -- HTTP -- WEB服务器TOMCAT

一.HTTP介绍: HTTP(Hyper Text Protocol) 实际上是一种超文本传输的协议,规定了浏览器跟服务器之间的一些数据传输的规则 例如B/S 对于浏览器的请求,以及相应服务器的响应,都必须依靠这种协议,规范,才能够彼此之间相互 理解 HTTP的协议特点: 1.基于TCP协议: 面向连接 更加安全…

抖音视频无水印爬虫下载工具|视频关键词批量采集软件

抖音视频批量下载工具 最新推出的抖音视频批量下载工具,针对市面上单个视频链接提取不方便的问题进行了全新设计,不仅可以通过单个视频链接提取,还可通过关键词进行视频搜索,实现批量和有选择性的提取功能。 操作说明 您可以通过…

牛客题霸-SQL篇(刷题记录二)

本文基于前段时间学习总结的 MySQL 相关的查询语法,在牛客网找了相应的 MySQL 题目进行练习,以便加强对于 MySQL 查询语法的理解和应用。 由于涉及到的数据库表较多,因此本文不再展示,只提供 MySQL 代码与示例输出。 以下内容是…

基于ssm的音乐视频网站系统(可听音乐和看视频+数据库+报告+免费远程调试

项目介绍: 基于ssm的音乐视频网站系统(可听音乐和看视频)。Javaee项目,ssm项目。采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvc Myba…

sd卡受损怎么恢复数据,sd卡受损了里面的数据怎么办

sd卡受损怎么恢复数据?听说你的SD卡出问题了?失去珍贵数据,简直就像是失去了一段珍贵的回忆,但别灰心,我们来解决这个问题!首先,我得说,SD卡受损是很常见的情况,可能是不小心摔了一下、插拔不当,或者是遇到了某种不可抗力的情况。sd卡受损了里面的数据怎么办?幸运的…

Linux--Flappy_bird实现

代码实现&#xff1a; #include<stdio.h> #include<curses.h> #include<signal.h> #include<sys/time.h> #include<stdlib.h>#define BIRD #define BLANK #define PIPE /**定义管道结构体**/ typedef struct Pipe {int x;//列int y;//横struc…

鸿蒙一次开发,多端部署(九)应用市场首页

本小节将以应用市场首页为例&#xff0c;介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 一个典型的应用市场首页的UX设计如下所示。 观察应用市场首页的页面设计&#xff0c;不同断点下的页面设计有较多相似的地方。 据此&#xff0c;我们可以将页…

需求:JSON数据显示null值或者不显示null值

使用hutool的工具类 import cn.hutool.json.JSON; import cn.hutool.json.JSONConfig; import cn.hutool.json.JSONUtil;public class Main {public static void main(String[] args) {String sss "{\"1\":\"a\",\"2\":null}";// 不…

【算法】子集(LIS最长上升子序列)

文章目录 题目输入描述输出描述示例分析思路最长递增子序列dp解法&#xff08;2/10&#xff09;binarySearch 贪心&#xff08;AC&#xff09; 题目 小强现在有 n n n个物品&#xff0c;每个物品有两种属性 x i x^i xi和 y i y^i yi。他想要从中挑出尽可能多的物品满足以下条…

Bootloader/IAP零基础入门(1.0) —— 设计一个Bootloader引导进入APP的程序,不含中断向量偏移

前言 &#xff08;1&#xff09;如果有嵌入式企业需要招聘湖南区域日常实习生&#xff0c;任何区域的暑假Linux驱动/单片机/RTOS的实习岗位&#xff0c;可C站直接私聊&#xff0c;或者邮件&#xff1a;zhangyixu02gmail.com&#xff0c;此消息至2025年1月1日前均有效 &#xff…

重磅消息!《大模型面试宝典》(2024版) 正式发布!

2022 年11月底&#xff0c;OpenAI 正式推出 ChatGPT &#xff0c;不到两个月的时间&#xff0c;月活用户就突破1亿&#xff0c;成为史上增长最快的消费者应用。 目前国内已发布的大模型超过200个&#xff0c;大模型的出现彻底改变了我们的生活和学习方式。 现在只要你想从事 A…

优化选址问题 | 模拟退火算法求解物流选址问题含Matlab源码

目录 问题代码问题 模拟退火算法(Simulated Annealing, SA)是一种概率性的全局优化算法,用于求解大规模组合优化问题。在物流选址问题中,模拟退火算法可以用来寻找成本最低、效率最高的仓库或配送中心位置。下面是一个简化的模拟退火算法求解物流选址问题的描述,并附带有…

阿里云OSS分布式存储

目录 &#x1f9c2;1.OSS开通 &#x1f32d;2.头像上传整合OSS &#x1f68d;2.1.引入依赖 &#x1f68d;2.2添加配置 &#x1f68d;2.3创建配置类 &#x1f68d;2.4添加实现类 &#x1f68d;2.5controller调用接口 &#x1f68d;2.6postman测试 1.OSS开通 1.登…

力扣---最长有效括号---动态规划,栈

动态规划思路&#xff1a; 最长xxxx的问题&#xff0c;从动态规划的角度去考虑&#xff0c;我们会将 g[i] 定义为以 第 i 位 结尾的小问题。在本道题中&#xff0c;我们将 g[i] 定义为以第 i 位为结尾的最长有效括号子串的长度。从头去遍历每一位&#xff0c;我们会发现只有s[i…

我的创作纪念日——在CSDN的三年

我的创作纪念日——在CSDN的三年 个人简介机缘收获个人成就学习成就墙文章专栏 日常成就憧憬 个人简介 &#x1f3d8;️&#x1f3d8;️个人主页&#xff1a;以山河作礼。 &#x1f396;️&#x1f396;️:Python领域新星创作者&#xff0c;CSDN实力新星认证&#xff0c;CSDN内…

134. 加油站(力扣LeetCode)

文章目录 134. 加油站题目描述暴力枚举&#xff08;超时&#xff09;代码一代码二&#xff08;优化&#xff09; 贪心算法方法一方法二 134. 加油站 题目描述 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&…

【机器学习入门 】支持向量机

系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 第5章 逻辑斯蒂回归和分类 前言 支持向量机(Support Vector Machine) 于1995年发表&#xff0c;由于其优越的性能和广泛的适用性&#xff0c;成为机器学习的主流技术&…

【11】工程化

一、为什么需要模块化 当前端工程到达一定规模后,就会出现下面的问题: 全局变量污染 依赖混乱 上面的问题,共同导致了代码文件难以细分 模块化就是为了解决上面两个问题出现的 模块化出现后,我们就可以把臃肿的代码细分到各个小文件中,便于后期维护管理 前端模块化标准…

活用 C语言之union的精妙之用

一、union的基本定义 Union的中文叫法又被称为共用体、联合或者联合体。它的定义方式与结构体相同,但意义却与结构体完全不同。下面是union的定义格式: union 共用体名 {成员列表}共用体变量名;它与结构体的定义方式相同,但区别在于共用体中的成员的起始地址都是相同的,…