電腦點擊"關機"後,電腦如何實現自動切斷電源?

電腦點擊"關機"後,電腦如何實現自動切斷電源?電腦操作系統會先檢查用戶的權限,用戶是root才會執行關機的命令(圖形界面用特殊的方法實現了非管理員用戶的關機,方法不在此介紹),然後給程序發送關機的通知,好讓程序及時做出處理,同時給每個連接到的t t y發送消息以告知用戶。Windows,不太清楚,組策略好像可以配置關機需要的權限,系統也會給程序和用戶發送通知(在用戶的桌面上彈窗),有別的用戶登陸時關機會有警告。


電腦點擊

如果部分程序收到關機的通知後沒有關閉,系統會詢問用戶是否要強制關閉。系統處理後,筆記本等設備的情況多樣,下面只考慮一般的ATX規範的臺式機。之後如果硬件支持ACPI,系統會通過ACPI來切換狀態,切換到關機對應的狀態,主板的相關部分會通過將ATX接口的P S-ON恢復為高電平來實現斷電,但是+5VSB會保留供電以便下次開機。如果硬件不支持ACPI,一樣也可以關機,方式不一樣。


電腦點擊

老實講,具體過程我並不清楚,只能從數字電路方面說一下,這個並不難實現。通過編程,CPU可以通過引腳發出高低電平,這方面可以參加可編程電路的實現原理。硬件設計的話,芯片預留一個針腳開機保持高(或者低)電平,需要切斷電源時候改變電平,與引腳之連接的電源引腳發現電平變化以後切斷電源。詳細一點設計:打算關機,引腳變成高電平,引腳連接的電源裡連接一個非門電路變成低電平,然後連接到一個三極管切斷電源。


電腦點擊

再詳細一點:CPU職能分離,將這個預留引腳交給芯片組,CPU只需通過引腳給芯片組一個切斷電源的信號(也是高低電平變化),芯片組根據順序告訴電源將各個硬件電源逐個切斷。當然實際是很複雜的過程,學藝不精,只能解釋到這種程度你應該想問的是軟件跟硬件信號是如何轉化的。計算機裡的指令在運行時是保存在內存裡的,執行時候將其讀取到緩存裡,這個過程也是通過引腳,根據約定俗成的協議發送高低電平傳輸。


電腦點擊

在CPU的寄存器裡這些指令會變成一套電氣特性,就像在河道里擺石頭,水流通過河床,電流通過器件以後會有不同的輸出結果,這些結果就是一套高低電平的變化結果。計算機運行本質就是電流,就像一條河,元器件就是河床;編程就是我用河裡的水通過一些河床旁邊修的水車來把河床裡的石頭衝到特定位置,以實現我觀看特殊水流形狀的惡趣味;關機就是這些石頭把水引到一條特殊的水渠,水渠裡的水流過機械裝置把上游的閘放下來了。


電腦點擊

我認為嚴格意義上說並沒有斷電,只是處於低電平狀態,你可以在有些用山寨電源的低配臺式電腦上試著關機後馬上拽掉主機電源然後立刻按下開機鍵,你會看到風扇轉一下,這什麼意思?實際上有存電,又存電什麼意思?他並沒有斷電,只是等待你的下一次激活。這種放電容電和靜電的經驗,在我的修機之路上得來的特別昂貴,真是錢的代價啊!


分享到:


相關文章: