pae扩展内存 linux,Linux内核-内存管理-PAE(物理地址扩展)

Intel 通过在处理器上把管脚数从 32 增加到 36,以提高处理器的寻址能力,使其达到 2^36=64GB,然而线性地址的位数仍然是 32 位,为此,需引入一种新的分页机制。从pentium pro 处理器开始,intel引入一种叫做 PAE 的机制,Linux 中使用了这种机制。

64GB 的 RAM 被分为 2^24 个页框,页表项的物理地址字段从 20 位扩展到 24 位,每个页表项必须包含 12 个标志位(固定)和 24 个物理地址位(36-12,因为最多有 2^24 个页框可以被页表项指定),共 36 位,因此,每个页表项须从 32 位扩展到 64 位(36位>32位,考虑到对齐,因此应将页表项扩大一倍到64位)。

在4KB的常规分页情况下,由于每个页表项大小为64位,因而,原有4K大小的页表中,仅能包含512个表项,这占用了32位线性地址中的9位,同理,由于页目录项与页表项具有同样的结构,高一级的页目录表中也仅能包含512个页表项(目录项),同样占用了32位线性地址中的9位,此时,线性地址剩余位数为:32位(总位数)-12位(页内偏移量)-9位(指示页表中的索引)-9位(指示页目录表中的索引)=2位,同时,Linux引入了一个页目录指针表(PDPT)的页表新级别,由4个64位表项构成,剩余的2位即用来指向PDPT中4个项中的一个。

下面4张图详细说明了4种情况下的页表结构(引自Wikipedia)

【未启用PAE下的4K分页的页表结构】

0818b9ca8b590ca3270a3433284dd417.png

【未启用PAE下的4M分页的页表结构】

0818b9ca8b590ca3270a3433284dd417.png

【启用PAE下4K分页的页表结构】

0818b9ca8b590ca3270a3433284dd417.png

【启用PAE下2M分页的页表结构】

0818b9ca8b590ca3270a3433284dd417.png

线性地址的映射过程如下:

1)cr3:指向一个PDPT基地址

2)地址的31~30:确定PDPT项

3)地址的29~21:确定页目录项中的一个

此处,发生了分支:

A.如果页目录项的PS标志位等于0,那么页大小是4K

4)地址的20~12:确定页表的某一项

5)地址的11~0:确定偏移

B.如果PS=1,启用2M大页 4)地址的20~0:确定2M页中的偏移量。

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

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

相关文章

java嵌入式db_Java DB嵌入式模式

java嵌入式dbJava DB是基于Java编程语言和SQL的关系数据库管理系统。 这是Apache软件基金会的开源Derby项目的Oracle版本。 Java SE 7 SDK中包含Java DB。 Java DB有两个部署选项: Embedded和Network Server 。 这篇文章是关于嵌入式部署或模式的。 1.嵌入式 在嵌…

群晖备份linux分区,数据丢失的后悔药,群晖NAS备份方案详解

“秒速开机”——据说90%的人都是因为这句话而知道的SSD固态硬盘。相比于机械硬盘,SSD固态硬盘开机快、关机快、打开软件快、载入数据快、拷贝快、删除也快——既快乐、又爽快,更是大块人心!然而,SSD固态硬盘已经可以完全取代机械硬盘了吗&am…

tg3269c网卡驱动linux,TP-Link3269C网卡驱动官方版

TG-3269C驱动是一款能够安装于由普联发布的无线网卡驱动,通过此安装驱动我们手机和其他无线设备才能连接上无线网卡并进行上网,同时如果你的网卡经常出现断开和重连、网络不稳定等情况可以通过重新安装驱动,查看是否是硬件的问题,…

使用Spring Security,Thymeleaf和Okta保护Java应用程序的安全

永不再构建身份验证 –喜欢构建用户管理? 使用Okta,您可以在几分钟内为您的应用程序添加社交登录,多因素身份验证和OpenID Connect支持。 立即创建一个免费的开发者帐户。 在构建Java应用程序时,用户管理是至关重要的考虑因素。 …

红旗linux添加usb无线网卡,在Ubuntu 8.10中安装无线网卡RTL8187SE驱动

本人的笔记本是微星的Wind U90,自带的无线网卡是RTL8187SE。这款无线网卡在一般的Linux下是没有驱动的,微星的官方也仅仅提供在OpenSUSE下的驱动。为了在我的Ubuntu下使用这个网卡,只能自己动手了。还好,有了互联网上各位大侠和微…

将Google reCaptcha与Spring Boot应用程序结合使用

介绍 Google的reCaptcha是一个用于防止漫游器向您的公共表单提交数据或访问您的公共数据的库。 在本文中,我们将研究如何将reCaptcha与基于Spring Boot的Web应用程序集成 设置验证码 您应该从管理面板创建API密钥。 您必须创建一个示例应用程序,如下所…

探索 HTTP 请求的世界:get 和 post 的奥秘(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

linux 书签管理工具,在书签管理工具中使用Ubuntu字体

通过便捷书签管理程序(Bookmarklet,一种在浏览器中存放书签URL地址的应用程序)来在大多数的网站上推广使用Ubuntu系统的默认字体。——读者米格尔费尔南迪斯米格尔在他的想法产生之前告诉我们说:“我发现Ubuntu系统的字体在提高可读性上超过了绝大多数的…

linux18.2安装界面,Ubuntu 18.10下安装Grub Customizer 5.1.0配置grub2图形化界面

配置Grub2/burg引导装载程序Grub Customizer 5.1.0新增加对Ubuntu 18.10的支持,我们可以用PPA源来安装,同时还支持Ubuntu 18.04、16.04、14.04。Grub Customizer简介Grub Customizer是用来配置Grub/burg引导装载程序的图形工具,此次发布的5.1…

使用Eclipse和Open Liberty的Java EE 8上的Java 9

几周前,我写了一篇文章,标题为哪个IDE和服务器支持Java EE 8和Java9 ,着眼于Java 9和Java EE 8之间的当前运行状态。您可以期待事情发展很快,我们现在有了一些alpha和支持Java 9和Java EE 8的开发版本。这些是– Payara 5 –适用…

Java命令行界面(第28部分):getopt4j

getopt4j的页面将其描述为“一个根据GNU样式解析命令行参数的库。” 然后, 页面介绍getopt4j :“getopt4j库旨在以与glibc (GNU C运行时库)中的C getopt()函数相同的方式解析命令行选项。 与原始产品相比&a…

新版ipados可以编辑C语言吗,iPadOS新增了五个有用的功能,看你需不需要

主屏幕上的可自定义小部件苹果通过“ iOS 14”对“小工具”进行了大修,引入了新的设计,功能和自定义选项。这些“小部件”也出现在在iPhone上,您可以抓住任何小部件并将其添加到应用程序图标旁边的“主屏幕”中,但是不能在“ iPad…

c 语言已知两点求第三点,已知3点座标,求第一点到第二点和第三点构成的直线的距离。...

已知3点座标,求第一点到第二点和第三点构成的直线的距离。以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!已知3点座标,求第一点到第二点和第三点构成的直线的距离。解…

android 组合属性动画,Android属性动画组合(sequence串行、together并行)

在android中用原生api实现一系列复杂动画会很麻烦,所以对属性动画进行了一定封装,让使用起来更简单,能够按照人的思维依次编写动画。简单效果:使用方法:添加依赖:dependencies { compile"com.steven:A…

jta atomikos_带有Atomikos示例的Tomcat中的Spring JTA多个资源事务

jta atomikos在本教程中,我们将向您展示如何使用Atomikos Transaction Manager在Tomcat服务器中实现JTA多个资源事务。 Atomicos事务管理器为分布式事务提供支持。 这些是多阶段事务,通常使用多个数据库,必须以协调的方式提交。 分布式事务由…

台电+android+电话,通话系统_台电 G17s_平板电脑评测-中关村在线

通话系统将两张联通3G的SIM卡插入台电G17s之后,我们来感受一下它通话系统的使用是否令人满意。和一般的双卡Android手机平板一样,该机也不支持热插拔,需要将机器彻底关闭后插入SIM卡再开机。并且在开机后屏幕会弹出SIM卡信息,并询…

功能Java示例 第2部分–讲故事

这是称为“ Functional Java by Example”的系列文章的第2部分。 我在本系列的每个部分中发展的示例是某种“提要处理程序”,用于处理文档。 在上一部分中,我从一些原始代码开始,并应用了一些重构来描述“什么”而不是“如何”。 为了帮助代…

OpenHub框架–下一个有趣的功能

这是有关OpenHub框架的系列文章中的第三篇,第一篇介绍OpenHub框架 ,第二篇介绍异步消息传递模型 。 该系列的最后一篇文章将更详细地介绍其他一些有趣的功能,并说明为什么OpenHub可以成为您的集成项目的理想选择的原因。 节流 节流是一种功…

ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...

ubuntu生成密钥和证书想象以下情况: 您需要从访问您的网站的用户那里获取一个密钥(在非对称情况下为用户的公共密钥 ),并希望浏览器记住私有部分,而不会因冗长的导入过程而困扰用户。 老实说,实际上&#…

android数据流分类,【Android工程之类】1 MVVM架构 - MVVM与单向数据流

前言这个系列将讲述使用MVVM架构、LiveData、Room、Kodein、Retrofit、EventBus来建立一个统一的、优雅的、可维护的TODO程序,本系列分为多个章节,从0开始一步一步引入这些优秀的库。下图展示的是Jetpack组件库包含的内容,这套的架构方案的核…