最近碰到这个有趣的问题,操作系统在重启之后内容还在吗?为了回答这个问题,我们先假设机器关机这种情况,相信大家都知道关机之后ddr内容是会消失的。原因是ddr数据是需要刷新来保持,不然漏电会导致数据丢失。国外有个专门研究掉电之后ddr保持率,跟掉电时间,温度有关系,大概五分钟之后数据基本都丢失,如下:
另外关于系统异常掉电或者休眠这些情况,一般ddr会自己进到自刷新模式,只要保持ddr电源不掉电就行。但是在操作系统重启过程中,电源假设不存在掉电这种情况(?待确认),但是重启过程中ddr控制器不再工作,也就意味着没有刷新dram,当然这个时候电源管理可以有个策略,使dram进入自刷新模式,不然在bios执行前期(rom init),dram的数据就会丢失。进入到bios,一般它会进行ddr控制器初始化,配置参数等,之后ddr控制器会去刷新dram。另外一个问题bios 内存初始化阶段会清空内存吗? 这个是不确定的,当然它肯定会清理一些自己要使用的内存,这个不在讨论范围内,bios阶段没有使用到的其他内存也会清理吗?
参考链接: