虚拟地址和物理地址

到底什么是虚拟地址呢?它和物理地址的区别又在哪呢?

一. 虚拟地址的作用

1. 使代码的移植性更好,在不同平台进行编译以后,就可以直接运行,因为到别的系统,会将你的虚拟地址转换为物理地址,而使用的物理地址,那就得考虑这块物理地址是否被别人使用了

2. 不需要考虑内存分配的问题。

3. 虚拟地址映射的不一定是物理地址,还可能是硬盘上的某一块地方

二. 虚拟地址和物理地址是怎么映射的呢?

进程想要访问真正的物理地址,首先要先将虚拟地址转换为线性地址,然后经过MMU就可以将线性地址转换为真正的物理地址。

而虚拟地址和线性地址是如何进行转换的呢:

转换过程中,需要段寄存器,段寄存器中存储的是描述表的索引。描述符中存放基地址,通过基地址加上虚拟地址这个偏移量就可算出线性地址了。而在linux系统中,虚拟地址和线性地址是相等的。

而线性地址和物理地址是如何进行转换的呢:

1.从CR3寄存器中取出页目录的地址。
2.根据线性地址中的前10位,找到页目录的索引。
3.根据页目录项的值与中间10位相加后得到页表中的索引。
4.将页的起始地址与最后的12位相加后得到最终的物理地址。

通过线性地址找到页目录中的页表,然后找到页表中的页表项,最终通过页表项和线性地址中的偏移,来找到最终的物理地址。

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

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

相关文章

无人机运营合格证及无人机驾驶员合格证(AOPA)技术详解

无人机运营合格证及无人机驾驶员合格证(AOPA)技术详解如下: 一、无人机运营合格证 无人机运营合格证是无人机运营企业或个人必须获得的证书,以确保无人机在运营过程中符合相关法规和标准。对于无人机运营合格证的具体要求和申请…

无人机人员搜救

人员搜救-水域救援 水域搜救:快速水面搜查 物资抛投:救生物资抛投 绳索牵引:牵引救援绳索 领航船艇:水面侦察领航 人员搜救 昼夜搜救,精准定位 水域搜救 经纬 M300 RTK 搭载禅思 H20T 能够满足全天候作业需求&a…

【区分vue2和vue3下的element UI Dialog 对话框组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 和 Vue 3 中,Element UI(针对 Vue 2)和 Element Plus(针对 Vue 3)提供了 Dialog 对话框组件,用于在页面中显示模态对话框。这两个库中的 Dialog 组件在属性、事件和方法的使用上有所相似&#xff…

新手教学系列——Git Stash踩坑

在之前的文章《如何彻底避免Git代码相互覆盖问题》中,我曾介绍过通过规范分支合并和使用git stash来避免代码覆盖问题。今天,我要深入探讨一下git stash的使用,并分享一些使用过程中遇到的坑,希望能帮你避免类似问题。 脚本mg.sh简介 为了更好地管理代码合并,我编写了一…

gcc: 自身编译: opt;有个变量怎么找不到?

文章目录 makefile/configure中间awk的转换举例,options.h里的内容:解开疑问makefile/configure lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt# All option source files ALL_OPT_FILES=$(lang_opt_files) $(extra_opt_files

linux之管道重定向

管道与重定向 一、重定向 将原输出结果存储到其他位置的过程 标准输入、标准正确输出、标准错误输出 ​ 进程在运行的过程中根据需要会打开多个文件,每打开一个文件会有一个数字标识。这个标识叫文件描述符。 进程使用文件描述符来管理打开的文件(FD--…

windows USB 设备驱动开发-控制传输的数据包

每次在主机控制器和 USB 设备之间移动数据时,都会发生传输。 通常,USB 传输可大致分为控制传输和数据传输。 所有 USB 设备都必须支持控制传输,并且可以支持用于数据传输的端点。 每种类型的传输都与设备缓冲区USB 端点 的类型相关联。 控制传…

泛微开发修炼之旅--32ecology对接海康威视综合安防管理系统,人脸识别机器数据同步代码方案及源码

文章链接:32ecology对接海康威视综合安防管理系统,人脸识别机器数据同步代码方案及源码

解锁深度学习黑箱:注意力机制的神秘力量

标题:解锁深度学习黑箱:注意力机制的神秘力量 在深度学习领域,注意力机制(Attention Mechanism)是一种资源分配策略,它使得模型能够集中于数据中最重要的部分。注意力机制在自然语言处理(NLP&a…

Open3D 在点云中构建八叉树

目录 一、概述 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2构建后点云 一、概述 八叉树(Octree)是一种树状数据结构,用于递归地将3D空间分割成较小的立方体。八叉树特别适用于3D计算机图形学、点云处理和空间…

[图解]企业应用架构模式2024新译本讲解22-标识映射

1 00:00:01,080 --> 00:00:04,710 我们来看一下标识映射这个模式 2 00:00:08,030 --> 00:00:10,110 它是属于对象-关系 3 00:00:10,120 --> 00:00:11,150 行为模式 4 00:00:11,160 --> 00:00:13,890 就是说,在动态的时候 5 00:00:15,770 --> 00:…

华为OD机考题(HJ65 查找两个字符串a,b中的最长公共子串)

前言 经过前期的数据结构和算法学习,开始以OD机考题作为练习题,继续加强下熟练程度。 描述 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 注:子串的定义:将一个字符串删去前缀和后…

【Git 】规范 Git 提交信息的工具 Commitizen

Commitizen是一个用于规范Git提交信息的工具,它旨在帮助开发者生成符合一定规范和风格的提交信息,从而提高代码维护的效率,便于追踪和定位问题。以下是对Commitizen的详细介绍。 1、Commitizen的作用与优势 规范提交信息:通过提供…

C# Application.DoEvents()的作用

文章目录 1、详解 Application.DoEvents()2、示例处理用户事件响应系统事件控制台输出游戏和多媒体应用与操作系统的交互 3、注意事项总结 Application.DoEvents() 是 .NET 框架中的一个方法,它主要用于处理消息队列中的事件。在 Windows 应用程序中,当一…

Oracle PL / SQL INTERVAL数据类型

INTERVAL YEAR TO MONTH数据类型 INTERVAL YEAR TO MONTH存储和操作年和月的间隔。 语法是: INTERVAL YEAR[(precision)] TO MONTH precision指定“years”字段中的数字位数。 我们必须在0..4的范围内使用整数字面值。默认值为2。 以下代码显示如何将字面值分配…

基于16通道AD采集(CL1616和AD7616)的FPGA设计简介

Cl1616是一款 16 位 DAS,支持对 16 个通道进行双路同步采样。CL1616 采用 5 V 单电源供电,可以 处理10 V、5 V 和2.5 V 真双极性输入信号,同时每对通道均能以高达 1 MSPS 的吞吐速率和 90 dB SNR 采样。利用片内过采样模式可实现更高的 SNR 性能。 AD7616与CL1616软硬件兼容…

实验四 图像增强—灰度变换之直方图变换

一.实验目的 1.掌握灰度直方图的概念及其计算方法; 2.熟练掌握直方图均衡化计算过程;了解直方图规定化的计算过程; 3.了解色彩直方图的概念和计算方法 二.实验内容: …

ArcGIS Pro SDK (八)地理数据库 1 地理数据库和数据存储

ArcGIS Pro SDK (八)地理数据库 1 地理数据库和数据存储 文章目录 ArcGIS Pro SDK (八)地理数据库 1 地理数据库和数据存储1 打开给定路径的文件地理数据库2 使用连接属性打开企业级地理数据库3 使用 sde 文件路径打开企业级地理数…

Bootstrap 提示工具

Bootstrap 提示工具 Bootstrap 是一个流行的前端框架,它提供了一套丰富的工具和组件,用于快速开发响应式和移动设备优先的网页。其中,提示工具(Tooltip)是 Bootstrap 提供的一个非常有用的组件,它可以在用户将鼠标悬停在某个元素上时显示额外的信息。本文将详细介绍 Boo…

课设:选课管理系统(Java+MySQL)

在本博客中,我将介绍用Java、MySQL、JDBC和Swing GUI开发一个简单的选课管理系统。 技术栈 Java:用于编写应用程序逻辑MySQL:用于存储和管理数据JDBC:用于连接Java应用程序和MySQL数据库Swing GUI:用于构建桌面应用程…