CPU|重启就是关机再开机?你以为错了……


CPU|重启就是关机再开机?你以为错了……
文章图片
CPU|重启就是关机再开机?你以为错了……
文章图片
CPU|重启就是关机再开机?你以为错了……
文章图片
CPU|重启就是关机再开机?你以为错了……
文章图片
CPU|重启就是关机再开机?你以为错了……
文章图片
CPU|重启就是关机再开机?你以为错了……
前两天小编在刷pyq的时候 , 看到了一朋友发的一张与客服的对话截图:
真是Amazing!虽然先前小编就有听说重启和关机后再开机不一样 , 但当电脑跳出“需要重启”的弹窗时 , 我依旧会选择“稍后重启” , 然后在使用完电脑后关机 , 下次使用时开机 , 当作重启……
小编当时还天真地以为 , 这样既没有打断正在进行的工作 , 还完成了重启 , 可谓是做到了效率的最大化……

今天亲眼见证了两种方式所带来的不同结果 , 小编决心好好探索一下:
“重启”和“关机后再开机”到底有哪些不同?
01
定性来看
从最表层看 , 当我们点击“重启”后 , 计算机会自动进行注销用户、关闭系统、重新打开并装载系统等操作 , 主机似乎停了一下 , 但并没有完全关闭;
而选择关机再开机 , 不仅中途主机会完全关闭 , 我们还要手动按一下主机上的电源键才能再次将系统开启 。
所以从操作手段上 , 关机再开机相比重启要多按一次按钮;从主机经历的过程上看 , 关机再开机相比重启经历得更多 。 Emmm , 似乎说了一段废话……
不过通过主机呈现出的不同状态 , 我们应该能感觉到两者肯定是有不同的 。
在主机没有完全关闭的背后 , 究竟还藏着什么不为人知的秘密?
02
【CPU|重启就是关机再开机?你以为错了……】定量来看
想要深挖计算机重启背后的秘密 , 就要知道计算机在重启过程中都发生了什么 。
首先我们来看看 , 操作系统是通过什么来区分重启和关机再开机的 , 这里就要引入一个概念——高级配置电源管理接口(Advanced Configuration and Power Interface) , 简称ACPI 。
ACPI是1997年由多家公司共同提出、制定的操作系统电源管理、硬件配置接口 , 是一种开放标准 。
ACPI整体框架图
相信大家看到上图的感觉一定是非常头大 , 因为小编自己也一样(狗头)
不过我们今天不是去深挖ACPI的 , 而是看ACPI是如何决定计算机的重启的 。
ACPI规范定义了一台兼容ACPI的计算机系统可以有以下七个状态(所谓的全局状态):
G0(S0):正常工作状态 。 计算机的正常工作状态-操作系统和应用程序都在运行 。

G1:睡眠 。 这个状态还可以再细分为以下几种:

(1)S0ix:Modern Standby 。 在这种睡眠状态下 , 计算机还能联网 , 音乐还可以播放 , 其余大部分应用处于暂停的状态 , 轻按任意键即可登录账户并进入工作状态 。
(2)S1:比较耗电的睡眠模式 。 CPU的所有寄存器被刷新 , 并且停止执行指令 , 但CPU和内存的电源会被维持 。
(3)S2:一种比S1更深的睡眠状态 , 会停止CPU的电源供应 , 这种模式通常不被采用 。
(4)S3:称为Suspend to RAM , 简称STR 。 这个模式就是我们计算机上常见的“睡眠”
(5)S4:称为Suspend to Disk , 也是我们常说的“休眠” , 其和S3的差别在于 , S4消耗的时间更长 , 而且如果此时系统断电 , S3状态下没有保存的数据会丢失 , 而S4状态下不会影响 。
G2(S5):称为Soft Off 。 此状态和下面所所述的G3(S6)类似 , 不过在这个状态下 , 系统仍可以被部分设备(如键盘等)唤醒 。
G3(S6):称为Mechanical Off 。 此状态下所有部件断电 , 需要再次按下电源键才能唤醒 。
虽然看起来我们一直没有提到重启 , 但从ACPI规范下计算机的几种状态 , 我们却可以看出其不同的运行模式和唤醒模式 , 这和我们马上要讲到的重启都是有关联的 。
其实你可能想不到 , 重启也分很多个种类 , 而我们平时最常接触到的重启 , 叫hard reset , 其通过信号通知所有芯片、外围网卡等等一起进行reset操作 , 使系统大多数寄存器重置到缺省值(默认值) , 而后CPU从reset vector 开始执行程序 。