腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
理解
虚拟地址
和
虚拟地址
空间
、
、
、
、
地址可以通过索引、基寄存器、段寄存器和其他
方式
生成。请任何人解释一下,这是什么意思(这些程序生成的地址被称为
虚拟地址
)?
浏览 3
提问于2012-02-23
得票数 15
1
回答
为什么内核有一个单独的用户页面
虚拟地址
?
、
、
、
、
我认为内核可以使用用户
虚拟地址
来引用用户页面,上面是内核
虚拟地址
。例如,在下面的映像中,整个
虚拟地址
不是从0到4GB,用户
虚拟地址
空间将被限制在PHYS_BASE以下的地址,而内核也可以访问上面的地址吗?然而,随着PintOS文档的继续,这似乎不是它的工作
方式
: 这意味着内核可以通过单独的内核
虚拟地址
访问用户
浏览 3
提问于2015-01-07
得票数 4
回答已采纳
3
回答
进程的
虚拟地址
范围
、
、
、
、
简而言之:进程的
虚拟地址
空间是连续的吗?现在假设a进程已经用完堆,需要增加堆size.calls brk()。如果
虚拟地址
范围是连续的,那么新分配的堆区块是从最初为该进程分配的范围之外提供的吗?或者它是以新块与原始块相邻的
方式
分配的。如果没有空间(因为内存映射段就在那里),该怎么办呢?它是如何被跟踪的?如
浏览 1
提问于2011-05-08
得票数 6
1
回答
为什么堆栈使用可以在没有事先分配内存的情况下发生?
、
、
进程的
虚拟地址
空间从进程的text、data和bss段开始。在设置了堆分配之后,堆将朝着更大的内存地址增长。堆栈从
虚拟地址
空间中的初始大地址增长到较小的值。据我所知,这在没有虚拟内存分配的情况下是有效的。在堆的情况下,如果没有预先的内存分配,怎么可能使用堆栈?(它是相同的线性
虚拟地址
空间。)但堆栈使用的
虚拟地址
空间区域必须在此之前以某种
方式
进行分配,对吧?
浏览 0
提问于2012-07-23
得票数 1
回答已采纳
1
回答
在Windows 10驱动程序中将内核空间
虚拟地址
映射到用户空间
虚拟地址
、
、
、
、
我正在Windows 10 (64位)中编写一个内核模式驱动程序,它的主要目的是从DMA中读取数据,我想知道是否可以将内存块从内核空间复制到分配在用户空间中的缓冲区中,而不是以某种
方式
将地址公开给用户空间也许是这样的: 耽误您时间,实在对不起!
浏览 4
提问于2017-08-08
得票数 3
1
回答
在Linux中,我正在尝试编写一个用户领域的应用程序,它可以检查一些物理内存(出于调试目的)
、
、
、
我正在尝试写一个用户应用程序,它可以检查一些物理内存(用于调试目的)。(w/ CONFIG_STRICT_DEVMEM=n)使操作系统崩溃。 函数ioremap、phys_to_virt和phys_to_page在我的/usr/include目录中不存在。我研究并尝试了make headers_install过程,但是函数仍然没有进入我的usr/include目录。AFAIK意味着它们不适用于用户端应用程序。有人知道如何从用户空间应用程序访问物理内存吗?另一个仅供参考,我
浏览 0
提问于2013-06-22
得票数 1
回答已采纳
1
回答
使用shmget()的共享内存
、
根据我对共享内存的理解,它是一个在两个或多个进程之间共享的内存段。共享内存可以使用shmget()实现。但是,由于任何进程都无法访问未包含在其地址空间中的内存段,因此我们需要将此共享内存附加到进程的入口空间。根据我对附加一词的理解,附加意味着我们将这个创建的内存段包含在两个进程的地址空间中,但是,当我打印这个共享内存的起始地址(即函数shmat()的返回值)时,我发现每个进程的地址是不同的。这让我感到困惑,如果共享内存是两个进程之间共享的内存中的单个“容器”,那么它有两个不同的起始地址?这是否意味着第一个进程中共享内存的内容被复制到另一个进程中的一个新内存段中?
浏览 0
提问于2022-03-10
得票数 0
2
回答
物理内存与虚拟内存
、
、
我知道,当创建一个新进程时,将有一个与该进程相关联的
虚拟地址
空间,.That
虚拟地址
空间位于虚拟内存页中,并以非连续的
方式
映射到物理内存中的内存页中。
浏览 5
提问于2013-10-08
得票数 1
回答已采纳
1
回答
虚拟地址
与物理地址
而每个进程都有自己的
虚拟地址
空间,例如,32位机器为每个进程提供了4 4GB的
虚拟地址
空间。我的疑问是,在
虚拟地址
空间中,process-1希望在0x1000偏移量处写入0x1234,与process-2希望在相同偏移量处写入相同数据的
方式
相同。它将如何工作?我想了解多个
虚拟地址
空间是如何映射到单个物理地址空间的。裸机或微控制器代码
浏览 1
提问于2021-10-07
得票数 0
1
回答
用pyelftools获取程序头信息
、
、
我只是想用pyelftools (偏移量、
虚拟地址
和物理地址)获取程序头信息。这可以通过运行以下
方式
从终端执行:但我很难从pyelftools获得同样的信息。这将打印偏移量、
虚拟地址
、物理地址等,但不是我想要的十六进制格式,也不是readelf打印它的
方式
。有没有办法让它打印出像readelf这样的十六进制格式
浏览 3
提问于2020-08-14
得票数 0
回答已采纳
1
回答
不使用"mmap“调用将物理内存映射到用户
虚拟地址
空间的另一种方法
、
、
、
、
在Linux中,我们知道可以使用用户空间应用程序中的mmap调用将物理内存映射到用户
虚拟地址
空间,并在我们的设备驱动程序中实现mmap函数指针(使用remap_pfn_range)。但是,是否有其他方法可以在不调用mmap的情况下将物理内存映射到用户
虚拟地址
空间。它是以正确的
方式
存在还是以任何其他
方式
存在。 -Sumeet
浏览 1
提问于2014-01-06
得票数 0
1
回答
为什么我们得到分割错误而不是页面错误?
、
、
、
我读起来就像分页用于页面到页面的转换一样,这就是
虚拟地址
的实现
方式
。但是,在内存的非法访问过程中,出现了分段错误,而不是页面错误。 在谷歌搜索之后,我找到了一篇好文章。
浏览 5
提问于2014-04-10
得票数 0
回答已采纳
3
回答
CPU如何知道哪个物理地址被映射到哪个
虚拟地址
?
、
、
、
根据我的理解,每个进程通过
虚拟地址
而不是物理地址访问内存,CPU有责任通过MMU单元将这些
虚拟地址
转换为物理地址,两个或多个进程可以具有相同的
虚拟地址
。假设进程A试图访问
虚拟地址
12345,进程B也试图访问
虚拟地址
12345。MMU将如何将每个进程的
虚拟地址
转换为物理地址,它是否为每个将
虚拟地址
映射为物理地址的进程设置了映射表(因为我认为CPU甚至不知道什么是“进程”,它的唯一责任是执行指令,而不关心哪个指令属于哪个进程,而
浏览 0
提问于2017-05-12
得票数 6
回答已采纳
1
回答
在ARMv7的上下文中,当mmu必须执行页表转换时,Linux内核一对一映射内存的优点是什么?
、
、
、
Linux内核
虚拟地址
是一对一映射的.因此,通过将一个PAGE_OFFSET减去
虚拟地址
,我们将得到物理地址。这就是和是如何在中实现的。单对一映射的唯一优势是S/W只需减去PAGE_OFFSET即可直接获得各自
虚拟地址
的物理地址,还是ARMV7 MMU页面转换还有其他优势?我的意思是,mmu可以以类似virt_to_phys的
方式
执行操作,而不是遍历所有的页表。
浏览 3
提问于2015-10-25
得票数 3
回答已采纳
1
回答
当我在GDB中运行一个程序时,GDB如何显示程序的
虚拟地址
?
、
、
、
当我在GDB中运行我的简单程序时,GDB会向我显示程序的
虚拟地址
(在我的程序的可执行对象文件中定义)。但GDB没有给我那个地址。相反,GDB显示我的简单程序的
虚拟地址
,它定义在我的简单程序的可执行对象文件中。 怎么会出这事?GDB有
虚拟地址
表吗?
浏览 1
提问于2017-09-19
得票数 2
回答已采纳
1
回答
虚拟内存可以用来支持i386中的数据断点特性吗?
、
、
、
、
我在学习我的操作系统教科书,它提到
虚拟地址
转换可以在数据断点上实现(用于程序调试)。我只知道调试器使用INT 3来暂停程序,在调试控件和地址寄存器中以某种
方式
处理局部变量和全局变量。根本没有关于
虚拟地址
相关数据断点背后的机制的文章或讨论。这到底是怎么回事?
浏览 1
提问于2020-04-15
得票数 1
回答已采纳
1
回答
为什么每次都会更改堆栈、堆的
虚拟地址
?
、
、
、
、
当我运行程序'A‘时,堆和堆栈的
虚拟地址
会被更改,尽管我运行的程序'A’。 我知道堆栈、堆的
虚拟地址
不是在可执行对象文件(elf格式)中定义的。它们是可变的东西。我必须模仿程序(32位)使用堆栈的
方式
。但是程序的堆栈
虚拟地址
在每次运行时都会发生变化。我需要帮助。
浏览 4
提问于2017-09-24
得票数 0
回答已采纳
1
回答
在x86-64中直接向TLB提供物理地址
、
、
是否可以在长模式下以直接
方式
向x86-64架构上的TLB提供给定
虚拟地址
的物理地址?例如,假设我在PML4E中设置了0,因此将触发页面错误异常,因为将发现无效地址,在异常期间,CPU是否可以通过使用某些指令来告诉PML4E此
虚拟地址
位于X物理页帧?
浏览 0
提问于2011-11-04
得票数 0
1
回答
如何在内核模块的相同偏移量中预留内存
、
、
、
如何预留内存才能从新的
虚拟地址
调用?或者,如何从新的
虚拟地址
呼叫另一个
虚拟地址
? 接触编译器的ASM代码将是一种困难的
方式
。
浏览 6
提问于2018-01-15
得票数 1
1
回答
虚拟地址
如何在没有虚拟内存的计算机上工作?
、
虚拟地址
如何在没有虚拟内存的计算机上工作?我对操作系统知之甚少,所以我问了这个问题。
浏览 6
提问于2013-05-16
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
什么是虚拟地址注册?合法吗?
可以使用虚拟地址注册公司吗?
上海园区虚拟地址注册公司是啥意思呢?
CPU设计之Cache-寻址方式
【调研纪实】大隐隐于市
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券