[操作系統] 中斷、異常、系統調用 是什么


 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM