作業系統 trap,interrupt,和異常

2021-07-23 11:29:38 字數 663 閱讀 4737

中斷是由外部事件導致並且它發生的時間是不可**的,這一點和陷阱不同。外部事件主要是指時鐘中斷,硬體中斷等。由於cpu一次只能執行一條指令,所以在乙個時刻只能有乙個程式執行,但我們感覺在我們的計算機中明明可以同時執行很多程式啊,這是由於cpu在多個程序之間快速切換所導致的偽並行。如果某乙個程式執行了足夠長用完了分配給它的時間片,cpu決定切換到另乙個程序執行,就會產生乙個時鐘中斷,切換到下乙個程序執行。

硬體中斷顧名思義就是由硬體引起的中斷,比如乙個程式需要使用者輸入乙個資料,但使用者一直沒有輸入,作業系統決定是一直等待使用者輸入還是轉而執行別的程序,一般情況是轉而執行別的程序,如果使用者的輸入到來了,那麼鍵盤驅動器會產生乙個中斷通知作業系統,作業系統儲存正在執行的程式的狀態,從而切換到原來的程序處理到來的資料。

所以中斷發生是隨機的且主要作用是完成程序間切換,從而支援cpu和裝置之間的並行。

中斷和異常的另乙個重要差別是,cpu處理中斷的過程中會遮蔽中斷,不接受新的中斷直到此次中斷處理結束。而陷阱的發生並不遮蔽中斷,可以接受新的中斷。

異常就是程式執行過程中的異常行為。比如除零異常,緩衝區溢位異常等。不同的作業系統定義了不同種類和數量的異常並且每個異常都有乙個唯一的異常號,異常會擾亂程式的正常執行流程,所以異常是在cpu執行指令時本身出現的問題,比如除數為零而出現的除零異常。異常的產生表示程式設計不合理,所以在程式設計的時候要盡量避免異常的產生。

作業系統 作業系統介面

介面表現為函式呼叫,由作業系統提供,連線作業系統和應用軟體。出於安全性考慮,應用程式不能直接在記憶體中任意訪問 將核心程式和使用者程式隔離 通過比較訪問資料段cpl和rpl的特權級和當前段dpl的特權級之間的關係 應用程式呼叫庫函式printf printf呼叫庫中的write函式 write將函式...

作業系統(作業系統引論)

方便性 方便使用者進行操作計算機 有效性提高系統資源的利用率 提高系統的吞吐量,加速程式的執行 可擴充性 方便地增添新的模組和功能,以及對原有的功能模組進行修改 開放性能夠遵循世界標準規範 os作為使用者和計算機硬體系統之間的介面 使用者能夠通過作業系統來使用計算機系統 os作為計算機資源的管理者 ...

作業系統 作業系統 一 作業系統概述

好好學習,天天向上本文已收錄至我的github倉庫daydayup 歡迎star 之前一直沒有系統地學過作業系統,感覺自己在平時的學習過程中對於某些概念理解得一塌糊塗,比如中斷 記憶體 程序和執行緒等。所以打算系統的學習一下作業系統。一開始我是在b站看哈工大的李治軍老師講的,但是一上來就開始從彙編 ...