【问题标题】:Is it true that whole system space address space in linux does not use demand paging?linux中的整个系统空间地址空间不使用请求分页是真的吗?
【发布时间】:2013-09-23 07:12:44
【问题描述】:

我目前正在研究windows,我发现windows在系统空间地址空间中使用了两块内存,它们分别命名为paged pool和nonpaged pool。所以只有窗口的关键部分保存在非分页池中(不使用请求分页)。虽然有人教我在linux中所有的系统空间地址空间都没有使用需求分页的概念吗?如果所有这些信息都是正确的,那么我是否应该得出结论,Windows 运行所需的 RAM 比 linux 少?

【问题讨论】:

  • 即使 Windows 允许将内核的某些部分换出(而 Linux 不允许),它也不会自动表明 Windows 使用的 RAM 比 Linux 少。
  • Linux 内核不允许自己被换出。 sourcefrog.net/weblog/software/linux-kernel/swap.html
  • @BraveNewCurrency 是的,你是对的!我不能只看一个因素就得出结论。但问题是即使 linux 内核更轻,他们也可以构建更轻的?那他们选择了这么重的植入??
  • 感谢链接,它很棒:)
  • 是的,理论上,Linux 可以通过允许自己被换出来减少内存占用。但说真的,为什么?试图做到这一点非常复杂。请记住,Linux已经在大多数智能手机、大多数电视、大多数路由器、几乎所有排名前 500 的超级计算机等上运行。与 Windows 相比(据我了解),它不是在桌面和 Windows 手机上运行的单一操作系统。

标签: linux linux-kernel virtual-memory windows-kernel


【解决方案1】:
While I was taught that in linux all the system space address space does not use
the concept of virtual memory?

这是错误的。 Linux 内核及其组件(驱动程序、子系统等)使用虚拟内存。函数指针,分配例程返回的指针是虚拟地址。

【讨论】:

  • 你能给我一个链接来证明你所说的吗? vmalloc() 返回的内存实际上是连续的,但这里的虚拟内存只是指请求分页。抱歉没有具体说明我的问题,不过我现在已经编辑了!!
  • 我回答了你的问题。尽管我认为有关 vmalloc 的内容不太正确,但您的编辑来晚了。我会删除它。
  • ??我还没得到答案!!阅读此ibm.com/developerworks/library/l-kernel-memory-access 更具体地说此“虽然内核页面不是交换的候选者”
【解决方案2】:

如果你说的是内存管理,希望下面的话可以回答。

在 Linux 中,有两种内存地址空间:虚拟和物理。
内存以页面为单位进行管理。
虚拟地址映射到物理地址。
虚拟地址是您在编写代码时使用的地址。
物理地址可以在内存、磁盘或其他地方。
磁盘比内存更便宜、更大,但内存比磁盘快。
所以内核更喜欢使用内存。
为了给贪婪进程腾出空间,内核会将一些页面从内存交换到磁盘,因此有空闲内存可用。

但是内核地址空间中的大多数内存不应该交换到磁盘,因为它们负责管理内核和所有其他事情。这类似于非分页窗口池。

我认为 linux 和 windows 都有类似的内存管理机制。 所以很难说哪个用得少。

【讨论】:

  • “但内核地址空间中的大多数内存”是大部分还是全部?我需要知道什么?
  • 经过一番搜索,我认为所有内核空间都不可交换。交换只与进程有关。 tldp.org/LDP/tlk/mm/memory.html
  • 上面的url还包含一段需求分页
  • 是的,这就是我在我的问题中所说的:) !!
【解决方案3】:

内核使用虚拟内存进行vmalloc分配,但它总是由物理内存支持。这意味着内核永远不会出现页面错误。它使延迟保持可预测。访问存储的少数内核子系统(mm、nfsd、文件支持交换)必须明确要求 vfs 映射页面;这将复杂性保持在其所属的位置。

【讨论】:

    【解决方案4】:

    内核空间的内核映像部分不能换出而不是整个内核空间。例如,当物理内存变低时,由磁盘支持的页面缓存绝对可以被调出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 2015-07-27
      • 2013-12-14
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2011-01-29
      • 2015-02-28
      相关资源
      最近更新 更多