[操做系統] 中斷、異常、系統調用 是什麼

 

操做系統內核 有3大概念:中斷(硬中斷)、異常(軟中斷)、系統調用(陷入),本文主要學習總結分享這3個概念。
 
 
中斷
異常
系統調用
源頭
外設引發,
具備隨機性和突發性
應用程序意想不到的行爲,
是可預料的
應用程序主動請求操做系統提供服務
響應方式
異步
同步
異步/同步
處理機制
持續的、對應用程序是透明的
殺死或從新執行意想不到的應用程序指令
等待或持續
 
中斷(硬中斷)
  • 含義:由硬件設備發起的處理請求,稱爲中斷,例:I/O中斷、時鐘中斷(如:時間片)、控制檯中斷等。中斷也會使CPU 由用戶態變爲內核態,使操做系統內核從新奪回對CPU的控制權(也是內核奪回CPU使用權的惟一途徑),固然操做系統內核也會在合適的時候主動把CPU的使用權讓給應用程序。
  • 處理:
    • 硬件處理:根據內部或外部事件設置中斷標誌,而後根據中斷向量調用相應的中斷服務例程。
    • 軟件處理:先進行現場保存,而後執行中斷服務處理,最後清除中斷標誌和恢復現場。(暫停應用程序運行,保存應用程序運行狀態,好比寄存器數據,待中斷處理完成 即中斷服務例程完成後 進行應用程序狀態恢復)
 
異常(軟中斷)
  • 含義:應用程序執行了非法指令或其餘緣由(如:CPU自身異常、內存錯誤),致使當前指令執行失敗的處理請求,稱爲異常。
  • 處理:操做系統內核選擇 直接殺死進程 或準備資源從新嘗試執行應用程序指令(從新嘗試執行失敗的指令,這過程對應用程序是透明的)。
 
系統調用(陷入)
  • 含義:應用程序「主動」向操做系統發出的服務請求,調用系統提供的一些簡單易用的服務。例:設備管理、文件管理、進程控制、進程通訊、內存管理等
  • 處理:等待或持續。系統的共享資源由內核統一管理,因此對共享資源的調用必須由操做系統內核來對各個請求進行協調處理,保證系統的穩定性和安全性。
相關文章
相關標籤/搜索