理解Linux32位机器下虚拟地址到物理地址的转化
创始人
2024-04-09 19:54:00
0

文章目录

  • 前言
  • 一、基本概念介绍
  • 二、虚拟地址到物理地址的转化过程
  • 总结


前言

简要介绍LINUX32位系统下虚拟地址到物理地址的转化过程。


一、基本概念介绍

在32位机器下,IO的基本单位是块(块:4kb),在程序编译成可执行程序时也划分好了以4kb为单位加载到内存中,32位机器下物理内存4GB,4GB以4KB为单位划分,一共2的20次方个,每个单位4kb称为页框,也即一个page,简要介绍了以上概念,接下来介绍虚拟地址到物理地址的转化过程:

二、虚拟地址到物理地址的转化过程

虚拟地址在被转化过程中,不是直接转化的,而是10 + 10 + 12的形式!
在这里插入图片描述

⚠️⚠️⚠️转化图:
在这里插入图片描述
转化过程分为两步:

1. 根据虚拟地址空间的前20位找到对应page的起始地址。
2. 根据虚拟地址空间的后12位代表相较于起始地址的页内偏移量。


💡思考:为什么是最后12位呢?
因为一个地址代表一个字节,而2^12 = 4096字节,刚好等于4KB,可以覆盖一个页的全部地址!


总结

虚拟地址到物理地址的转换不是一步完成的,真实状态一般是多级页表连续映射,最终转换成物理地址,当然页表的内容不止虚拟地址到物理地址的映射,还包括是否命中,RWX权限,U/K权限。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...