腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(5143)
视频
沙龙
3
回答
CPU如何知道哪个物理地址被映射到哪个
虚拟地址
?
、
、
、
根据我的理解,每个进程通过
虚拟地址
而不是物理地址访问内存,CPU有责任通过MMU单元将这些
虚拟地址
转换为物理地址,两个或多个进程可以具有相同的
虚拟地址
。假设进程A试图访问
虚拟地址
12345,进程B也试图访问
虚拟地址
12345。MMU将如何将每个进程的
虚拟地址
转换为物理地址,它是否为每个将
虚拟地址
映射为物理地址的进程设置了映射表(因为我认为CPU甚至不知道什么是“进程”,它的唯一责任是执行指令,而不关心哪个指令属于哪个进程,而
浏览 0
提问于2017-05-12
得票数 6
回答已采纳
1
回答
当我在GDB中运行一个程序时,GDB如何显示程序的
虚拟地址
?
、
、
、
当我在GDB中运行我的简单程序时,GDB会向我显示程序的
虚拟地址
(在我的程序的可执行对象文件中定义)。但GDB没有给我那个地址。相反,GDB显示我的简单程序的
虚拟地址
,它定义在我的简单程序的可执行对象文件中。 怎么会出这事?GDB有
虚拟地址
表吗?
浏览 1
提问于2017-09-19
得票数 2
回答已采纳
1
回答
图像基地址、
虚拟地址
和相对
虚拟地址
有什么区别?
、
、
、
图像基地址、
虚拟地址
和相对
虚拟地址
有什么区别?这两个有什么区别?图像基地址到底是什么?图像基地址、
虚拟地址
和相对
虚拟地址
有什么区别?我们什么时候使用图像基地址?
浏览 4
提问于2016-06-05
得票数 3
回答已采纳
3
回答
我们看到一个进程的
虚拟地址
(在分页系统中),这些
虚拟地址
在哪里?
、
、
、
、
我们看到与任何指令对应的
虚拟地址
,所以我的问题是这些
虚拟地址
在哪里?如果我们看到gdb中的反汇编,我们就会看到
虚拟地址
,这些地址位于哪里?请不要说它只是
虚拟地址
,它必须按页映射到物理地址,我知道,但是我们在gdb中看到的
虚拟地址
在哪里存在呢?在RAM里还是在硬盘里?
浏览 2
提问于2016-09-17
得票数 2
回答已采纳
1
回答
虚拟内存地址驻留在哪里?
、
、
、
因此,如果
虚拟地址
没有对应的物理地址,CPU将从磁盘获取该地址。因此,
虚拟地址
的映射可以在以下两个位置之一:它在物理内存或磁盘中。我的问题是
虚拟地址
本身驻留在哪里?因为CPU需要这个
虚拟地址
来执行映射。CPU从哪里获得这个地址?当我们使用gdb查看
虚拟地址
空间时,gdb将所有这些
虚拟地址
放在哪里?对于ex:页表20这里20 (页表条目)驻留在RAM中。0x800000 (物理地址)驻留在RAM中。0x420000信
浏览 5
提问于2013-10-30
得票数 2
1
回答
x86程序集中的地址是虚拟的还是物理的?
、
此地址0x123456789指的是
虚拟地址
还是物理地址?读取时,它声明“
虚拟地址
空间由CPU的内存管理单元(MMU)实现”。那么,是否有一个独立于操作系统的CPU
虚拟地址
空间?除了内核
虚拟地址
空间之外,为什么还需要这样做呢?如果没有操作系统,CPU将如何执行虚拟到物理的转换?
浏览 0
提问于2017-01-02
得票数 8
回答已采纳
2
回答
ARM体系结构中
虚拟地址
与修改
虚拟地址
的区别
、
、
、
在ARM-Cortex A8的文档中,我看到了一些命令,如缓存刷新、接受输入地址作为MVA (修改后的
虚拟地址
)。“修改
虚拟地址
”和“
虚拟地址
”之间有任何区别,如果是的话,如何将32位长的
虚拟地址
转换为MVA。
浏览 0
提问于2019-07-29
得票数 2
回答已采纳
1
回答
如何在保留
虚拟地址
范围的同时释放内存?
、
、
、
我在一个内存大小和
虚拟地址
空间都非常紧张的设备上工作。我试图通过更频繁地回收内存,而不是更频繁地回收
虚拟地址
来解决这个问题,例如,提前保留
虚拟地址
但延迟提交内存,同时提前回收内存并延迟释放
虚拟地址
。解决了第一个问题:使用mmap和PROT_NONE来获取
虚拟地址
范围,在使用之前使用mprotect和PROT_READ|PROT_WRITE,这样页面在使用时就会出错。但是,我找不到相反的方法:使用PROT_NONE的mprotect似乎不会释放页面,而调用munmap则会丢失
虚拟地址
范围。
浏览 1
提问于2018-04-12
得票数 1
1
回答
为什么ELF的
虚拟地址
在映射到虚拟空间之前就可以确定?
、
、
、
对象文件被链接以生成ELF文件,并确定其
虚拟地址
。例如,.text的
虚拟地址
是0x8048000。当ELF文件要映射到虚拟空间时,另一个ELF已经映射到此地址。操作系统应该做什么?为什么在将ELF的
虚拟地址
映射到虚拟空间之前就可以确定其
虚拟地址
。
浏览 3
提问于2015-10-02
得票数 5
回答已采纳
1
回答
windows中的
虚拟地址
空间
、
、
、
、
文件上说 如果一个进程需要分配2g
虚拟地址
空间,我可以说如果系统中有4
浏览 4
提问于2013-08-21
得票数 0
回答已采纳
2
回答
系统如何定义进程获得的虚拟内存的部分?
、
、
、
如果存在32位系统(假设为Windows),则
虚拟地址
空间为4GB。因此,CPu可以在此范围内生成任意地址。那么,一个进程难道也不能解决这个范围内的任何地方吗?据说每个进程都有自己的专用
虚拟地址
space.Then,系统如何方便这一点呢?假设一个进程从其私有
虚拟地址
空间中寻址一个地址,会发生什么?
浏览 1
提问于2013-12-31
得票数 1
回答已采纳
3
回答
指向另一个进程的内存位置的指针。
当我们说A有一个指向B中变量V的指针时,A是持有与V对应的
虚拟地址
(进程B)还是物理地址?(ii)。如果A包含
虚拟地址
,因为A和B都可能具有相同的
虚拟地址
,则A的分页包含A持有的
虚拟地址
的映射(实际上是进程B中变量V的
虚拟地址
)。然后,当A试图访问和修改该
虚拟地址
时,它会在自己的地址空间中修改某些内容(这种访问将被允许,因为A访问自己的地址)。当我们试图从一个进程访问一些随机
虚拟地址</e
浏览 3
提问于2012-01-19
得票数 3
回答已采纳
1
回答
内存管理:错误
虚拟地址
、
、
我在http://tldp.org/LDP/tlk/mm/memory.html上看到了下面的内容“错误
虚拟地址
无效”。 这到底是什么意思?*
虚拟地址
如何无效?毕竟,任何32位值(在32位机器上)都会对应于
虚拟地址
空间中的某个“有效”地址。
浏览 0
提问于2012-04-12
得票数 2
回答已采纳
1
回答
虚拟地址
到物理地址转换(十进制)
、
假设系统具有6位
虚拟地址
和每帧16字节页。将虚拟页号映射到进程的物理页是:将
虚拟地址
40 (在十进制中)转换为十进制中的物理地址。从6位
虚拟地址
中,我知道
虚拟地址
空间中有2^6个地址。因此,每个地址页有(2^6)/(2^4) = 2^2字节,这意味着有一个4位偏移。但是,我不知道从哪里开始,并使用表将
虚拟地址
转换为十进制的物理地址。
浏览 0
提问于2019-03-08
得票数 1
4
回答
限制malloc()的虚拟内存空间
、
、
、
因此,我需要对
虚拟地址
空间进行分区,只有当
虚拟地址
来自其专用池时,malloc才应该始终分配
虚拟地址
,my_malloc()也是如此。我不能限制堆的大小,我只需要保证malloc()和my_malloc()永远不会返回相同/重叠的
虚拟地址
。 谢谢!
浏览 1
提问于2012-05-05
得票数 0
回答已采纳
1
回答
为什么内核有一个单独的用户页面
虚拟地址
?
、
、
、
、
我认为内核可以使用用户
虚拟地址
来引用用户页面,上面是内核
虚拟地址
。例如,在下面的映像中,整个
虚拟地址
不是从0到4GB,用户
虚拟地址
空间将被限制在PHYS_BASE以下的地址,而内核也可以访问上面的地址吗? 谢谢你的澄清。
浏览 3
提问于2015-01-07
得票数 4
回答已采纳
1
回答
虚拟地址
空间和计算机实际地址空间有什么区别?
、
、
、
我认为
虚拟地址
空间是分配给特定进程的RAM的一部分。但我正在读的书说,4 gbs是
虚拟地址
空间的标准限制。这不是全部内存吗?如果是这样的话,那么我对
虚拟地址
空间是什么感到困惑。有人能指点我吗?
浏览 4
提问于2013-10-22
得票数 1
回答已采纳
1
回答
如何在保持
虚拟地址
映射的同时返回物理页?
、
我想预订一个大的连续区域(4GiB)的
虚拟地址
空间。我可以用mmap做这件事。然后,当我写到内存中时,内核将逐渐使它成为物理备份。在某个阶段,我希望将此范围内的物理页面返回到内核,同时保持整个
虚拟地址
空间区域仍然被映射。我的问题是,如果我用munmap返回物理页面,那么我不仅返回物理页面,而且还返回
虚拟地址
空间。是否有可能只返回物理页面,同时仍然保留
虚拟地址
空间?
浏览 4
提问于2021-03-05
得票数 0
回答已采纳
2
回答
是否可以使用C编程访问物理内存地址?
、
例如,当我们写到:执行&a会给出一些十六进制形式的0x12345678地址,我们称之为
虚拟地址
。现在当我们尝试这样做时此地址是
虚拟地址
还是物理地址?据我所知,
虚拟地址
是由OS提供的,然后由MMU进一步转换为物理地址。据我所知,分页机制发生在两者之间,它将
虚拟地址
映射到可用的物理地址。当我们给一个指针一个地址时会发生什么?该地址的作用类似于
虚拟地址
,然后由MMU处理以指向特定的物理地址,还是其本身类似于物理地址?It could be
浏览 0
提问于2019-01-23
得票数 5
1
回答
进程
虚拟地址
空间
、
我正在读一些关于进程的
虚拟地址
空间的文章,它说 这也许是个愚蠢的问题,但4GB是如何计算的呢?你是怎么从32位算出来的?
浏览 4
提问于2017-11-09
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
什么是虚拟地址注册?合法吗?
可以使用虚拟地址注册公司吗?
上海园区虚拟地址注册公司是啥意思呢?
合肥来了“中关村”
中关村三小、中关村一小、十一学校将在中关村科学城北区建立分校
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券