腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
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
回答已采纳
1
回答
如何在保留
虚拟地址
范围的同时释放内存?
、
、
、
我在一个内存大小和
虚拟地址
空间都非常紧张的设备上工作。我试图通过更频繁地回收内存,而不是更频繁地回收
虚拟地址
来解决这个问题,例如,提前保留
虚拟地址
但延迟提交内存,同时提前回收内存并延迟释放
虚拟地址
。解决了第一个问题:使用mmap和PROT_NONE来获取
虚拟地址
范围,在使用之前使用mprotect和PROT_READ|PROT_WRITE,这样页面在使用时就会出错。但是,我找不到相反的方法:使用PROT_NONE的mprotect似乎不会释放页面,而调用munmap则会丢失
虚拟地址
范围。
浏览 1
提问于2018-04-12
得票数 1
2
回答
ARM体系结构中
虚拟地址
与修改
虚拟地址
的区别
、
、
、
在ARM-Cortex A8的文档中,我看到了一些命令,如缓存刷新、接受输入地址作为MVA (修改后的
虚拟地址
)。“修改
虚拟地址
”和“
虚拟地址
”之间有任何区别,如果是的话,如何将32位长的
虚拟地址
转换为MVA。
浏览 0
提问于2019-07-29
得票数 2
回答已采纳
2
回答
系统如何定义进程获得的虚拟内存的部分?
、
、
、
如果存在32位系统(假设为Windows),则
虚拟地址
空间为4GB。因此,CPu可以在此范围内生成任意地址。那么,一个进程难道也不能解决这个范围内的任何地方吗?据说每个进程都有自己的专用
虚拟地址
space.Then,系统如何方便这一点呢?假设一个进程从其私有
虚拟地址
空间中寻址一个地址,会发生什么?
浏览 1
提问于2013-12-31
得票数 1
回答已采纳
1
回答
为什么ELF的
虚拟地址
在映射到虚拟空间之前就可以确定?
、
、
、
对象文件被链接以生成ELF文件,并确定其
虚拟地址
。例如,.text的
虚拟地址
是0x8048000。当ELF文件要映射到虚拟空间时,另一个ELF已经映射到此地址。操作系统应该做什么?为什么在将ELF的
虚拟地址
映射到虚拟空间之前就可以确定其
虚拟地址
。
浏览 3
提问于2015-10-02
得票数 5
回答已采纳
1
回答
windows中的
虚拟地址
空间
、
、
、
、
文件上说 如果一个进程需要分配2g
虚拟地址
空间,我可以说如果系统中有4
浏览 4
提问于2013-08-21
得票数 0
回答已采纳
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
回答已采纳
4
回答
限制malloc()的虚拟内存空间
、
、
、
因此,我需要对
虚拟地址
空间进行分区,只有当
虚拟地址
来自其专用池时,malloc才应该始终分配
虚拟地址
,my_malloc()也是如此。我不能限制堆的大小,我只需要保证malloc()和my_malloc()永远不会返回相同/重叠的
虚拟地址
。 谢谢!
浏览 1
提问于2012-05-05
得票数 0
回答已采纳
1
回答
虚拟地址
到物理地址转换(十进制)
、
假设系统具有6位
虚拟地址
和每帧16字节页。将虚拟页号映射到进程的物理页是:将
虚拟地址
40 (在十进制中)转换为十进制中的物理地址。从6位
虚拟地址
中,我知道
虚拟地址
空间中有2^6个地址。因此,每个地址页有(2^6)/(2^4) = 2^2字节,这意味着有一个4位偏移。但是,我不知道从哪里开始,并使用表将
虚拟地址
转换为十进制的物理地址。
浏览 0
提问于2019-03-08
得票数 1
1
回答
进程
虚拟地址
空间
、
我正在读一些关于进程的
虚拟地址
空间的文章,它说 这也许是个愚蠢的问题,但4GB是如何计算的呢?你是怎么从32位算出来的?
浏览 4
提问于2017-11-09
得票数 0
回答已采纳
1
回答
虚拟地址
空间和计算机实际地址空间有什么区别?
、
、
、
我认为
虚拟地址
空间是分配给特定进程的RAM的一部分。但我正在读的书说,4 gbs是
虚拟地址
空间的标准限制。这不是全部内存吗?如果是这样的话,那么我对
虚拟地址
空间是什么感到困惑。有人能指点我吗?
浏览 4
提问于2013-10-22
得票数 1
回答已采纳
1
回答
如何在保持
虚拟地址
映射的同时返回物理页?
、
我想预订一个大的连续区域(4GiB)的
虚拟地址
空间。我可以用mmap做这件事。然后,当我写到内存中时,内核将逐渐使它成为物理备份。在某个阶段,我希望将此范围内的物理页面返回到内核,同时保持整个
虚拟地址
空间区域仍然被映射。我的问题是,如果我用munmap返回物理页面,那么我不仅返回物理页面,而且还返回
虚拟地址
空间。是否有可能只返回物理页面,同时仍然保留
虚拟地址
空间?
浏览 4
提问于2021-03-05
得票数 0
回答已采纳
1
回答
为什么内核有一个单独的用户页面
虚拟地址
?
、
、
、
、
我认为内核可以使用用户
虚拟地址
来引用用户页面,上面是内核
虚拟地址
。例如,在下面的映像中,整个
虚拟地址
不是从0到4GB,用户
虚拟地址
空间将被限制在PHYS_BASE以下的地址,而内核也可以访问上面的地址吗? 谢谢你的澄清。
浏览 3
提问于2015-01-07
得票数 4
回答已采纳
4
回答
内核
虚拟地址
与内核逻辑地址的区别?
、
我无法准确区分内核逻辑地址和
虚拟地址
。在Linux设备驱动程序书中,所有逻辑地址都是内核
虚拟地址
,并且
虚拟地址
没有任何线性映射。
浏览 2
提问于2012-01-03
得票数 30
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
什么是虚拟地址注册?合法吗?
可以使用虚拟地址注册公司吗?
上海园区虚拟地址注册公司是啥意思呢?
什么是物联网卡?物联网卡的优点是什么?
按照使用目的可以将其分为普通网卡、服务器网卡和无线网卡三种
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券