為什么計算機會死機?
更新于:2022-03-28 11:25:30
崩潰和掛起是兩種常見的“死機”情況,前一種情況主要是因為CPU在運行時遇到了錯誤的指令,所以CPU無法計算,那么便可能觸發系統的崩潰機制,讓整個系統停止工作。后一種情況可能是因為CPU陷入了無限循環的計算,無法響應用戶的輸入,導致死機。
如果把計算機內存中的指令流看作是用數字0和數字1組成的公路網絡,那么中央處理器(CPU)就是飛馳在這些公路上的轎車。CPU在行駛的過程中執行“道路”上的指令,完成各種功能。這個過程可以是正在進行中的復雜科學運算,也可以是激戰正酣的網絡游戲。
最初的計算機是單中央處理器和單任務的,即只有一個CPU,同一時間只執行一個任務。一個任務執行好了之后再執行下一個,這就好像是只有一輛車在簡單的公路上行駛。在這種情況下,沒有“撞車”的可能,也很少會“走錯路”,但是有可能因為某種意外情況或者機械故障導致系統停止運行。舉例來說,曾在UNIVAC大型機上工作過的艾倫·賴特在他關于UNIVAC大型機的回憶文章中,講了這樣一個有趣的故事。故事的主角是美國鋼鐵公司使用的第14號UNIVAC,當時的計算機很少,每一臺都有獨立的編號。這臺UNIVAC是使用附近的密歇根湖湖水來冷卻的,有一次一條魚堵塞了冷卻系統,導致UNIVAC因過熱而“死機”。直到今天,系統過熱仍是導致死機的一個可能原因。
然而“死機”的原因更多的是由于軟件故障導致CPU偏離了運行軌道無法繼續工作。崩潰和掛起是兩種常見的“死機”情況。前一種情況主要是因為CPU在運行時遇到了錯誤的指令,比如除零。因為0不可以做除數,所以CPU無法計算,只好拋出異常報告給操作系統,操作系統接收到異常后會根據錯誤指令的來源做判斷,如果錯誤指令屬于低優先級的應用程序,那么會交給它自己處理,如果屬于高優先級的系統程序,那么便可能觸發系統的崩潰機制,讓整個系統停止工作,顯示錯誤信息,然后復位。如果Windows系統遇到這種情況時,會顯示藍屏畫面,然后自動重啟系統,被稱為藍屏死亡,簡稱BSOD。后一種情況可能是因為CPU陷入了一條沒有出口的“環路”,在那里無休止地行駛,沒有辦法脫身執行其他任務了,無法響應用戶的輸入,系統就好像死了一樣。
《為什么計算機會死機?》閱讀地址:http://www.osxg.com.cn/2022/0328/841820.htm