腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
没有虚拟内存支持的系统中的链接和分页
operating-system
、
paging
、
static-linking
、
dynamic-linking
、
virtual-memory
首先,虚拟内存是系统的硬件特性,还是仅由OS实现? 在链接时重定位期间,链接器在生成的可执行文件中为每个区段和每个符号分配运行时地址。 这些运行时地址是否与虚拟地址相对应? 如果生成可执行文件的系统不使用虚拟内存,怎么办? 接下来,如果不使用虚拟内存,则应用程序的地址空间仅限于操作系统在加载时间重定位后为其分配的物理地址空间。 如果没有使用虚拟内存,是否会发生页面错误? 我认为是这样的:如果包含请求的物理地址的物理页尚未存储在RAM中,那么页面错误就会发生,这将由OS页错误处理程序提供服务。 最后,在没有虚拟内存的情况下可以分页吗? 我是问,
浏览 5
提问于2012-08-04
得票数 5
回答已采纳
2
回答
页表是包含单个进程的所有页面的条目,还是包含RAM中所有进程页面的条目
operating-system
、
paging
我正在通过分页机制,这个问题把我搞糊涂了,问题是页表包含页条目。流程被分成几个页面。假设1个进程包含8个页面,RAM中总共有10个进程。那么,页表将包含单个进程的总共8个页表条目,还是包含所有进程的10*8个页面条目? 请给我解释一下,这个问题在任何课本中都没有明确提到过。 提前谢谢。
浏览 0
提问于2013-11-11
得票数 1
1
回答
内存布局与内存管理方案的混淆
memory
我研究了一些操作系统的概念,有点困惑,现在有了以下问题. 执行中程序的内存布局(即。(文本、数据、堆栈、堆)只有在虚拟地址空间的上下文中才有意义?如果程序在其虚拟地址空间中被组织成这些逻辑部分,那么当地址开始使用分页或分段之类的内存管理方案从虚拟地址转换为物理地址时,这些部分不是就会变得混乱吗? 据我所知,这两种方案允许物理地址空间中的非连续分区。因此,如果我的“文本”部分在虚拟地址空间中从地址0到100 (随机选择的大小),而我选择使用分页,并且我的页面大小是20个地址的长度(即文本部分有5页),那么一旦这些页面被非连续地放置在物理地址空间中(基于可用的任何空闲空间),那么文本“节”的概念是
浏览 8
提问于2022-02-24
得票数 0
回答已采纳
1
回答
应该在程序执行之前加载存储在.data或.bss部分中的静态数据还是全局数据?
c
、
linux
、
memory
、
memory-management
、
elf
通常,静态变量和全局变量都根据其初始化条件存储在.data或.bss部分中。据说它们的生命周期是从程序的开始到结束,也知道在分页管理中,程序是以页的形式加载到内存中的。这是否意味着在访问.data和.bss段之前,或者在第一条指令执行之前,都应该将它们加载到内存中?
浏览 0
提问于2012-05-03
得票数 1
回答已采纳
5
回答
高级程序阶段描述
operating-system
我试图对程序生命周期中从源代码到执行的不同阶段进行高层次的描述。 点数: Preprocessing:宏、包含文件和编译器指令在此phase.Compilation:源文件中被编译成obj文件Linker:将不同的obj文件链接到单个可执行文件。在这个阶段,虚拟地址分配给函数、变量、可执行文件中的数据。对于32位机器,每个进程都有4GB的地址空间。并保留了1-2 GB的操作系统.因此,在程序执行加载器出现时,可以将2-3GB中的地址空间分配给任何process.Execution:。它基本上将程序从虚拟地址空间加载到物理内存地址。因此,当进程开始执行时,OS为进程分配内存并调用其主要函数。
浏览 4
提问于2009-03-27
得票数 1
2
回答
Windows 2008R2上SQL 2008R2的推荐页面大小
sql-server
、
sql-server-2008
、
windows
、
memory
这篇微软文章- 如何为Windows 2008和或Windows 2008 R2的64位版本确定适当的页文件大小提供了计算64位Windows 2008和Windows2008R2页面文件大小的指导。这无疑适用于通用服务器。我想知道在Windows 2008/R2 64位上运行的SQLServer2008R2的指南是什么? 我假设我们希望内存中的数据尽可能少地访问页面文件,否则SQL可能会对磁盘进行两次数据访问。Server甚至允许内存中的数据访问页面文件吗?我已经通过服务器2008 R2联机丛书寻找指导,但还没有发现任何关于页面文件使用的信息。 下面是一个潜在的使用场景:给定一个拥有64 i
浏览 0
提问于2011-06-15
得票数 25
回答已采纳
6
回答
虚拟页面和页面框架的区别?
linux
、
memory-management
、
operating-system
、
paging
据我所知,页面来自于由虚拟内存生成的存储空间集群。但我不明白什么是框架或者它们之间有什么关系。 有人能解释什么是页面和帧以及它是如何工作的吗?
浏览 5
提问于2017-02-15
得票数 16
回答已采纳
6
回答
堆、堆栈、文本等不同的段是如何与物理内存相关的?
c
、
memory-management
、
stack
、
elf
当编译C程序并创建对象文件(ELF)时,。对象文件包含不同的部分,如bss、data、text和其他段。我知道ELF的这些部分是虚拟内存地址空间的一部分。我说的对吗?如果我错了,请纠正我。也会有一个与编译程序相关的虚拟内存和页表。页表将ELF中的虚拟内存地址与加载程序时的实际物理内存地址关联起来。我的理解是正确的吗?我读到在创建的ELF文件中,bss部分只保留未初始化的全局变量的引用。在这里,未初始化的全局变量意味着,在declaration?Also,期间未被初始化的变量--我看到局部变量将在运行时分配空间(即堆栈中的空间)。那么如何在对象文件中引用它们呢?,如果在程序中,有特定的代码可以动
浏览 6
提问于2012-02-10
得票数 22
2
回答
提交的内存进入物理RAM,还是在分页文件中保留空间?
windows
、
memory-management
当我使用VirtualAlloc使用MEM_COMMIT时,这个“为指定的保留内存页在内存中或磁盘上的分页文件中分配物理存储”(引用自MSDN文章)。 到目前为止一切都很好,但是: 提交字节计数器的描述说:“提交内存是在磁盘分页文件上保留空间的物理内存。” 我还读过"Windows通过C/C++第5版“,这本书说,背诵内存意味着在页面文件中保留空间. 最后两个案子对我来说没有意义..。如果您提交了内存,这不意味着您要投入物理存储(RAM)吗?该页文件用于在内存不足的情况下交换当前未使用的内存页。 书中说,当您提交内存时,您实际上在分页文件中保留了空间。如果这
浏览 3
提问于2010-05-15
得票数 3
回答已采纳
2
回答
分页文件中的物理页和页之间的关系是什么?
windows
、
memory-management
、
x86
、
kernel
、
paging
在Windows下,内核可以将物理内存页交换为分页文件中的页。 为了简单起见,我们假设只有一个分页文件。 据我所知,分页文件由与物理内存页大小相同的页组成。即4K。 我只是好奇: 内核如何知道分页文件中的哪个页面是空闲的来存储? (Free在这里意味着分页文件中的页面以前不存储另一个物理内存页。)
浏览 2
提问于2014-12-22
得票数 1
1
回答
分页是否允许我们使用大于CPU地址指针长度所能寻址的物理内存?
memory-management
、
operating-system
、
paging
我读了一本关于操作系统的关于内存管理的恐龙书。我想这是最好的书之一,但是书中写着一些关于分页的东西,我没有得到。 书中说:“32位CPU使用32位地址,这意味着给定的进程空间只能是2^32字节(4TB )。因此,分页允许我们使用比CPU地址指针长度所能寻址的内存更大的物理内存。” 我不太明白这一部分,因为如果CPU只能引用2^32个不同的物理地址,如果有2^32+1物理地址,那么最后一个地址将无法由CPU到达。那么分页对此有何帮助呢? 另外,这本书早些时候说:“通常,在32位CPU上,每个页表条目都有4个字节长,但大小也可能不同。32位条目可以指向2^32物理页帧中的一个。如果帧大小是4KB
浏览 7
提问于2016-10-02
得票数 1
回答已采纳
2
回答
除了页级映射之外,文件的mmap可以以任何其他方式完成吗?
c
、
memory-management
、
mmap
最近,在一次采访中,有人问我,mmap是否可以直接在二进制模式下进行程序映射,而不需要页面引用。 我认为这是不可能的,因为 允许应用程序将文件映射到内存中,这意味着内存地址和文件中的单词之间存在一对一的对应关系。然后,程序员可以通过内存直接访问文件,与任何其他内存块相同--驻留数据--甚至允许写入内存区域透明地映射回磁盘上的文件。 在不涉及分页的情况下访问文件听起来是错误的。 不过,我还是想知道mmap是否有任何方法可以在内存中以除页面方式之外的任何方式映射文件。 ===== the page way ===== 页面是最小的内存单元,可以具有不同的权限和行为。因此,页面是内存映射的
浏览 5
提问于2017-02-15
得票数 0
回答已采纳
3
回答
虚拟内存的分页和分段,哪个更好?
operating-system
、
paging
、
virtual-memory
、
memory-segmentation
大多数OSes对虚拟内存使用分页。为什么会这样呢?为什么不使用分段呢?是不是因为硬件问题?在某些情况下,一个比另一个更好吗?基本上,如果你必须选择一个而不是另一个,你会选择哪一个,为什么? 为了便于讨论,我们假设它是一个x86。
浏览 0
提问于2011-06-02
得票数 6
回答已采纳
1
回答
帧的数量是否等于页数(Linux)?
linux
、
linux-kernel
、
paging
、
virtual-address-space
我正在研究linux设备驱动程序,发现页数等于帧数。映射到每个frame.It的每个页面都表示,每当程序需要内存时,它都会分配页面。 但是在操作系统书中,我发现虚拟地址被分成多个页面,这些页面被加载到frames.then中,页面的数量怎么会等于frame? 以上哪一项是正确的?linux如何在页表中存储有关虚拟、页面、帧映射的信息? 我完全糊涂了。
浏览 0
提问于2012-08-03
得票数 3
回答已采纳
1
回答
虚拟内存概念
process
、
paging
、
virtual-memory
、
virtual-address-space
、
memory-segmentation
我对一些关于虚拟内存的话题感到困惑。所以,我要列出他们,并提出问题。在回答时,我希望你也列出一些来源,我可以澄清这个疑问。我将谈到一个linux精灵可执行文件。 我听说每个进程在32位系统中都有4gb的地址空间。当我检查其中一个可执行重定位文件的objdump时,我发现它有00000000到ffffffff的限制。它还包含内核空间。这是文件的地址空间。--这是我们谈论的虚拟内存吗?如果是,那么我已经读过,虚拟内存机制允许运行非常大的进程,并且进程大小不受主存大小的限制(我们可以根据需求分页将所需的页面带到主内存中)。那么,如果虚拟内存仅为4gb,那么它是否也将程序的最大大小限制在4gb?,
浏览 10
提问于2012-09-19
得票数 1
回答已采纳
3
回答
什么是分页?
memory
、
virtual
、
translation
、
paging
、
ram
这里解释了分页,幻灯片#6: 在我的讲稿中,但我无论如何也不能理解它。我知道这是一种将虚拟地址转换为物理地址的方法。所以磁盘上的虚拟地址被分成2^k大小的区块,之后我真的很困惑。有人能用简单的术语给我解释一下吗?
浏览 0
提问于2011-05-12
得票数 6
回答已采纳
3
回答
分段分页和分页分段的异同?
memory-management
、
operating-system
、
paging
、
memory-segmentation
我正在研究组合分页/分段系统,在我的书中有两种方法: 1.paged segmentation 2.segmented paging 我看不出这两者有什么区别。我认为在分页分段中,段被划分为页面,而在分段分页中,页面被划分为分段,尽管我不知道我是对还是错。同时,在互联网上,只使用一种方案来描述分页/分割的组合。我不明白为什么在我的教材里有两种方案。任何帮助都将不胜感激。
浏览 2
提问于2013-05-20
得票数 32
回答已采纳
2
回答
我混淆了虚拟地址和物理地址
memory
、
memory-management
、
memory-address
、
virtual-memory
多个虚拟地址可以映射到一个物理地址-来自维基百科。 如果我的代码段和数据段的基地址在同一个0,那么这些段如何映射到物理地址?
浏览 3
提问于2016-03-21
得票数 0
3
回答
每个程序是否在内存中都有自己的独立段(代码、堆栈、数据)?
operating-system
、
executable
、
memory-segmentation
假设有许多程序同时运行。 运行的每个可执行程序是否在RAM中都有自己的代码、数据和堆栈段,或者是将整个RAM划分为4个段,并且每个可执行程序段为每个程序保存各自的段。
浏览 4
提问于2013-07-30
得票数 6
回答已采纳
1
回答
虚拟地址空间与寻呼
memory
、
paging
、
virtual-memory
、
virtual-address-space
网上阅读似乎对“虚拟内存”一词有些混淆。它似乎描述了两个概念,一个是每个进程都有自己的虚拟地址空间,另一个是能够分页到次要驱动器的想法。我想,在几乎所有新的开放源码软件中,他们都实现了“两者”。 我的问题是,这两个概念是否要一起落实呢?在网上查找信息时,他们似乎总是在一起被提及,但是否有可能没有另一个呢? 例如,我知道我可以禁用在我的系统上有一个交换文件,因此每个进程仍然有自己的虚拟地址空间,并且仍然在实现虚拟内存,但不是分页到次要驱动器。 理论上,这并不是说会发生这种情况,但您能否为每个进程实现一个使用分页而不是虚拟地址空间的系统,从技术上讲,这是否仍然是使用虚拟内存? 当我们谈论“虚拟内存
浏览 1
提问于2015-10-14
得票数 1
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
物理内存和虚拟内存区别
高频面试题——你真的搞懂物理内存与虚拟内存了吗
系统小技巧:正确处理Pagefile.sys文件
电脑内存不够,押呗检测师教你五个实用清理内存的方法
手把手教你如何提升游戏的帧数与流畅度整理合集
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券