腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
将相同
的
物理地址
映
射到
不同
的
虚拟地址
空间
、
、
我使用MmMapLockedPagesSpecifyCache
将
物理内存映
射到
用户
进程
的
虚拟地址
空间,但是我想知道同一
物理地址
是否
可以
同时映
射到
不同
的
虚拟地址
空间。
浏览 2
提问于2016-12-21
得票数 2
1
回答
运行在一个VMM上
的
不同
虚拟机
是否
共享来宾
物理地址
空间?
、
、
、
我记得我读过关于运行在同一个VMM上
的
不同
VM(显然)有自己独立
的
(来宾)
虚拟地址
空间,但是它们都“共享”一个(来宾)
物理地址
空间。也就是说,如果VM1中
的
进程
将其
虚拟地址
0x000a0000映
射到
物理地址
0xfffa0000,则VM2
进程
(或VM1
的
任何其他
进程
)都不能将其
虚拟地址
映
射到
物理地址
0xfffa0
浏览 3
提问于2020-08-07
得票数 1
回答已采纳
3
回答
将
物理地址
映
射到
虚拟地址
linux
、
、
、
、
我正在开发一个小型
的
嵌入式系统。当我
的
linux引导到用户空间时,我知道我
的
设备
在
物理内存中
的
什么位置。我想把它们映
射到
用户空间
的
虚拟地址
。目前,我正在通过一个内核模块来做这件事。我使用vmalloc/kmalloc (取决于大小),然后对返回
的
虚拟地址
使用ioremap_page_range来映射我
的
物理地址
。我认为这不是正确
的
做法。首先,我正在分配内
浏览 0
提问于2012-07-24
得票数 8
回答已采纳
1
回答
做fork时有趣
的
父子行为
、
、
有人能解释一下下面程序
的
输出吗?为什么父
进程
和子
进程
都得到相同
的
&a值。它们必须具有
不同
的
物理address.If,我认为我正在获取
虚拟地址
,那么它们怎么可能具有相同
的
虚拟地址
,因为据我所知,每个
物理地址
都唯一地绑定到
虚拟地址
。
浏览 3
提问于2012-11-12
得票数 2
回答已采纳
1
回答
linux:获取父页面和派生子页面之间
的
共享
、
据我所知,Linux不会将所有父
进程
内存复制到子
进程
的
单独页面中,它会执行写时复制。在任一
进程
修改(写入)映射(共享)页面中
的
某个内存位置之前,我们会将子
虚拟地址
空间和父
虚拟地址
空间映
射到
相同
的
物理内存位置(相同
的
物理页面)。 我想知道
是否
有可用
的
工具
可以
显示
进程
共享
的
物理内存页。或者任何给出
虚拟地址
->
浏览 1
提问于2013-03-11
得票数 0
回答已采纳
1
回答
在
Windows 10驱动程序中将内核空间
虚拟地址
映
射到
用户空间
虚拟地址
、
、
、
、
我正在Windows 10 (64位)中编写一个内核模式驱动程序,它
的
主要目的是从DMA中读取数据,我想知道
是否
可以
将
内存块从内核空间复制到分配在用户空间中
的
缓冲区中,而不是以某种方式
将
地址公开给用户空间(当然不是
物理地址
),并保存内存复制操作。也许是这样
的
:
将
内核空间中
的</e
浏览 4
提问于2017-08-08
得票数 3
1
回答
虚拟地址
与
物理地址
、
我对
物理地址
和
虚拟地址
的
概念有点不确定。以下是我
的
理解:提前感谢
浏览 3
提问于2013-05-10
得票数 0
回答已采纳
1
回答
当
虚拟地址
空间等于
物理地址
空间时,我们需要MMU吗?
、
MMU用于使用对应于该
进程
的
页表
将
正在运行
的
进程
的
虚拟地址
转换为
物理地址
。让我们以
虚拟地址
空间等于
物理地址
空间
的
场景为例。在这种情况下,我们真的需要MMU吗?因为我们不会遇到相同
的
虚拟地址
空间映
射到
不同
物理地址
的
情况吗?bits(PO) |
浏览 1
提问于2014-02-15
得票数 0
回答已采纳
1
回答
CPU如何知道它
是否
正在访问未分配
的
内存位置?
、
、
根据我
的
理解,当CPU访问某些内存位置时(例如,如果它用4
的
地址设置内存位置为值100 ),它将地址4作为
虚拟地址
,并找出该
虚拟地址
指向使用当前加载
的
进程
页表
的
物理地址
。这是一个处理页表
的
示例:因此,
在
我们
的
示例中,CPU将使用12346
的
物理地址
将
内存位置设置为100
的
值。但是CPU如何知道它
是否
正在访
浏览 0
提问于2019-03-31
得票数 2
1
回答
虚拟地址
到
物理地址
的
映射
、
、
、
我有一个疑问,当每个
进程
都有自己单独
的
页表时,为什么需要系统范围
的
页表呢?另外,如果页表
将
虚拟地址
映
射到
物理地址
,那么我认为两个
进程
可能映
射到
相同
的
物理地址
,因为所有
进程
都有相同
的
虚拟地址
空间。
在
系统范围
的
页表上有什么好
的
链接也能解决我
的
问题?
浏览 2
提问于2012-01-26
得票数 2
3
回答
CPU如何知道哪个
物理地址
被映
射到
哪个
虚拟地址
?
、
、
、
根据我
的
理解,每个
进程
通过
虚拟地址
而不是
物理地址
访问内存,CPU有责任通过MMU单元
将
这些
虚拟地址
转换为
物理地址
,两个或多个
进程
可以
具有相同
的
虚拟地址
。假设
进程
A试图访问
虚拟地址
12345,
进程
B也试图访问
虚拟地址
12345。MMU将如何
将
每个
进程
的
虚拟地址
浏览 0
提问于2017-05-12
得票数 6
回答已采纳
1
回答
为什么malloc()返回一个高地址?
、
void *p = std::malloc(8192); std::free(p);我
在
两个平台上编译了它:(a)
在
macOS上,使用clang++ 4.2.1,(b)
在
g++ 7.3.0上。
在
macOS上,打印输出是7fa432001000,而在Linux上则是257ec20。 macOS
的
打印输出是预料不到
的
。我认为malloc(
浏览 0
提问于2018-09-14
得票数 1
1
回答
进程
内存映射中
的
文本部分
、
、
、
通常,
进程
内存映射由堆栈、文本、data+bss和堆组成。我
的
问题是关于文本部分,
是否
只有子
进程
可以
共享?@avd:是的,请参阅维基百科
进程
隔离
可以
通过
虚拟地址
空间实现,其中
浏览 3
提问于2015-02-25
得票数 0
回答已采纳
1
回答
操作系统是如何为每个
进程
生成页表
的
?
、
、
、
我知道每个
进程
都有自己
的
虚拟地址
空间。为每个
进程
生成一个表,以
将
虚拟地址
映
射到
驻留在物理内存(称为页)中
的
物理地址
。 当尝试访问某个地址(例如0x123 )时,系统会使用该表查找该地址。否则返回转换后
的
地址。(为了简单起见,我在这里不提及TLB和页面错误
的
作用)。 我
的
问题是,这个表是如何生成
的
?当我
的
程序开始
运行时
,它如何知道
浏览 115
提问于2020-09-19
得票数 1
1
回答
如何确认多
进程
共享映射区域,使用带有MAP_SHARED标志
的
mmap创建
、
、
我已经创建了两个独立
的
进程
process1和process2,它们
将
(使用带有MAP_SHARED标志
的
mmap )映
射到
相同
的
文件(或)对象,在这种情况下,映射区域应该是共享
的
b/w
进程
。当我打印两个
进程
的
mmap系统调用
的
返回值时,打印
的
地址是
不同
的
,我相信打印
的
地址是
虚拟地址
,所以它
的<
浏览 0
提问于2014-08-15
得票数 2
1
回答
内存地址: Linker Vs.加载器
、
、
、
我试图了解在编译和加载程序
的
不同
阶段,内存分配是如何工作
的
。因此,分页和所有与内存管理相关
的
操作就是在这一步完成
的
。 我
的
问题是关于两件事:
浏览 2
提问于2016-11-10
得票数 1
回答已采纳
3
回答
为什么
不同
进程
的
虚拟内存地址是相同
的
?
、
、
、
我知道Windows2G(内核)和/2G(用户)
的
虚拟内存是分开
的
。但是为什么变量
的
地址不是连续堆栈
的
呢? 喜欢0x22ff74,0x22ff78,0x22ff82,0x22ff86?这
是否
意味着Windows在用户
进程
中使用沙箱机制?
浏览 2
提问于2012-02-09
得票数 4
回答已采纳
2
回答
TLB怎么这么快?
、
、
在
处理虚拟内存时,您经常使用TLB (我是
在
询问软件管理
的
TLB)来加快速度。与
将
虚拟地址
插入页面表以获取它映
射到
的
物理地址
不同
,您
可以
在
中间使用TLB来存储最近使用
的
页面。所以,您要做
的
是,获取您
的
虚拟地址
,并查看TLB
是否
包含您
的
地址,如果它包含了您
的
地址,它将返回<em
浏览 2
提问于2017-05-14
得票数 0
回答已采纳
5
回答
在
虚拟内存中,两个
不同
的
进程
可以
具有相同
的
地址吗?
这是我
在
一个网站上发现
的
一个采访问题,问题是:“
在
虚拟内存中,两个
不同
的
进程
是否
具有相同
的
地址?当您回答”否“时,一个
进程
如何访问另一个
进程
的
内存,例如调试器
可以
访问变量并在调试时更改它们?”我所了解
的
是: 2 diff
进程
可以
具有相同
的
虚拟内存地址。这是因为每个
进程
都有自己
的</em
浏览 18
提问于2010-08-24
得票数 19
回答已采纳
1
回答
虚拟地址
与
物理地址
我知道
物理地址
空间依赖于RAM。如果我们有1 1GB
的
ram,则
物理地址
空间大小为1 1GB。而每个
进程
都有自己
的
虚拟地址
空间,例如,32位机器为每个
进程
提供了4 4GB
的
虚拟地址
空间。如果我们向裸机应用程序中
的
物理地址
空间写入内容,让我们
在
地址0x1000中写入1234,这样数据将被写入1 1GB
物理地址
空间
的
第0x1000偏移量。我
的
浏览 1
提问于2021-10-07
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
CPU设计之Cache-寻址方式
海康一面过!(纯Linux八股)
操作系统--虚拟内存
高频面试题——你真的搞懂物理内存与虚拟内存了吗
一篇读懂Linux 是如何管理内存的
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券