Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 虚拟内存真的存在吗?_Linux_Memory_Memory Management_Operating System - Fatal编程技术网

Linux 虚拟内存真的存在吗?

Linux 虚拟内存真的存在吗?,linux,memory,memory-management,operating-system,Linux,Memory,Memory Management,Operating System,虚拟内存在现实中是否存在于我们的计算机系统中(即硬盘上) 如果没有,如果数据不在主存中,即(出现页面错误),如何从虚拟内存映射到硬盘中的真实数据。是否有任何表维护从虚拟内存到硬盘数据的映射。简短回答,否:)虚拟内存是虚拟的! 特别是如果你认为虚拟内存是“一个过程可以处理的内存”。在64位系统上,整个磁盘几乎无法支持整个虚拟内存。所以“在现实中”,正如你所问的,我会说不 长(-ish)回答:虚拟内存作为一系列数据结构存在于内核中。它们主要跟踪当前保留、分配、映射到文件或映射到物理内存的页/段。 此

虚拟内存在现实中是否存在于我们的计算机系统中(即硬盘上)

如果没有,如果数据不在主存中,即(出现页面错误),如何从虚拟内存映射到硬盘中的真实数据。是否有任何表维护从虚拟内存到硬盘数据的映射。

简短回答,否:)虚拟内存是虚拟的! 特别是如果你认为虚拟内存是“一个过程可以处理的内存”。在64位系统上,整个磁盘几乎无法支持整个虚拟内存。所以“在现实中”,正如你所问的,我会说不

长(-ish)回答:虚拟内存作为一系列数据结构存在于内核中。它们主要跟踪当前保留、分配、映射到文件或映射到物理内存的页/段。 此外,如果您看到的是“分配的虚拟内存”,那么答案就不同了。这总是以一种或另一种形式存在(通常是由硬盘交换空间支持的页面)。

简短回答,否:)虚拟内存是虚拟的! 特别是如果你认为虚拟内存是“一个过程可以处理的内存”。在64位系统上,整个磁盘几乎无法支持整个虚拟内存。所以“在现实中”,正如你所问的,我会说不

长(-ish)回答:虚拟内存作为一系列数据结构存在于内核中。它们主要跟踪当前保留、分配、映射到文件或映射到物理内存的页/段。
此外,如果您看到的是“分配的虚拟内存”,那么答案就不同了。这总是以一种或另一种形式存在(通常是由硬盘交换空间支持的页面)。

是的,虚拟内存确实存在,是的,有一个表维护映射。例如,在维基百科中查找。事实上,虚拟内存文章的大部分内容都会完整地回答您的问题。

是的,虚拟内存确实存在,是的,有一个表维护映射。例如,在维基百科中查找。事实上,虚拟内存这篇文章的大部分内容都会完整地回答您的问题。

您的大部分问题都有人回答


  • 虚拟内存必须存在备份存储。这通常是一个硬盘。基本上是其他一些设备,ua通常比RAM慢,但容量要大得多
  • 发生页面错误时,从备份存储获取页面
  • 页面表包含有关页面在备份存储中的位置的信息

  • 你的大多数问题都有答案


  • 虚拟内存必须存在备份存储。这通常是一个硬盘。基本上是其他一些设备,ua通常比RAM慢,但容量要大得多
  • 发生页面错误时,从备份存储获取页面
  • 页面表包含有关页面在备份存储中的位置的信息

  • 是的,大部分使用的虚拟内存字节都存在于某个地方。我之所以说“most”,是因为映射某些特殊硬件寄存器的页面可能有漏洞。但应用程序分配的所有内存要么存在于RAM中,要么存在于硬盘上


    维基百科的文章解释了所有的细节:

    是的,大部分使用的虚拟内存字节都存在于某个地方。我之所以说“most”,是因为映射某些特殊硬件寄存器的页面可能有漏洞。但应用程序分配的所有内存要么存在于RAM中,要么存在于硬盘上

    维基百科的文章解释了所有细节:

  • 内存之所以称为虚拟内存,是因为进程将其地址空间视为可用内存的连续块,使用底层地址总线宽度的所有宽度,例如32位系统的4GB。因此,每个进程都有4GB的地址空间,但这个内存并不是完全由1对1的物理内存支持的。即使您有4GB的物理内存来支持进程的4GB地址空间,内核和其他进程会去哪里?这个内存必须是虚拟的
  • 是的,表维护进程地址空间。为了简单起见,一些页面当前映射到易失性物理内存上,而另一些页面则不是。它们由硬盘上的内存文件支持。当发生页面错误时,页面错误将检查该页面是否映射到物理内存(通常在页面属性内部),如果没有,它将从HDD上的内存映射文件中获取该页面,并用它替换映射到物理内存的旧页面
  • 希望这有帮助

  • 内存之所以称为虚拟内存,是因为进程将其地址空间视为可用内存的连续块,使用底层地址总线宽度的所有宽度,例如32位系统的4GB。因此,每个进程都有4GB的地址空间,但这个内存并不是完全由1对1的物理内存支持的。即使您有4GB的物理内存来支持进程的4GB地址空间,内核和其他进程会去哪里?这个内存必须是虚拟的
  • 是的,表维护进程地址空间。为了简单起见,一些页面当前映射到易失性物理内存上,而另一些页面则不是。它们由硬盘上的内存文件支持。当发生页面错误时,页面错误将检查该页面是否映射到物理内存(通常在页面属性内部),如果没有,它将从HDD上的内存映射文件中获取该页面,并用它替换映射到物理内存的旧页面

  • 希望这有帮助。

    看,这取决于您在查看计算机时使用的抽象级别。你的电脑也是一堆乱七八糟的原子,但用那种方式看也无济于事。。。同样,你可以问:文件真的存在吗???看,这取决于你在看计算机时使用的抽象级别。你的电脑也是一堆乱七八糟的原子,但用那种方式看也无济于事。。。同样,您可以问:文件真的存在吗