首页 > 其他分享 >分页存储管理与页表自映射

分页存储管理与页表自映射

时间:2023-06-13 12:00:29浏览次数:48  
标签:存储管理 分页 映射 虚拟地址 物理地址 页表 目录 内存

分页式内存管理

在分页式内存管理中,(用户态的)程序的地址空间就变成了虚拟地址空间,不能直接对物理页面进行操作。程序使用的地址会经过MMU处理,变成物理地址再进行访问。其中页表基址寄存器保存的是页表第一项的物理地址。

页表自映射

现在来看二级分页内存管理的情况。程序只能通过虚拟地址空间对内存进行操作,而页表又是放在物理地址空间中的。(在没有专用指令的情况下),操作系统为了方便修改页目录和页表,给页目录和页表也分配了虚拟地址空间里的空间。

如果把页目录和页表对齐到k*页面,可以发现页表m和页目录的内容完全一样,页表m的物理地址就是页目录的物理地址。

 

这时候再看看网上流传的很广的几张关于windows的页表自映射的图就清楚了。(CR3是x86的页表基址寄存器)

页目录项的虚拟地址到物理地址:

第二级页表的页表项虚拟地址到物理地址:

普通页面的某一偏移的虚拟地址到物理地址:

标签:存储管理,分页,映射,虚拟地址,物理地址,页表,目录,内存
From: https://www.cnblogs.com/arith/p/17477162.html

相关文章

  • 在linux中使用内存映射(mmap)操作文件
    1,打开或创建文件,得到文件描述符,2,将内存中的数据以一定的格式和顺序写入文件,或者将文件中的数据以一定的格式和顺序读入到内存;3,关闭文件描述符;下边是按照常规方式操作固定格式的文件的方法,包含读写两个示例;1.#include<stdlib.h>2.#include<stdio.h>3.#include<unistd.h>......
  • 简单实现JPA实体继承映射
    一个简单实现父类加注解:@MappedSuperclass@MappedSuperclasspublicclassTraceabilityimplementsSerializable{/***创建时间**/privateDatecreateDt;/***更新时间**/privateDateupdateDt;/***创建人员......
  • Cache - 直接映射缓存
    参考https://zhuanlan.zhihu.com/p/1022934371.Cachelinecachesize:cache可以缓存最大数据的大小。将cache均分相等的块,每一块称为cacheline,现在的硬件设计中,一般cacheline的大小为4-128字节,cacheline做的太小会导致tag资源占用过大。cacheline是cache和主存......
  • 静态资源映射
    静态资源映射概念:在web开发中,对静态资源映射是必不可少的,而所谓的静态资源映射,通俗来说,就是给项目导入图片,js,css等资源,同时可以进行访问。1.通过DefaultServlet处理静态资源在spring3.0.4以后的SpringMVC模块提供了静态资源映射器组件。通过mvc:resources标签配置静态资......
  • SparkUI中的Peak Pool Memory Direct / Mapped (直接缓冲池和映射缓冲池)
      PeakPoolMemoryDirect/Mapped --直接缓冲池和映射缓冲池峰值内存##什么是直接缓冲池和映射缓冲池?在Java中,有两种类型的缓冲池:直接缓冲池和映射缓冲池。直接缓冲池1)从堆外内存分配,不受JVM管理2)占用内存较多3)相比从JVM复制数据到本地,性能更高 映射缓冲池1)将文......
  • MyBatis学习笔记(4)—— XML映射文件の结果集(Result Maps)高级结果映射中的集合(collectio
    集合<collectionproperty="posts"ofType="domain.blog.Post"><idproperty="id"column="post_id"/><resultproperty="subject"column="post_subject"/><resultproperty="......
  • 6.6 多对多映射转换
    classMember{privateStringmid;privateStringname;privateProductproducts[];publicMember(Stringmid,Stringname){this.mid=mid;this.name=name;}publicvoidsetProducts(Productproducts[]){thi......
  • 8. 自定义映射resultMap
    ‍在Mybatis中,resultType和resultMap都用于定义查询结果的映射关系。它们的使用场景如下:resultTyperesultType用于指定返回结果的数据类型,通常用于返回简单类型的结果以及返回vo或dto等自定义类型的结果。例如:‍<selectid="findUserById"parameterType="int"r......
  • Linux页表与ARM硬件页表
    早期Linux内核是基于x86体系结构设计的,x86页表中有3个标志位是ARM32硬件页表没有的。PTE_DIRTY:cpu在写操作时会设置该标志位,表示对应页面被写过,为脏页。PTE_YOUNG:CPU访问该页时会设置该标志位。在页面换出时,如果该标志位位置了,说明该页刚被访问过,页面是young的,不适合把该页换出,同......
  • ASNmap 使用ASN快速映射组织网络资产范围
    asnmap快速利用ASN信息映射组织网络范围的Go命令行工具和库。功能•安装•使用•运行asnmap•加入Discord功能ASN到CIDR查询ORG到CIDR查询DNS到CIDR查询IP到CIDR查询支持ASN/DNS/IP/ORG输入支持JSON/CSV/TEXT输出支持标准输入/输出安装为了成功安装asnmap,需......