一個通俗版的回答
其實有一件事情如果你知道之後,可能會更細思極恐,就是現在的電腦實際上電源按鍵都是觸點開關。也就是說,按一下並不是像以前的開關一樣把電源接通,而是隻是觸發了一個訊號。訊號只能由已經上電的數位電路處理,這就說明,不管開機關機,實際上電源模組一直都是通電的!事實上也的確如此。
很古老的電腦在機箱上是分電源開關和reset兩個按鈕的,電源開關是真的開關,按下去接通電源,再按一下斷開,所有裝置都會立即斷電。reset則是一個訊號,可以理解為一個全域性訊號,按下去會通知所有的電路發生了reset,這個reset電路在數位電路設計當中是很常見的,也不難實現,通常就是在reset訊號到來時重置所有的暫存器,reset訊號消失之後就會將硬體重新設定為初始狀態。許多硬體上還會有在電源訊號第一次加電時自動觸發reset的電路,透過一個RC延時電路實現。
如果用過當時的作業系統,就會知道,當時關機是這樣的:
這樣的缺點自然是關機很不方便,更不要說透過網路遠端開關機了。於是後來有了ACPI,它可以看成是一個管理電源的硬體,接上電它就會一直處於工作狀態,其中的邏輯電路負責控制其他電路的通斷電。即使關閉了電腦,ACPI也會繼續工作,否則就沒法透過觸點開關開機了。ACPI也有相應的控制暫存器,這樣作業系統可以和操作其他硬體一樣,直接操作ACPI,也就能實現直接透過作業系統關機;配合BIOS的其他功能(這些功能可以設定電源模組讓一部分硬體在關機狀態下保持通電工作),可以實現鍵盤開機、遠端開機等效果。
有ACPI之後,徹底斷電重啟的流程就變成了:
在這個過程中,ACPI本身不會斷電,所以不會產生什麼問題。
除此以外,還有熱重啟(只重啟CPU)、reset(透過reset電路重啟)等不同的情況,其他回答都提到了
一個通俗版的回答
其實有一件事情如果你知道之後,可能會更細思極恐,就是現在的電腦實際上電源按鍵都是觸點開關。也就是說,按一下並不是像以前的開關一樣把電源接通,而是隻是觸發了一個訊號。訊號只能由已經上電的數位電路處理,這就說明,不管開機關機,實際上電源模組一直都是通電的!事實上也的確如此。
很古老的電腦在機箱上是分電源開關和reset兩個按鈕的,電源開關是真的開關,按下去接通電源,再按一下斷開,所有裝置都會立即斷電。reset則是一個訊號,可以理解為一個全域性訊號,按下去會通知所有的電路發生了reset,這個reset電路在數位電路設計當中是很常見的,也不難實現,通常就是在reset訊號到來時重置所有的暫存器,reset訊號消失之後就會將硬體重新設定為初始狀態。許多硬體上還會有在電源訊號第一次加電時自動觸發reset的電路,透過一個RC延時電路實現。
如果用過當時的作業系統,就會知道,當時關機是這樣的:
使用關機命令作業系統進行關機動作介面上顯示一行字“現在你可以關閉電源了”手動按電源鍵斷電這樣的缺點自然是關機很不方便,更不要說透過網路遠端開關機了。於是後來有了ACPI,它可以看成是一個管理電源的硬體,接上電它就會一直處於工作狀態,其中的邏輯電路負責控制其他電路的通斷電。即使關閉了電腦,ACPI也會繼續工作,否則就沒法透過觸點開關開機了。ACPI也有相應的控制暫存器,這樣作業系統可以和操作其他硬體一樣,直接操作ACPI,也就能實現直接透過作業系統關機;配合BIOS的其他功能(這些功能可以設定電源模組讓一部分硬體在關機狀態下保持通電工作),可以實現鍵盤開機、遠端開機等效果。
有ACPI之後,徹底斷電重啟的流程就變成了:
作業系統進行關機動作作業系統告訴ACPI,需要一次徹底斷電的重啟ACPI斷開硬體的供電,然後恢復作業系統上電啟動在這個過程中,ACPI本身不會斷電,所以不會產生什麼問題。
除此以外,還有熱重啟(只重啟CPU)、reset(透過reset電路重啟)等不同的情況,其他回答都提到了