【问题标题】:Is memory uniformly distributed in a computer or an a disk?内存是均匀分布在计算机还是磁盘中?
【发布时间】:2020-09-09 03:57:31
【问题描述】:

在 CS 中,有不同的内存类型,例如 Stack 和 Heap。但是,在物理层面上,它们是否相同,并且这些概念仅适用于软件编写者?或者在给定的计算机中是否有不同类型的内存。我知道 HDD 和 SSD 存储存在差异,但是给定的磁盘呢?在给定的 HDD 上,每个内存块是否都与其他内存块相同?

【问题讨论】:

    标签: caching memory stack dynamic-memory-allocation ram


    【解决方案1】:

    标题问题的答案是“不一定”。软件决定如何分配内存。软件可能会从物理地址开始使用内存并向上移动,或者以相反的顺序,或者随机等等。所以如果你使用了总内存的 50%,它可能分散在各处,或者它可能是物理内存的下半部分。

    磁盘也是如此。这取决于软件(可能是驱动程序软件,但也可能是磁盘控制器)将事物物理放置在磁盘上的位置。

    当然也有保留区域,但同样是按照惯例。例如,引导加载程序放置在磁盘驱动器的固定区域,BIOS 入口点放置在特定的内存地址等。

    一般来说,内存位置就是内存位置。你的程序请求一块一定大小的内存,操作系统的内存分配器会返回一个指向内存的指针。您可能正在将该物理内存块用于程序的堆,而在过去,同一块可能已用于其他程序的可执行代码。

    记忆就是记忆。除了操作系统或机器 BIOS 使用的少数保留区域外,其他区域都是一样的。磁盘空间也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多