腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
虚拟内存
总是可用的吗?
linux
、
virtual-memory
虚拟内存
原理:
虚拟内存
的思想是创建一个与内存中的实际地址不相对应的
虚拟地址
空间。该系统将内存的正式副本存储在磁盘上,并仅在RAM中缓存最常用的数据。为了实现这一点,我们将
虚拟内存
分解为称为页面的块;典型的页面大小为4千字节。我们还将RAM分解为页帧,每个帧的大小与页面大小相同,可以容纳任何一页
虚拟内存
。我正在运行一个
Linux
系统,交换区是空的,因为主内存中有足够的空间。话虽如此,是否仍然存在有页的
虚拟内存
,并且进程是否会继续使用
虚拟地址
而不是主内存中
浏览 0
提问于2017-07-04
得票数 3
1
回答
虚拟内存
、
虚拟地址
virtual-memory
、
virtual-address-space
我已经阅读了各种在线文档/视频,以了解“
虚拟地址
,
虚拟地址
空间(VAS)”等,但仍然有一些疑惑下面提到的还不清楚。2)要执行,需要将程序加载到RAM中,CPU为其生成
虚拟地址
。这些活动(生成VA并加载到RAM中)是同时发生还是顺序发生?如果有的话,内核/MMU如何知道哪个特定的
虚拟地址
需要映射到RAM中的哪个物理地
浏览 59
提问于2018-01-31
得票数 0
3
回答
如何在
虚拟地址
空间中确定页面大小?
linux
、
kernel
、
memory
、
hardware
Linux
使用
虚拟内存
系统,其中所有地址都是
虚拟地址
,而不是物理地址。这些
虚拟地址
由处理器转换为物理地址。 为了使这个转换更容易,
虚拟内存
和物理内存被划分为页面。
浏览 0
提问于2014-05-06
得票数 55
回答已采纳
1
回答
在
linux
内核中,页面地址、
虚拟地址
和物理地址有什么不同
linux
、
linux-kernel
在
linux
内核中,页面地址、
虚拟地址
和物理地址有什么不同?另外,如果我有结构页面地址,我如何找到它的
虚拟地址
?提前感谢你的回答。
浏览 0
提问于2015-10-29
得票数 2
3
回答
在
Linux
虚拟内存
系统中进程如何尝试访问其他进程的内存
linux
、
virtual-memory
当我在
Linux
中学习
虚拟内存
系统时,我感到很困惑。 由于每个进程都有自己的
虚拟地址
空间和将其
虚拟地址
转换为物理地址的页表(我说得对吗?),它怎么可能试图错误地访问其他进程的内存呢?
浏览 2
提问于2013-12-26
得票数 3
回答已采纳
1
回答
Linux
中
虚拟内存
的大小
linux
、
virtual-memory
、
memory-management
在
Linux
中,用户和内核
虚拟内存
的大小是根据什么决定的?(32位,如果相关的话)。是可配置的吗? 如果我们有512 MB内存,那么用户和内核
虚拟地址
的大小是多少?
浏览 0
提问于2020-02-13
得票数 1
回答已采纳
3
回答
进程内存映射(
Linux
Windows)
c++
、
c
、
windows
、
linux
谁能给我一些关于
Linux
和Windows使用的
虚拟内存
映射的文档。我的意思是,在一个典型的进程中,
虚拟地址
、代码、可写静态数据、堆栈和堆(以及其他内核位)通常会放在什么位置?
浏览 1
提问于2010-08-27
得票数 5
回答已采纳
1
回答
Windows程序内存与
Linux
程序内存
linux
、
windows
、
linux-kernel
、
virtual-memory
Linux
为每个程序创建
虚拟内存
页,操作系统处理将
虚拟地址
映射到真正的硬件地址,对吗? 但是Windows是如何做到的呢?Windows程序实际上是否有可转换为实际硬件地址的内存?我还意识到,当RAM被过度使用时,windows可以使用硬盘内存,这个过程又被称为
虚拟内存
,但我相信这是一个完全不同的概念?
浏览 4
提问于2015-12-10
得票数 1
回答已采纳
1
回答
相当于
Linux
中的dwAllocationGranularity?
c++
、
linux
、
memory
、
allocation
、
granularity
在
Linux
中,什么是?在Windows中,它被定义为: 请注意,这与PAGE_SIZE不同,后者是物理页面的粒度。(在Windows上,x86上的
虚拟地址
粒度是64 KiB,而页面大小当然是4 KiB)。
浏览 3
提问于2014-07-18
得票数 3
回答已采纳
2
回答
虚拟地址
空间与
虚拟内存
linux
、
operating-system
、
virtual-memory
、
virtual-address-space
虚拟地址
空间和
虚拟内存
之间有什么区别吗?如果是这种情况,32位操作系统将不会有超过4 4GB vaddr空间和
虚拟内存
。Ok
虚拟内存
可以存在于任何本地或远程的地方。
虚拟地址
空间是用于寻址内存每个进程的指针。这意味着我的最大
虚拟内存
容量受到地址空间限制的限制。如果我错了,请纠正我。
浏览 6
提问于2013-06-29
得票数 2
1
回答
为什么mmap /dev/mem返回不同的地址?
linux
、
mmap
或者返回的地址是映射到相应物理地址的
虚拟地址
? $ sudo .
浏览 0
提问于2014-02-18
得票数 0
1
回答
Linux
页面表管理与MMU
linux
、
kernel
、
computer-architecture
、
mmu
我有一个关于
linux
内核和MMU之间的关系的问题。现在我明白了,
linux
内核管理
虚拟内存
地址和物理内存地址之间的页表。同时,在x86体系结构中存在MMU,它管理
虚拟内存
地址和物理内存地址之间的页表。如果MMU出现在CPU附近,内核还需要处理页面表吗?我相信内核将从MMU (32位中的4GB)接收
虚拟内存
的大小,然后内核将区分
虚拟地址
中的用户空间和内核空间。我说的对吗?还是完全错了? 提前谢谢!
浏览 3
提问于2014-09-24
得票数 10
回答已采纳
1
回答
进程
虚拟地址
空间和内核地址空间?多么?
memory-management
、
linux-kernel
、
linker
、
loader
、
virtual-memory
主要涉及静态和运行时,即ELF和加载/链接等,特定于
Linux
86。我知道
虚拟内存
,它是分裂的1G/3G。在用户模式下进程不能访问PAGE_OFFSET以上的地址- PAGE_OFFSET是
虚拟地址
. 在静态时间ELF定义过程虚拟空间?如果ELF定义
虚拟地址
空间,那么ELF是否也定义了内核
虚拟地址
空间?多么?我假设内核
虚拟地址
空间在运行时是动态映射的?编译->链接/加载->
虚拟内存
结构(内核地址、空
浏览 0
提问于2016-04-27
得票数 2
回答已采纳
3
回答
窗户没有mremap吗?
linux
、
windows
、
virtual-memory
据我所知,为了在
linux
中保留一部分
虚拟内存
,您可以使用MAP_ANONYMOUS和MAP_PRIVATE调用MAP_ANONYMOUS,而windows上的等效系统调用是VirtualAlloc。然而,
linux
提供了mremap来调整内存映射的大小,手册页说 我找不到相应的windows系统调用。那么,在Windows中没有办法重新映射
虚拟内存
块吗?若否,原因为何?
浏览 3
提问于2013-06-19
得票数 3
1
回答
Syscalls:用户是如何将数据传递/接收到内核的?
kernel
、
system-calls
在前面的几个问题(下面的链接)中已经讨论了用户和内核
虚拟地址
之间的关系,但据我所知,用户进程不能读写内核地址。是通过记忆吗?如果是的话,内存布局在哪里?相关问题:所有进程的
虚拟地址
空间是否在它们的“内核”部分中都有相同的内容? 📷
浏览 0
提问于2020-07-07
得票数 1
回答已采纳
1
回答
linux
内核预分配的非映射
虚拟内存
linux-kernel
、
virtual-memory
、
memory-mapping
我有以下场景:virtio (将物理地址发送到主机)-将物理内存映射到主机
虚拟内存
->物理内存是预分配的。有没有一种方法可以在主机上预先分配未映射的
虚拟内存
,这样它就不必搜索空闲的
虚拟地址
空间?我想要的最终结果是一个
虚拟地址
空间池,用于映射接收到的缓冲区。在每个作业之后,我想取消它们的映射,并将它们发送回
虚拟地址
空间到池中。
浏览 0
提问于2014-11-28
得票数 0
1
回答
虚拟地址
如何在没有
虚拟内存
的计算机上工作?
memory-management
、
operating-system
虚拟地址
如何在没有
虚拟内存
的计算机上工作?我对操作系统知之甚少,所以我问了这个问题。
浏览 6
提问于2013-05-16
得票数 1
回答已采纳
1
回答
堆是如何在进程之间划分的?
memory-management
、
process
、
operating-system
、
heap-memory
、
dynamic-memory-allocation
我了解到,每个进程都有自己的、独立的堆,与线程不同(线程共享一个公共堆,从而减缓了堆内存的分配,因为像malloc这样的函数需要使用锁进行同步)。但是,如何确定每个进程的内存分配到哪里和多少,以及如何确保这不与分配给其他进程的内存冲突?
浏览 3
提问于2021-12-12
得票数 0
2
回答
虚拟地址
空间是否驻留在
虚拟内存
中?
memory-management
、
operating-system
虚拟地址
空间是否驻留在
虚拟内存
中?我有一个困惑,比如,每个进程都有自己的
虚拟内存
和页表,从
虚拟地址
到物理地址的转换是在将它加载到物理内存时发生的,但是
虚拟地址
空间是从哪里来的呢?
浏览 0
提问于2013-12-29
得票数 0
1
回答
在
Linux
内核中分配用户空间内存
c
、
linux
、
memory
、
kernel
我知道
Linux
中的进程使用
虚拟内存
和
虚拟地址
。此外,还存在一种不能允许使用不同进程的内存的保护(这会引起分段故障)。因此,没有办法分配缓冲区并将指向它的有效指针返回到用户空间进程?
浏览 1
提问于2021-08-30
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
操作系统--虚拟内存
一篇读懂Linux 是如何管理内存的
关于Linux内存管理的详细介绍,这篇万字长文值得你的收藏点赞!
看完这篇,别再说你不懂 Linux 内存管理了
高频面试题——你真的搞懂物理内存与虚拟内存了吗
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券