电脑点击"关机"后,电脑如何实现自动切断电源?

电脑点击"关机"后,电脑如何实现自动切断电源?电脑操作系统会先检查用户的权限,用户是root才会执行关机的命令(图形界面用特殊的方法实现了非管理员用户的关机,方法不在此介绍),然后给程序发送关机的通知,好让程序及时做出处理,同时给每个连接到的t t y发送消息以告知用户。Windows,不太清楚,组策略好像可以配置关机需要的权限,系统也会给程序和用户发送通知(在用户的桌面上弹窗),有别的用户登陆时关机会有警告。


电脑点击

如果部分程序收到关机的通知后没有关闭,系统会询问用户是否要强制关闭。系统处理后,笔记本等设备的情况多样,下面只考虑一般的ATX规范的台式机。之后如果硬件支持ACPI,系统会通过ACPI来切换状态,切换到关机对应的状态,主板的相关部分会通过将ATX接口的P S-ON恢复为高电平来实现断电,但是+5VSB会保留供电以便下次开机。如果硬件不支持ACPI,一样也可以关机,方式不一样。


电脑点击

老实讲,具体过程我并不清楚,只能从数字电路方面说一下,这个并不难实现。通过编程,CPU可以通过引脚发出高低电平,这方面可以参加可编程电路的实现原理。硬件设计的话,芯片预留一个针脚开机保持高(或者低)电平,需要切断电源时候改变电平,与引脚之连接的电源引脚发现电平变化以后切断电源。详细一点设计:打算关机,引脚变成高电平,引脚连接的电源里连接一个非门电路变成低电平,然后连接到一个三极管切断电源。


电脑点击

再详细一点:CPU职能分离,将这个预留引脚交给芯片组,CPU只需通过引脚给芯片组一个切断电源的信号(也是高低电平变化),芯片组根据顺序告诉电源将各个硬件电源逐个切断。当然实际是很复杂的过程,学艺不精,只能解释到这种程度你应该想问的是软件跟硬件信号是如何转化的。计算机里的指令在运行时是保存在内存里的,执行时候将其读取到缓存里,这个过程也是通过引脚,根据约定俗成的协议发送高低电平传输。


电脑点击

在CPU的寄存器里这些指令会变成一套电气特性,就像在河道里摆石头,水流通过河床,电流通过器件以后会有不同的输出结果,这些结果就是一套高低电平的变化结果。计算机运行本质就是电流,就像一条河,元器件就是河床;编程就是我用河里的水通过一些河床旁边修的水车来把河床里的石头冲到特定位置,以实现我观看特殊水流形状的恶趣味;关机就是这些石头把水引到一条特殊的水渠,水渠里的水流过机械装置把上游的闸放下来了。


电脑点击

我认为严格意义上说并没有断电,只是处于低电平状态,你可以在有些用山寨电源的低配台式电脑上试着关机后马上拽掉主机电源然后立刻按下开机键,你会看到风扇转一下,这什么意思?实际上有存电,又存电什么意思?他并没有断电,只是等待你的下一次激活。这种放电容电和静电的经验,在我的修机之路上得来的特别昂贵,真是钱的代价啊!


分享到:


相關文章: