為了提高計算機資源的利用率、效率,人們發明了作業系統來作為計算機的管理者,進而引入中斷機制來輔助作業系統,實現了多道程式併發執行
發生中斷就意味著需要作業系統的介入,來展開管理工作。因為很多操作是需要使用特權指令來完成的,而使用者程式是沒有資格使用特權指令的,只能借助作業系統的核心來實現。所以產生中斷的目的就是為了讓作業系統來完成使用者程式所完成不了的操作,此時使用者程式會交出所占用的計算機資源,將其交給作業系統來使用。作業系統使用完之後,會將計算機資源交還給使用者程式。這就是中斷的意義。作業系統就像是乙個管理員,服務員,而中斷訊號相當於乙個傳喚資訊,使用者程式通過中斷機制發出中斷訊號,對作業系統進行傳喚,讓作業系統的核心(功能)幫助其完成使用者程式完成不了的操作(執行特權指令),而在cpu執行作業系統核心功能時,處理器cpu狀態會從使用者態轉換成核心態
多個程式併發執行時,由於處理器對每個程式劃分時間片,當計時器計時到了的時候,則應當執行下乙個程式。而這個操作需要控制cpu,所需要的是特權指令,而使用者程式並沒有使用特權指令的資格,所以它需要產生中斷訊號,呼喚作業系統的核心來代替使用者程式執行相應的特權指令。作業系統收到中斷訊號後會將相應的資源的使用權占有,這裡資源是cpu,即作業系統將占有cpu的使用權,此時處理器的狀態會由使用者態轉化為核心態,因為要處理的程式中存在特權指令。作業系統讓cpu執行相應的特權指令後,會使得cpu接下來要執行的程式是原本應該下乙個執行的程式。所以當完成特權指令的操作後,cpu的處理器狀態會回歸使用者態,並且計算機資源使用權將重新回到使用者程式中
發生了中斷,就意味著需要作業系統的介入,開展管理工作。由於作業系統的管理工作(比如程序切換、分配io裝置等)需要使用特權指令,因此cpu要從使用者態轉化為核心態。中斷可以使用cpu從使用者態切換為核心態,使作業系統獲得計算機控制權。有了中斷,才能實現多道程式併發執行
使用者態轉換到核心態是通過中斷實現的。並且中斷是唯一的途徑。
而從核心態轉換到使用者態是通過執行乙個特權指令,將程式狀態字psw的標誌位設定為使用者態
之所以使用者態島核心態無法設定psw是因為設定psw是需要執行特權指令的,可知使用者態並沒辦法執行特權指令,所以只能通過中斷來實現
上文中的中斷是廣義的中斷。
中斷可以分為內中斷和外中斷。
也稱為異常、例外、陷入。中斷訊號的**是cpu內部,與當前執行的指令有關
自願中斷:指令中斷,例如系統呼叫時使用的訪管指令,又叫陷入指令、trap指令
強迫指令:
即為狹義的中斷。中斷訊號的**是cpu的外部,與當前執行的指令無關
計算機作業系統
為什麼要有作業系統 計算機系統是乙個複雜的系統,如果每位程式設計師在程式設計時都必須掌握計算機系統的所有細節,就會嚴重影響程式設計師的開發效率 作業系統可以對計算機硬體加以管理和優化使用,為使用者程式提供更好的執行環境。作業系統以及其位置 作業系統組成 作業系統功能 應用程式直接與作業系統及其抽象打...
計算機作業系統
實驗一 熟悉linux作業系統 程序觀測 實驗目的 1 了解在linux作業系統中程序的特點和表現形式 2 掌握linux檢視程序的方式與方法 3 在乙個程序中建立另乙個程序的方法 4 掌握父程序和子程序的關係和fork的用法 實驗內容 1 編寫乙個簡單的程式,使用ps或top工具觀察該程序的的id...
計算機作業系統
1 單選題 作業系統的主要功能是管理計算機系統中的 選項 a 程式和資料 b 資源 c 作業 d 程序 答案 資源 2 單選題 關於多道批處理作業系統,以下說法錯誤的是 選項 a 可提高系統資源的利用率 b 可提高計算機系統的工作效率 c 可提高系統吞吐量 d 在作業執行時使用者可以直接干預作業的執...