gpt4 book ai didi

memory - 虚拟内存

转载 作者:行者123 更新时间:2023-12-04 17:42:29 24 4
gpt4 key购买 nike

大多数关于虚拟内存的文献都指出,作为应用程序开发人员,了解虚拟内存可以帮助我利用其强大的功能。我已经参与在 Linux 上开发应用程序有一段时间了,但在我编码时并不关心虚拟内存的复杂性。我错过了什么吗?如果是这样,请说明我如何利用虚拟内存的工作原理。否则,如果我对这个问题没有意义,请告诉我!

最佳答案

嗯,这个概念实际上很简单。我不会在这里重复,但你应该拿起任何关于操作系统设计的书,那里会解释。我推荐 Silberscahtz 和 Galvin 的“操作系统概念”——这是我在大学里必须使用的,而且很好。

我能想到的一些虚拟内存知识可能会给您带来以下几点:

  • 学习在页边界上分配内存以避免浪费(仅适用于虚拟内存,不适用于通常的堆/堆栈内存);
  • 锁定 RAM 中的某些页面,以免它们被交换到 HDD;
  • 监护人页面;
  • 保留一些地址范围并在以后提交实际内存;
  • 也许使用 NX(不可执行)位来提高安全性,但我不确定这一点。
  • PAE 用于在 32 位系统上访问 >4GB。

  • 尽管如此,所有这些东西只会在非常特定的场景中使用。事实上,99% 的应用程序不需要自己关心这一点。

    补充:也就是说,了解所有这些事情绝对是件好事,这样您就可以在它们出现时识别这些场景。只是要当心 - 权力伴随着责任。

    关于memory - 虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/510544/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com