腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(2563)
视频
沙龙
1
回答
如
何用
C
/
C++
通过
CPUID
命令
获取
物理
和
虚拟地址
位
、
、
、
、
我在windows中使用
CPUID
命令
用
C
获取
物理
和
虚拟地址
位
大小。我可以
通过
这种方式
获取
处理器信息,但是我对
获取
地址
位
感到困惑。看起来我应该给你80000008条指令,但我这样做,只有7-8
位
数字连续变化。我想了解这个
命令
是如何工作的,并解决这个问题 #include <stdio.h> void getcpuid(int T,
浏览 76
提问于2020-10-24
得票数 1
回答已采纳
1
回答
x86地址空间的36
位
计算
、
、
、
、
我知道它
通过
PDPT创建了第三级间接,因此地址转换从CR3 -> PDPT(4个条目) -> PD(512个条目) -> PT (512个条目) ->页面(4096)进行。但是地址仍然是32
位
,如何从这个方案中获得36
位
地址?我想举个例子。如何添加另一个表“增加”地址空间?
浏览 7
提问于2022-04-07
得票数 0
回答已采纳
1
回答
在x86-64体系结构中分页
、
、
、
、
在操作系统的32
位
实现中,页表具有固定的结构(页面目录
和
页表两级)。但是在x86_64系统中,通常有多个层次的页面表实现(4在Linux中)。系统如何知道使用了多少级别?这需要什么
命令
?我们如何让CPU知道全局页面目录
和
其他结构?
浏览 2
提问于2015-05-02
得票数 2
3
回答
mmap实际返回的是什么?
、
、
对于如何定义mmap调用实际返回的地址,我有点困惑,可能是因为我看到了一段代码,其中该地址被转换为uint64_t并用作
物理
地址。如果它是一个
虚拟地址
,并且我们需要一个
物理
地址,那么在打开proc/self/map之后,可以使用一个公式来找到它,其中涉及到带有pagesize等的模数。只是对它进行抽象。回顾一下代码示例,在内核中,我们使用pci_alloc_consistent
和
pci_map_single来查找dma地址。假设在用户空间应用程序中,我希望
通过
malloc或mmap对设
浏览 29
提问于2015-01-04
得票数 1
9
回答
物理
/逻辑/虚拟内存地址之间的差异
、
、
我对操作系统中的
物理
/逻辑/
虚拟地址
这个术语有点困惑(我使用Linux- open SUSE)。 任何帮助都是非常感谢的。
浏览 6
提问于2013-04-06
得票数 39
回答已采纳
3
回答
如
何用
c++
代码验证CPU缓存线的大小?
、
、
、
相反,它们以(通常)64个字节的块(称为缓存行)
获取
内存。当您读取特定的内存位置时,整个缓存行将从主内存中提取到缓存中。而且,从相同的缓存行访问其他值是很便宜的!本文还提供了验证上述结论的
c
#代码:for (int i = 0; i < arr.Length然后,我参考上面的思想来实现一个
c++
版本来验证缓存行大小,如下所示:#in
浏览 2
提问于2019-10-05
得票数 3
回答已采纳
4
回答
如何
获取
JavaScript变量的内存地址?
、
、
JavaScript代码是普通应用程序的一部分(嵌入到其中),在该应用程序中,JavaScript用作
C++
的前端,并且不在浏览器上运行。使用的JavaScript实现是SpiderMonkey。
浏览 0
提问于2009-03-12
得票数 75
回答已采纳
3
回答
虚拟v.评估
C
/
C++
内存泄漏的
物理
内存
、
、
、
、
我有一个
C++
应用程序,我试图将内存泄漏出来,我意识到我并不完全理解虚拟内存
和
物理
内存之间的区别。top的结果(SO16.8g=虚拟,111m =
物理
):我的流程包含所以我的问题是:
C++
中的操作会使虚拟内存膨胀这么大吗?如果我的任务是使用虚拟内存的gigs,那么是个问题吗?,堆栈
和
堆函数变量、向量等--这些是否一定会增加
物理
内存的
浏览 9
提问于2012-06-05
得票数 7
回答已采纳
2
回答
在运行时检测ARMv8 A53与A57体系结构?
、
、
我有四个Cortex-A53开发板,我们的霓虹灯本质实现比
C
/
C++
实现高出大约30%。这是意料之中的。我们想使用我们的霓虹灯实现的A-53,但使用
C
/
C++
实现的A57。我们有可以选择运行时特性的代码,
如
HasNEON()、HasCRC()、HasAES()
和
HasSHA()。我们没有任
浏览 3
提问于2017-01-22
得票数 2
回答已采纳
1
回答
以编程方式检测
物理
核心数
、
总体而言,这个设置运行良好,只要我知道我至少有3个
物理
CPU核心可供使用-它在只有两个CPU核心
和
超线程的情况下不能很好地工作。在这样的系统上,它比让一个线程处理主线程产生的两个工作负载要慢。现在我的问题是,在Windows下,我可以很容易地
通过
查询一些系统调用的信息来检测
物理
内核的数量,并相应地调整设置,但在Linux上关于这个问题的所有搜索都没有产生可用的结果-最好的建议是阅读外部工具的文本输出这些工具的存在告诉我,必须有一种方法来检测
物理
核心的数量。我尝试过
CPUID
,但在支持超线
浏览 0
提问于2019-08-17
得票数 0
3
回答
操作系统内核数据的定位
、
、
、
、
我已经习惯了每个用户进程都有一个包含堆栈、堆、数据
和
代码的
虚拟地址
空间的标准概念。我的问题是,当OS内核发生上下文切换时,内核中运行的代码是否被视为具有堆栈、堆、数据
和
代码的进程?它们是否散落在有空间的
物理
记忆周围?谢谢你的帮忙!
浏览 0
提问于2019-01-08
得票数 5
5
回答
是否可以访问
物理
地址0?
、
、
、
、
在
C
/
C++
中,不允许访问地址为0的数据。我的问题是: 在什么情况下允许访问
物理
地址0?
浏览 0
提问于2014-11-04
得票数 5
回答已采纳
1
回答
如何测试linux内核中的地址是虚拟的还是逻辑的?
、
、
、
、
我很熟悉Linux内核内存通常是1:1映射的(在一定范围内)。据我所知,为了使这个1:1映射更有效,结构页面数组实际上是映射的。
浏览 0
提问于2021-08-26
得票数 4
6
回答
堆、堆栈、文本等不同的段是如何与
物理
内存相关的?
、
、
、
当编译
C
程序并创建对象文件(ELF)时,。对象文件包含不同的部分,
如
bss、data、text
和
其他段。我知道ELF的这些部分是虚拟内存地址空间的一部分。我说的对吗?如果我错了,请纠正我。也会有一个与编译程序相关的虚拟内存
和
页表。页表将ELF中的虚拟内存地址与加载程序时的实际
物理
内存地址关联起来。我的理解是正确的吗?我读到在创建的ELF文件中,bss部分只保留未初始化的全局变量的引用。我感到困惑的是,这些不同的对象文件段(
如
文本、rodata、数据、bss、堆栈
和
堆)是
浏览 6
提问于2012-02-10
得票数 22
14
回答
如何在Windows、Mac
和
Linux上检测
物理
处理器/内核的数量
、
、
、
、
我有一个多线程
c++
应用程序,运行在Windows、Mac
和
一些Linux版本上。因此,我的问题是,是否有一种检测超线程是否支持
和
启用的方法?如果
浏览 6
提问于2010-05-25
得票数 53
2
回答
Linux中"HighMem“不同含义的混淆
、
、
、
、
我收集到的两个定义是: Highmem是指32
位
系统中的一种特殊情况,在这种情况下,系统可以容纳超过4GB的RAM,但32
位
只允许内核直接寻址4GB内存,因此任何超过4GB的内存都需要使用
物理
地址扩展当我看到这个版本的高内存讨论时,通常会提到64
位
系统不再存在这个问题;它们可以完全解决它们的
物理
内存,因此不需要"highmem“的概念(请参阅、、)。我看到这种措辞的另一种方式是使用名称zone_highmem (highmem)
和
zone_normal (lowmem)。例
浏览 4
提问于2021-06-22
得票数 2
回答已采纳
1
回答
进程切换是否影响arm9处理器中的std::原子比较
和
交换?
、
、
、
我对
c++
中的std::原子技术很陌生,我试图理解ARM处理器下比较
和
交换操作的实现,我在linux上使用gcc。strexb ip, r0, [r2] bne .L41 mcr p15, 0, r0,
c
7,
c
10, 5 如果Process P1将
虚拟地址
标记为排他地址
浏览 1
提问于2018-09-26
得票数 0
2
回答
操作系统中的虚拟内存
我一直在尝试理解运行中的程序所使用的
虚拟地址
空间概念。让我来看一个32
位
应用程序在32
位
Windows操作系统上运行的例子.类似地,当您考虑自己的代码以及其他依赖项(
如
dll)时,分配2GB地址空间的用户进程肯定需要超过2GB。关于这个主题的另一个问题是关于计算机系统-Say上存在一个正在运行的进程的不同位置,例如,我有一个程序
C
:程序Files\MyApp\app.exe。启动它时,它将使用
虚拟地址
空间加载到进程中,并使用分页(pagefile.sys)来使用有限的内存。我的问题是,一
浏览 0
提问于2018-03-10
得票数 1
6
回答
数组内存分配-分页
、
、
、
我不确定Java、
C
#
和
C++
的答案是否相同,所以我把它们都归类了。所有语言的答案都会很好。 我一直在想,如果我分配数组,所有的单元格都会在一个连续的空间中。
浏览 0
提问于2011-10-26
得票数 2
回答已采纳
2
回答
在
C
/
C++
或其他类似语言中,将“与”符号应用于变量或数据类型时,返回哪种类型的地址?
、
、
、
这是一个非常基本的问题,自从我在操作系统课上听到虚拟内存
和
物理
内存的概念的那一天起,我就一直在思考这个问题。现在我知道,在加载时
和
编译时,
虚拟地址
和
逻辑地址绑定方案是相同的,但在执行时它们是不同的。首先,为什么在编译和加载时生成
虚拟地址
是有益的,以及当我们应用与号运算符来
获取
变量的地址、朴素的数据类型、用户定义的类型
和
函数定义地址时,会返回什么? 操作系统如何准确地从
虚拟地址
映射到
物理
地址?这些问题都是出于好奇心,我
浏览 4
提问于2013-03-27
得票数 11
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
海康一面过!(纯Linux八股)
操作系统--虚拟内存
谈谈程序的堆和栈
C程序代码编译、运行全过程解析
【20期】操作系统为什么要引入虚拟内存?
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券