如果我要在具有任何给定规格的计算机上从只读 DVD 运行 Live OS,我是否应该期望系统以
+ startup time
+ RAM usage
+ CPU usage
每次启动,允许在启动之间清除 RAM?
由于完全相同的操作系统/发行版,在启动时具有完全相同的进程将在完全相同的硬件上运行,如果不是,什么可能会导致任何差异?
如果我要在具有任何给定规格的计算机上从只读 DVD 运行 Live OS,我是否应该期望系统以
+ startup time
+ RAM usage
+ CPU usage
每次启动,允许在启动之间清除 RAM?
由于完全相同的操作系统/发行版,在启动时具有完全相同的进程将在完全相同的硬件上运行,如果不是,什么可能会导致任何差异?
从理论上讲,计算机是确定性的,因此您每次都期望相同的行为。在实践中,情况会有所不同:
启动网络所需的时间(协商连接、获取 DHCP 租约等)取决于对方的响应速度、网络的繁忙程度等。对于无线,无线电噪声等。
从 DVD 读取所需的时间取决于驱动器找到扇区的速度。测量足够准确,这取决于驱动器中光盘的初始位置。以及电机旋转的速度,光学拾音器的跟踪效果等。所有这些肯定都取决于温度,因此如果让它冷却过夜和加热可能会有所不同。可能还取决于确切的电源电压,这可能取决于确切的电网电压。
DVD 驱动器肯定对振动敏感,因此更多的振动可能会减慢它的速度。有一个著名的视频(使用 HDD,而不是 DVD)“在数据中心大喊大叫”。您可能不会对您的磁盘驱动器大喊大叫,但例如,可能在第二次运行时机器更热,因此风扇运行得更快。
操作系统实际上试图为加密操作获得真正的随机性。有时这是来自专用的专用硬件(最近的计算机都有硬件随机数生成器);其他时候,例如,计时磁盘读取所需的确切时间。有时,这种真正的随机性可能会影响启动(例如,生成 ssh 服务器密钥)。
硬件内部有很多难以观察的状态。许多设备都有自己的固件和处理器,运行大量复杂的软件。他们的响应时间可能取决于该软件到底在做什么。例如,运行自检的磁盘可能会响应较慢。
服务启动顺序的微小变化可能不会改变必须读取的数据量(如果有的话),但会改变顺序。在 DVD 驱动器上寻找时间是可怕的。这意味着顺序的细微变化会在时间上产生巨大的影响。