国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

電腦死機的時候,CPU到底在做什么?

這篇具有很好參考價值的文章主要介紹了電腦死機的時候,CPU到底在做什么?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

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

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

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

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

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

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

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

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

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

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

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

中斷

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

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

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

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

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

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

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

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

其實有兩種情況:

1、中斷確實拿它沒辦法

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

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

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

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

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

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

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

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

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

電腦死機的時候,CPU到底在做什么?,程序人生,百度小程序,游戲程序,電腦,社交電子

引用一段另一位大神Tim Chen的描述(我覺得特別形象):文章來源地址http://www.zghlxwxcb.cn/news/detail-712575.html

電腦死機的時候,CPU到底在做什么?,程序人生,百度小程序,游戲程序,電腦,社交電子

到了這里,關(guān)于電腦死機的時候,CPU到底在做什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【程序人生】還記得當(dāng)初自己為什么選擇計算機?

    【程序人生】還記得當(dāng)初自己為什么選擇計算機?

    ? ? ? ? 還記得人生中第一次接觸計算機編程是在高中,第一門編程語言是Python(很可惜由于條件限制的原因,當(dāng)時沒能堅持學(xué)下去......現(xiàn)在想來有點后悔,沒能堅持,唉......)。但是,錯過的就錯過了,把握當(dāng)前才是正確的選擇。努力最好的時機永遠(yuǎn)是在過去,其次就在當(dāng)

    2024年02月04日
    瀏覽(40)
  • 當(dāng)我們談?wù)揝pring的時候到底在談什么

    你好,這里是codetrend專欄“Spring6全攻略”。歡迎點擊關(guān)注查看往期文章。 Spring 對于不做程序開發(fā)的人來說字面意思就是春天,四季的開始。 對于程序員來說這個單詞完全擁有另外一個含義, Spring 指的是一個開源項目,而這個項目非常厲害。 Spring 這個術(shù)語在不同的語境中

    2024年03月22日
    瀏覽(20)
  • CPU與GPU到底有什么區(qū)別?

    CPU與GPU到底有什么區(qū)別?

    大家好,我是小風(fēng)哥,今天簡單聊聊CPU與GPU。 CPU的故事我們聊得比較多了,之前也發(fā)布過很多關(guān)于CPU的文章,因此這里重點聊聊GPU。 教授 vs 小學(xué)生 你可以簡單的將CPU理解為學(xué)識淵博的教授,什么都精通,而GPU則是一堆小學(xué)生,只會簡單的算數(shù)運算,可即使教授再神通廣大,

    2024年02月09日
    瀏覽(17)
  • 到底什么是MCU、MPU、CPU,和芯片是什么關(guān)系?區(qū)別又是什么?

    到底什么是MCU、MPU、CPU,和芯片是什么關(guān)系?區(qū)別又是什么?

    目錄 0.前言 1. 芯片 2. CPU 3. MPU 4. MCU? 5. 總結(jié) ? ? ? ? 更新的是有點慢,從這周開始吧,應(yīng)該會快一點。推薦一首歌《你到底有沒有愛過我》——藍(lán)波,額,怎么說呢,大家,音樂是沒有對錯的。 ? ? ? ? 曾經(jīng)出過一次笑話,就是我在拿到一個產(chǎn)品的時候,我用Keil燒錄時不知

    2024年02月07日
    瀏覽(20)
  • CPU的設(shè)計原理?CPU有哪幾部分組成?CPU為何有32位和64位之分?CPU位數(shù)到底和數(shù)據(jù)總線有關(guān)還是和地址總線有關(guān)?什么是數(shù)據(jù)總線?什么是地址總線?

    CPU的設(shè)計原理?CPU有哪幾部分組成?CPU為何有32位和64位之分?CPU位數(shù)到底和數(shù)據(jù)總線有關(guān)還是和地址總線有關(guān)?什么是數(shù)據(jù)總線?什么是地址總線?

    寧可思一近,莫在思一停。 本文目的在于為想要轉(zhuǎn)硬件方向的程序員解釋 CPU 的設(shè)計原理及組成,數(shù)據(jù)總線地址總線與 CPU 位數(shù)的關(guān)系。 站在程序員的角度學(xué)習(xí)CPU設(shè)計原理 上圖總體其實為 SoC 片上系統(tǒng),但是一直叫被叫成 CPU 叫習(xí)慣了,準(zhǔn)確來說里面的才是 CPU 。 可以認(rèn)為一

    2024年02月16日
    瀏覽(27)
  • ChatGPT 在做什么,為什么有效?

    原文:What Is ChatGPT Doing … and Why Does It Work? 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 這本簡短的書試圖從第一原理解釋 ChatGPT 是如何工作的。在某種程度上,這是關(guān)于技術(shù)的故事。但它也是關(guān)于科學(xué)的故事。以及關(guān)于哲學(xué)的故事。為了講述這個故事,我們將不得不匯集許多世紀(jì)以來的

    2024年04月09日
    瀏覽(29)
  • 玩CS2的時候,開著微信語音,電腦為什么會突然重啟?

    坑 在玩CS2(Counter-Strike 2,假設(shè)這里指的是一款類似于CS:GO的射擊游戲)時,如果同時開著微信語音并且電腦突然重啟,可能有幾個原因: 資源過載 :電腦可能因為同時運行多個資源密集型應(yīng)用(如游戲和語音通話)而超負(fù)荷運行,導(dǎo)致過熱或電源供應(yīng)不足,從而觸發(fā)重啟。

    2024年04月23日
    瀏覽(64)
  • x79主板配什么cpu好 x79主板組裝電腦教程

    x79主板配什么cpu好 x79主板組裝電腦教程

    英特爾x79主板可以說是很早之前就出來的一款產(chǎn)品了,目前很多已經(jīng)停產(chǎn)。有些網(wǎng)友在組裝電腦的時候,用到了英特爾x79主板,不知道英特爾x79主板配什么cpu合適。下面小編就給大家介紹下英特爾x79主板支持什么cpu x79主板配什么cpu?x79是很多朋友們喜歡的主板型號,那么這款

    2024年02月08日
    瀏覽(26)
  • mac 電腦CPU溫度怎么看?怎么可以監(jiān)控Mac CPU溫度,為什么我的 MacBook Air 這么熱?

    mac 電腦CPU溫度怎么看?怎么可以監(jiān)控Mac CPU溫度,為什么我的 MacBook Air 這么熱?

    眾所周知,電腦溫度太高會直接影響到系統(tǒng)運行速度,對硬盤傷害也是很大的。特別是夏天,Mac 筆記本有時候運行起來會比較燙。關(guān)于 Mac 筆記本的散熱,見仁見智。但是我們也比較好奇 CPU、電池的溫度。怎么查看Mac CPU溫度呢?由于Mac電腦沒有BIOS這種基于硬件底層的軟件,

    2024年02月08日
    瀏覽(19)
  • 電腦突然死機怎么辦?

    電腦突然死機怎么辦?

    死機是電腦常見的故障問題,尤其是對于老式電腦來說,一言不合電腦畫面就靜止了,最后只能強制關(guān)機重啟。那么你一定想知道是什么原因造成的吧,一般散熱不良最容易讓電腦死機,還有系統(tǒng)故障,比如不小心誤刪了系統(tǒng)運作的必要文件。那么面對電腦突然死機我們用什

    2024年04月10日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包