成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

計算機死機的時候,它在干什么?

商務辦公
尤其是早些年,電腦配置還沒現(xiàn)在這么高的時候,多開幾個重量級應用程序,死機就能如約而至,就算你把鍵盤上的CTRL+ALT+DELETE按爛了,任務管理器也出不來,最后只能默默含淚長按關機按鈕,強制關機。

大家好,我是軒轅。

今天花幾分鐘跟大家分享一個很有意思又能漲知識的問題:電腦死機的時候到底在干什么?

圖片

電腦死機,應該每個接觸計算機的小伙伴都經(jīng)歷過吧。

尤其是早些年,電腦配置還沒現(xiàn)在這么高的時候,多開幾個重量級應用程序,死機就能如約而至,就算你把鍵盤上的CTRL+ALT+DELETE按爛了,任務管理器也出不來,最后只能默默含淚長按關機按鈕,強制關機。

那么,你有沒有想過,電腦在死機的時候,它到底在干嘛呢?

眾所周知,計算機的核心中樞是中央處理器CPU。上過計算機基礎課程的同學都被教導過:CPU是一根筋死腦筋,只知道不斷的取出指令來一條條執(zhí)行,直到關機方休。

所以理論上,死機分為兩種,一種是CPU罷工不干了,不再執(zhí)行下一條指令了,這屬于硬件死機,不過這種情況基本不會發(fā)生。

更多的是軟件層面的死機,也就是CPU被困在了某個地方出不來了,導致本該執(zhí)行的程序得不到執(zhí)行,看起來就是死機了一般。

聰明的你可能馬上想到,如果寫一個死循環(huán),把CPU陷在里面出不去,是不是就能死機了?比如這樣:

void dead_loop() {
while (1) {
...
}
}

你可以試一下,會發(fā)現(xiàn)為CPU降溫的風扇可能會轉(zhuǎn)起來,但計算機依舊能正常工作,并沒有死機。

死循環(huán),CPU不是應該一直在這里轉(zhuǎn)圈嗎?難道不會死機?

這就不得不提到一個概念:中斷。

中斷

中斷這個概念,絕對是計算機史上最偉大的發(fā)明之一。

中斷,顧名思義,用于打斷CPU正常的工作,讓它去執(zhí)行別處的指令程序。

操作系統(tǒng)之所以能夠掌控全局,就得益于它啟動時給CPU安插的一系列的中斷處理函數(shù)(比如我們最常見的時鐘中斷),好讓操作系統(tǒng)能周期性的收回CPU的執(zhí)行權,調(diào)度別的線程來執(zhí)行。

所以,即便你某個線程進入了死循環(huán),在你的時間片用完之后,也得乖乖交出CPU,讓別的程序來執(zhí)行。

想用一個死循環(huán)就把電腦搞死機,那自然是不可能的。

其實想來也是,如果這么容易就給你搞死機了,那這操作系統(tǒng)也太菜了吧,新手如果剛學編程,還不得一天強制重起電腦十幾回?

退一萬步講,就算不考慮中斷的影響,現(xiàn)在的CPU大都是多核,一個線程進入死循環(huán),但還有別的核可以參與系統(tǒng)調(diào)度,也依然不會死機。

那么回到開始的問題,那到底CPU被困在了哪里出不來,連中斷都拿它沒辦法呢?

其實有兩種情況:

1.中斷確實拿它沒辦法

很多人都知道中斷的概念,但很多人不知道,中斷也是有優(yōu)先級的。

這很容易理解,比如CPU正在執(zhí)行程序,突然發(fā)生了一個中斷事件。CPU保存好當前執(zhí)行的上下文,轉(zhuǎn)頭去處理這個中斷事件,但剛處理到一半兒,這時又有一個新的中斷事件來了,那CPU怎么辦?要不要響應?

所以中斷也有優(yōu)先級之分,低優(yōu)先級的中斷無法打斷高優(yōu)先級的中斷。

有了這個前提來試想一下,如果由于操作系統(tǒng)內(nèi)核代碼寫的不當,在處理某個中斷的時候陷入了死循環(huán),比如自旋鎖,會發(fā)生什么?

因為在處理中斷的時候,CPU運行在一個很高的優(yōu)先級上,一般的中斷是無法把執(zhí)行權搶過去的,這就導致這顆CPU核心成為了“植物人”,怎么叫它都沒反應了。

2.中斷能搶到CPU,但發(fā)現(xiàn)沒有線程可以調(diào)度

程序員們對死鎖這個概念應該不陌生,兩個線程A等待B,B等待A,兩個線程互相等待對方讓步(釋放鎖),形成僵持局面,最后成為死鎖。

如果死鎖發(fā)生在應用層面,那問題不大,最多就是兩個程序死了。但如果發(fā)生在內(nèi)核呢?

比如在Windows操作系統(tǒng)內(nèi)核中,就有大量的全局性的鎖,一個不小心造成死鎖,其他想要的線程都得進入等待隊列,那就涼涼了。

引用一段另一位大神Tim Chen的描述(我覺得特別形象):

圖片

責任編輯:武曉燕 來源: 編程技術宇宙
相關推薦

2022-12-02 14:57:15

物聯(lián)網(wǎng)物聯(lián)網(wǎng)平臺

2023-10-07 14:51:46

物聯(lián)網(wǎng)物聯(lián)網(wǎng)平臺

2016-11-14 19:39:15

微軟辦公

2018-03-07 17:47:16

藍屏計算機死機

2012-06-11 10:02:35

2018-08-30 17:14:56

2009-09-14 08:57:30

2023-09-21 15:54:55

數(shù)據(jù)中心

2019-08-09 16:01:18

Hadoop數(shù)據(jù)庫

2013-02-18 08:15:35

powershell

2009-06-09 09:29:33

2011-04-27 14:50:36

HTML 5

2023-07-07 10:53:08

2014-03-07 10:46:49

編程語言趣味

2022-03-30 08:08:30

數(shù)字孿生制造業(yè)

2013-08-08 09:55:20

私有云DevOps方法虛擬機

2014-09-23 10:18:13

谷歌Google創(chuàng)始員工

2020-04-22 13:29:35

基帶射頻信號

2015-10-12 15:21:57

桌面云/銳捷網(wǎng)絡

2010-04-14 12:46:30

VaaSVMforce
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久免费精品国产小说色大师 | 久久精品小视频 | 特黄小视频| 欧美一级黄色网 | 成人av网页| 狠狠骚 | 天天色图 | 日韩aⅴ在线观看 | 久久久国产一区二区三区四区小说 | 天堂在线免费视频 | 日韩和的一区二区 | 国产精品久久久久久久久免费软件 | 亚洲av毛片成人精品 | 中文字幕第一页在线 | 日日夜夜影院 | 欧美做暖暖视频 | 亚洲品质自拍视频 | 日日夜夜免费精品视频 | 久久久久久久91 | 农村妇女毛片精品久久久 | 99re6在线视频精品免费 | 国产成人久久精品一区二区三区 | 成人欧美日韩一区二区三区 | 国产精品久久久久久久一区探花 | 九九九视频在线 | 天天弄天天操 | 亚洲午夜视频 | av在线一区二区三区 | 国产视频导航 | 色av一区二区| 欧美久久一区二区 | 亚洲国产成人av好男人在线观看 | 一区二区三区精品视频 | 精品在线视频播放 | 日韩福利 | 国产在线观 | 亚洲欧美日本在线 | 欧美亚洲国产日韩 | 久久精品亚洲一区 | 国产精品视频一二三区 | 又爽又黄axxx片免费观看 |