最近碰到这个有趣的问题,操作系统在重启之后内容还在吗?为了回答这个问题,我们先假设机器关机这种情况,相信大家都知道关机之后ddr内容是会消失的。原因是ddr数据是需要刷新来保持,不然漏电会导致数据丢失。国外有个专门研究掉电之后ddr保持率,跟掉电时间,温度有关系,大概五分钟之后数据基本都丢失,如下:

另外关于系统异常掉电或者休眠这些情况,一般ddr会自己进到自刷新模式,只要保持ddr电源不掉电就行。但是在操作系统重启过程中,电源假设不存在掉电这种情况(?待确认),但是重启过程中ddr控制器不再工作,也就意味着没有刷新dram,当然这个时候电源管理可以有个策略,使dram进入自刷新模式,不然在bios执行前期(rom init),dram的数据就会丢失。进入到bios,一般它会进行ddr控制器初始化,配置参数等,之后ddr控制器会去刷新dram。另外一个问题bios 内存初始化阶段会清空内存吗? 这个是不确定的,当然它肯定会清理一些自己要使用的内存,这个不在讨论范围内,bios阶段没有使用到的其他内存也会清理吗?
参考链接:
操作系统重启:内存数据生存状态与BIOS初始化谜团
本文探讨了操作系统重启后内存内容是否会丢失,重点分析了电源供应、DDR自刷新、BIOS内存初始化过程中的内存保持和清理行为。提到了异常掉电情况下内存保护机制,并引用了专业研究数据和相关技术细节。
1265

被折叠的 条评论
为什么被折叠?



