操作系统和内核究竟是如何自我更新的?
How exactly do operating system and kernals update themselves?
我想知道当设备获得更新时到底发生了什么(例如 iPhone?当前的 OS 是否进入 ram 或其他东西?设备固件是否处理它?
已经指出进程是非常依赖于系统的。但是,大多数系统更新 OS 或固件时都会遵循一些通用步骤。
- 某些通信渠道必须与受信任的外部实体存在。
- 现有的 OS 或固件已经存储在某处,例如在磁盘或闪存中。
- 来自外部实体的更新命令以及新数据(例如新版本的固件)。
- 数据经过真实性和完整性验证(是否真的来自国内,是否在途中损坏)。
- 新数据存储在磁盘或闪存中的备用位置。
- 更改了一些非易失性位置的指针,以便系统将使用新位置的 OS 或固件。
- 系统会自行重置。
- 系统启动时,它会看到指向新版本的指针并使用它。
我想知道当设备获得更新时到底发生了什么(例如 iPhone?当前的 OS 是否进入 ram 或其他东西?设备固件是否处理它?
已经指出进程是非常依赖于系统的。但是,大多数系统更新 OS 或固件时都会遵循一些通用步骤。
- 某些通信渠道必须与受信任的外部实体存在。
- 现有的 OS 或固件已经存储在某处,例如在磁盘或闪存中。
- 来自外部实体的更新命令以及新数据(例如新版本的固件)。
- 数据经过真实性和完整性验证(是否真的来自国内,是否在途中损坏)。
- 新数据存储在磁盘或闪存中的备用位置。
- 更改了一些非易失性位置的指针,以便系统将使用新位置的 OS 或固件。
- 系统会自行重置。
- 系统启动时,它会看到指向新版本的指针并使用它。