为什么 Windows 在将 hiberfil 文件的内容恢复到 RAM 后不删除它?

为什么 Windows 在将 hiberfil 文件的内容恢复到 RAM 后不删除它?

为什么 Windows 工程师不允许系统直接删除并恢复 hiberfil 文件占用的分配空间?

答案1

当然,只有 Windows 工程师才能回答这个问题。但是:

  1. 如果在恢复后删除休眠文件,则必须分配空间再次每次冬眠前。

  2. 如果磁盘空间不足,操作系统就无法休眠。更重要的是,休眠文件必须是单个连续块磁盘空间 – 例如,如果您有 30 GB 的可用空间,但它是 5 个块 × 6 GB,那么就不可能创建 8 GB 的休眠文件。

  3. 如果操作系统无法在用户要求时休眠,用户自然会抱怨该功能已损坏且无用(因为它确实如此!)。如果由于电池电量不足而自动休眠,操作系统将被迫关闭(可能会丢失未保存的文档)——甚至只是待在那里直到电池耗尽——这也让它看起来也已损坏。

因此,永久保留休眠文件的成本(考虑到它只占总磁盘空间的很小一部分)小于每次尝试执行此操作且存在高失败风险的成本。

答案2

哦,我认为你可以手动完成。但这样做可能没有意义。这可能就是为什么 Windows 默认不这样做的原因。

下次休眠时会发生什么?您只需要将该空间分配给休眠即可。

通常,当人们想要休眠时,他们希望它能立即正常工作。当人们尝试启动休眠时,他们通常没有时间通过​​删除其他内容来释放磁盘空间,以便为休眠腾出空间。

因此,如果休眠功能曾经有效,则显然计算机支持该功能。尽管 Cortana 等功能可能是备受关注的功能,但与系统固件交互以执行基本任务的能力可能被列为关键能力,因此操作系统设计人员不希望再次失去这种能力。

如果空间继续被用完,那么用户将不会认为这是可用的空闲空间来填充,从而用尽空闲空间并最终在用户下次想要休眠时导致问题。

此外,如果人们在计算机生命周期的早期就休眠一次,那么希望就不会有那么多碎片化的需求。如果将来保留相同的扇区,休眠过程可能不太需要使用碎片化的空闲空间来完成任务。

最后,删除数据需要一些资源(包括时间,以及与磁盘交互,磁盘是不同程序共享的资源)。所用的资源量可能很小,但少总比没有好。为什么要在不需要的时候消耗资源呢?

因此,总而言之,“是什么阻止 Windows” 这样做的答案可能是“Windows 为什么要这样做?”的反问。

相关内容