輪詢和中斷的區別,中斷上下文

2021-10-17 23:13:44 字數 685 閱讀 6179

中斷:咱們先說中斷吧,中斷大家都不陌生,什麼是中斷呢?中斷就是由硬體或者軟體發出的一種irq(中斷請求)訊號,一旦cpu接收到中斷訊號,cpu就會暫停當前執行的工作,並且保留現場,去響應中斷,然後回來繼續工作。但是注意,這個中斷可以說是被動的,因為你不知道它什麼時候會發生中斷,打個比方,就比如你在打lol,正在精彩團戰的時候,你女朋友打**來叫你給她打一點錢,這個時候你不得不暫停遊戲,去給女朋友打錢,打完錢回來繼續打遊戲,其中女朋友**就好比中斷,而你暫停就好比保留現場,打完錢回來繼續遊戲就好比cpu處理完事情之後回來繼續工作。但是要記住:你女朋友的**是不可**的,你只能被動的接收。

輪詢:什麼是輪詢,其實輪詢和中斷有一定的相反性,輪詢是主動的,可控的並且也是實時的,比如,你的女朋友正在逛街,但是她錢沒有帶夠,她給你打**通知你說:「一會結賬給你發訊息,你給我轉錢就可以。」但是你不知道你女朋友什麼時候去結賬,所以你只好隔一段時間去看手機,隔一段時間去看手機……此時,你就好比時cpu,所以對於隨機的不可控的訊號,我們都選擇中斷,否則你這樣子輪詢太浪費時間了。

中斷上下文:有的小夥伴可能看到中斷上下文比較難理解,其實這個也比較簡單。這麼說吧,中斷上文負責響應,中斷下文負責辦事。就拿上面的例子來說,中斷上文就好比你接**,保留現場,答應女朋友給她打錢,但是你覺得lol更重要,此時你掛了**就繼續打遊戲了。打完遊戲之後你再去給她轉錢,這個轉錢就是辦事,就是中斷下文。大概就是這個意思吧,更有情趣的朋友自行深入即可。

linux中斷 程序上下文和中斷上下文

中斷發生以後,cpu跳到核心設定好的中斷處理 中去,由這部分核心 來處理中斷。這個處理過程中的上下文就是中斷上下文。為什麼可能導致睡眠的函式都不能在中斷上下文中使用呢?首先睡眠的含義是將程序置於 睡眠 狀態,在這個狀態的程序不能被排程執行。然後,在一定的時機,這個程序可能會被重新置為 執行 狀態,從...

程序上下文和中斷上下文的區別

核心空間和使用者空間是現代作業系統的兩種工作模式,核心模組執行在核心空間,而使用者態應用程式執行在使用者空間。它們代表不同的級別,而對系統資源具有不同的訪問許可權。核心模組執行在最高端別 核心態 這個級下所有的操作都受系統信任,而應用程式執行在較低級別 使用者態 在這個級別,處理器控制著對硬體的直接...

中斷上下文和程序上下文的區別

程序上下文和中斷上下文是作業系統中很重要的兩個概念,這兩個概念在作業系統課程中不斷被提及,是最經常接觸 看上去很懂但又說不清楚到底怎麼回事。造成這種局面的原因,可能是原來接觸到的作業系統課程的教學總停留在一種淺層次的理論層面上,沒有深入去研究。處理器總處於以下狀態中的一種 核心態,執行於程序上下文,...