腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
虚拟内存
总是可用的吗?
、
虚拟内存
原理:
虚拟内存
的思想是创建一个与内存中的实际地址不相对应的虚拟地址空间。该系统将内存的正式副本存储在磁盘上,并仅在RAM中缓存最常用的数据。为了实现这一点,我们将
虚拟内存
分解为称为页面的块;典型的页面大小为4千字节。我们还将RAM分解为页帧,每个帧的大小与页面大小相同,可以容纳任何一页
虚拟内存
。我正在运行一个
Linux
系统,交换区是空的,因为主内存中有足够的空间。话虽如此,是否仍然存在有页的
虚拟内存
,并且进程是否会继续使用虚拟地址而不是主内存中其部分的物理地址?如果磁盘中没有交换
浏览 0
提问于2017-07-04
得票数 3
1
回答
linux
内核如何避免堆栈覆盖文本(指令)?
、
、
、
linux
:内核如何执行堆栈大小限制? 但我觉得这个答案不太令人满意。“当程序试图访问不在此列表中的地址时,会发生异常。”--但是程序的文本部分(指令)不是
虚
浏览 9
提问于2022-01-10
得票数 0
回答已采纳
1
回答
对象WMA (
虚拟内存
区域
:)和PTE (页表条目)之间有什么区别?
、
、
、
、
对象WMA (
虚拟内存
区域
:,用来操作内核
Linux
)和PTE (页面表条目,用来操作MMU)之间的区别是什么?为什么我们需要WMA而不是足够的PTE?
浏览 0
提问于2013-11-29
得票数 4
回答已采纳
1
回答
操作系统如何处理多个线程的堆栈增长,并选择“无限-s”?
、
、
、
、
默认情况下,
linux
堆栈大小限制为8MB。因此,在多线程环境中,每个线程将得到自己的8MB堆栈。如果任何线程从堆栈底部漫游到保护页面中,则会得到分段故障信号的奖励。这样,我们就可以防止堆栈相互重叠或与其他内存
区域
重叠。在执行“# ulimit -s无限”之后
linux
将多个线程堆放在
虚拟内存
中的位置?它不能是连续的分配,否则它们不能扩展。它是如何计算
虚拟
浏览 11
提问于2022-04-15
得票数 1
1
回答
如何查找用于DMA的进程的内存
区域
、
、
在
linux
内核中,给定一个进程及其
虚拟内存
空间,有没有办法找到映射到DMA (Direct memory Access)的内存
区域
?也许是从它的vma_area_struct的旗帜? 谢谢
浏览 2
提问于2014-03-12
得票数 1
1
回答
当调用malloc时,vm_area_struct会改变吗?
、
我读了一本关于
Linux
虚拟内存
领域的教科书我们可以看到,vm_area_struct与
虚拟内存
中的某个
区域
相关,vm_start和vm_end指向该
区域
的开始和结束。
浏览 0
提问于2020-09-23
得票数 0
回答已采纳
2
回答
malloc不能保证返回物理上连续的内存。
、
我正在阅读关于
虚拟内存
的文章,我的结论如下: 我是对的还是错的?请解释一下。
浏览 3
提问于2015-09-28
得票数 5
回答已采纳
1
回答
在
linux
上等效对vm_copy的系统调用
、
、
、
是否有一种方法可以在
linux
中创建一个
虚拟内存
区域
的复制--写双映射,类似于vm_copy的工作方式,这在OSes (如Hurd和OSX )上是可用的? 特别是用叉子。
浏览 8
提问于2015-06-29
得票数 3
2
回答
malloc在哪里返回内存?
、
、
、
我正在学习C中的malloc函数,我知道如何用当它不被使用的时候释放它但我想知道一些比这更理论性的东西:我知道,通过
虚拟内存
浏览 0
提问于2015-11-25
得票数 1
2
回答
现代计算机系统(x86体系结构)是否具有独立于操作系统的虚拟地址?
、
、
、
抱歉,如果这个问题听起来有点混乱或混乱,但我对这个概念感到相当困惑。 我想知道的是,如果我用C/ Assembly为“裸”计算机硬件写一个内核,我能使用虚拟地址吗?我一直在研究内核的源代码,它似乎使用了虚拟地址,但这是怎么可能的呢?页表不是由操作系统实现的吗? 谢谢你的帮助
浏览 49
提问于2019-06-30
得票数 1
回答已采纳
1
回答
当进程访问brk/sbrk刚刚分配的地址时,内核中会发生什么?
、
、
由于不同的操作系统实现方式不同,我将不得不缓解对知识的渴求,只问其中一个操作系统是如何工作的:(最好是开源的和广泛使用的一个:
Linux
)。这就是libc获取
虚拟内存
块的方式。 既然用户应用程序有了要操作的新虚拟地址,它只需向其写入一些值。比如:*allocated_integer = 5;。好的。现在,什么?我知道
虚拟内存
、页表、页错误等等,但我想确切地知道这些事情与我描述的这种情况有什么关系。例如:进程的页面表是否已修改?多么?什么时候?页面出错了吗?什么时候?为什么?有什么目的?
浏览 2
提问于2016-03-06
得票数 3
回答已采纳
0
回答
物理内存(RAM) ,交换区内侧,
虚拟内存
,主要区别?
、
、
、
交换区指Unix/
Linux
系统前台与后台之间数据交换的场所,即为Unix/
Linux
系统的
虚拟内存
虚拟内存
泛指将临时数据存储于磁盘存储器上的技术(简单点说就是划出一部分磁盘作为临时的RAM),Windows系统的“
虚拟内存
”,
Linux
系统的“交换区”都是
虚拟内存
浏览 820
提问于2019-07-21
2
回答
内核
虚拟内存
空间与进程
虚拟内存
空间
、
、
、
我在阅读第9.7.2章:
Linux
虚拟内存
系统(第三版)中关于
虚拟内存
的教科书:计算机系统--程序员的观点。我对
linux
进程的
虚拟内存
结构感到有点困惑,如下所示:我的问题是:内核
虚拟内存
是否为内核运行保留,而
虚拟内存
的其余部分是否为用户进程保留?内核代码和数据是做什么的?内核
虚拟内存
中的物理内存是什么?
浏览 6
提问于2020-02-05
得票数 2
回答已采纳
2
回答
谁在
Linux
中创建
虚拟内存
?
、
我知道内核负责将
虚拟内存
映射到实际内存。但是,我想知道谁实际为进程创建
虚拟内存
,如/proc/pid/map文件所示。(1)编译器/链接器是否为进程创建了
虚拟内存
区域
,而内核只是将其映射到实际内存(因为
虚拟内存
区域
并不重要,所有重要的都是映射)? 内核本身是否在分叉进程时创建
虚拟内存
空间,并将其映射到实际内存中?
浏览 6
提问于2012-03-20
得票数 1
1
回答
vmalloc()在哪个进程的页表中分配新内存?
、
我猜想,它是这样做的,在内存中进行系统调用的过程。但是,如果是的话,其余的进程如何使用这个空间呢?内核如何知道缓冲区指向虚拟地址空间,而不是真正的地址空间?但是,这就像为了一些通用的内核而消耗掉这个过程的空间,不是吗?
浏览 0
提问于2019-06-28
得票数 2
回答已采纳
1
回答
当我在共享登录节点中启动spark-shell时,JVM GC出了什么问题?
、
、
、
Environment (8.0_191-b12) (build 1.8.0_191-b12) # Java VM: OpenJDK 64-Bit Server VM (25.191-b12 mixed mode
linux
-amd64
浏览 0
提问于2020-11-17
得票数 2
1
回答
在保持地址不变的同时重新映射MapViewOfFile
、
我希望解决的基本问题是有两个由物理内存支持的
虚拟内存
区域
(即VirtualAlloc),第三个
虚拟内存
区域
“指向”其他两个
虚拟内存
区域
中的一个。虽然我相信您可以使用MapViewOfFileEx映射两个备份内存
区域
中的一个,但我找不到任何方法来确保在将映射从一个
区域
映射到另一个
区域
时lpBaseAddress不会被窃取。我相信我可以用shm_open和系列在posix上完成同样的事情,因为mmap可以覆盖映射的
区域
。
浏览 35
提问于2019-09-24
得票数 0
回答已采纳
1
回答
在私人
区域
,抄写是如何工作的?
、
、
我读了一本关于
Linux
如何管理私有对象的教科书,如下图所示:图中显示了两个进程将私有对象映射到
虚拟内存
的不同
区域
,但共享对象的物理副本的情况。对于映射私有对象的每个进程,对应的私有
区域
的页表条目被标记为只读,
区域
结构被标记为私有的随写复制。一旦进程试图写入私有
区域
中的某个页面,该写入将触发一个保护fault.When故障处理程序注意到,保护异常是由于进程试图写入私有写副本
区域
中的页而引起的,它在物理内存中创建页的新副本,更新页表条目以指向新副本我们知道
L
浏览 0
提问于2020-09-21
得票数 0
1
回答
仅在
Linux
上使用
虚拟内存
的程序
、
我有一个关于
Linux
的问题,它是
虚拟内存
。再详细说明一下。在
Linux
上使用top命令时,在ise上显示所有进程和它们所占用的内存。从
虚拟内存
到驻留内存和事件共享内存。但是我想要的是编写一个只使用
虚拟内存
的程序,res和shr都是0。这个问题发生在我使用“压力”命令时,因为顶部的命令显示它使用了大量的
虚拟内存
,只使用了一点点住宅内存。 谢谢你抽出时间,我期待着阅读你的答案!
浏览 6
提问于2020-08-09
得票数 0
1
回答
那么,声称您至少需要与hibernate工作所需的主内存一样多的交换
区域
是什么原因呢?
、
让我们假设我有8GB的主内存和8GB的交换
区域
,并且想要休眠:案例2:我使用的是8 GB的
虚拟内存
-> 8 GB的交换正好。案例3:我正在使用12 GB的
虚拟内存
->,8 GB的交换空间太小了。 结果是:大小等于内存大小的交换
区域
对于hibernate IFF来说就足够了,它根本不用于交换。那么,声称您至少需要与hibernate工作所需的主内存一样多的交换
区域
是什么原因呢?我知道
虚拟内存</e
浏览 0
提问于2011-03-10
得票数 4
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
操作系统--虚拟内存
物理内存和虚拟内存区别
虚拟内存可以等于实际内存吗?
Windows系统服务器虚拟内存如何设置
关于Linux内存管理的详细介绍,这篇万字长文值得你的收藏点赞!
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券