中斷系統是計算機系統中響應和處理中斷的系統,包括硬體子系統和軟體子系統兩部分,中斷響應由硬體子系統完成,中斷處理由軟體子系統完成
在指令執行週期最後增加乙個微操作,以響應中斷
計算機系統中發現並響應中斷/異常的硬體裝置稱為中斷裝置,由於中斷源的多樣性,硬體實現的中斷裝置有多種,分別處理不同型別的中斷,這些中斷裝置因計算機而異,通常有:
中斷控制器是cpu中的乙個控制部件,包括中斷控制邏輯線路和中斷暫存器,外部裝置向其發出中斷請求irq,在中斷暫存器中設定已發生的中斷;指令處理結束前,會檢查中斷暫存器,若有不被遮蔽的中斷產生,則改變處理器內操作的順序,引出作業系統中的中斷處理程式
陷阱與系統陷阱是指令的邏輯和實現線路的一部分,執行指令出現異常後,會根據異常情況轉向作業系統的異常處理程式,出現虛擬位址異常後,需要重新執行指令,往往越過陷阱獨立設定頁面異常處理程式,執行陷入指令後,越過陷阱處理,觸發系統陷阱,啟用系統呼叫處理程式
中斷當前程式的執行
轉向作業系統的中斷處理程式
中斷處理程式是作業系統處理中斷事件的控制程式,主要任務是處理中斷事件和恢復正常操作
中斷處理過程:
情況一:對於某些中斷,在處理完畢後,直接返回剛剛被中斷的程序
當計算機檢測到中斷時,中斷裝置通過中斷遮蔽位決定是否響應已發生的中斷,可以有選擇的響應中斷
當計算機同時檢測到多個中斷時,中斷裝置響應中斷的順序,有優先度的響應中斷,一種可能的處理次序:處理機硬體故障中斷事件、自願性中斷事件、程式性中斷事件、時鐘中斷等外部中斷事件、輸入輸出中斷事件、重啟動和關機中斷事件,不同型別的作業系統有不同的中斷優先順序
當計算機響應中斷後,在中斷處理過程中,可以再響應其他中斷,作業系統是效能攸關程式系統,且中斷響應處理有硬體要求,考慮系統效率和實現代價問題,中斷的巢狀處理應限制在一定層數內,如3層,中斷的巢狀處理改變中斷處理次序,先響應的有可能後處理
決定中斷處理次序的因素:
作業系統必須全方位地管理計算機系統中執行的程式,因此作業系統為正在執行程式建立乙個管理實體——程序,程序是乙個具有一定獨立功能的程式關於某個資料集合的一次執行活動,程序是作業系統進行資源分配和排程的乙個獨立單位,程序是作業系統進行資源分配和排程的乙個獨立單位
乙個程序包括五個實體部分,分別是:
不同程式在不同資料集上執行:構成兩個無關程序;不同程式在相同資料集上執行:構成兩個共享資料的交往程序
前述的程式與資料集均是記憶體級的,那麼,在不同時段中針對(同乙個外存資料檔案)執行(同乙個外存程式檔案),意味著完全不同的(p,c,d,r,psw),所以兩次執行構成兩個不同的程序
os無法預期程序的數目與資源需求,計算機系統在執行過程中可能出現資源不足的情況,執行資源不足表現為效能低和死鎖兩種情況,解決辦法:剝奪某些程序的記憶體及其他資源,調入os管理的對換區,不參加程序排程,待適當時候再調入記憶體、恢復資源、參與執行,這就是程序掛起
掛起態與等待態有著本質區別,後者占有已申請到的資源處於等待,前者沒有任何資源
一般選擇等待態程序進入掛起等待態,也可選擇就緒態程序進入掛起就緒態,執行態程序還可以掛起自己,等待事件結束後,掛起等待態進入掛起就緒態,一般選擇掛起就緒態程序予以恢復
程序控制塊pcb是os用於記錄和刻畫程序狀態及環境資訊的資料結構,借助pcb,os可以全面管理程序的物理實體,刻畫程序的執行現狀,控制程序的執行
用於存放唯一標識該程序的資訊:
用於存放該程序執行時的處理器現場資訊:
控制與狀態暫存器內容:pc、ir、psw
棧指標內容:核心棧與使用者棧指標
佇列指引元:程序佇列指標、父子兄弟程序指標
程序特權資訊:如記憶體訪問許可權、處理器特權
資源清單資訊:如正占有的資源、已使用的資源
某一時刻程序的內容及其執行狀態集合::
程序映像是記憶體級的物理實體,又稱為程序的記憶體映像
程序的執行需要環境支援,包括cpu現場和cache中的執行資訊,os中的程序物理實體和支援程序執行的環境合成程序上下文,包括以下:
程序上下文刻畫了程序的執**況
關鍵的程序管理軟體包括::
佇列管理模組是作業系統實現程序管理的核心模組,作業系統建立多個程序佇列,包括就緒佇列和等待佇列,按需組織為先進先出佇列與優先佇列,佇列中的程序可以通過pcb中的佇列指引元採用單/雙指引元或索引連線,出隊和入隊操作,程序與資源排程圍繞程序佇列展開
程序控制過程中涉及對os核心資料結構(程序表/pcb池/佇列/資源表)的修改,為防止與時間有關的錯誤,應使用原語,原語是由若干條指令構成的完成某種特定功能的程式,執行上具有不可分割性,原語是由若干條指令構成的完成某種特定功能的程式,執行上具有不可分割性,原語的執行可以通過關中斷實現,程序控制使用的原語稱為程序控制原語,另一類常用原語是程序通訊原語
程序切換指從正在執行的程序中收回處理器,讓待執行程序來占有處理器執行,程序切換實質上就是被中斷執行程序與待執行程序的上下文切換,處理過程是:
程序切換必須在作業系統核心模式下完成,這就需要模式切換,模式切換又稱處理器狀態切換,包括:
中斷裝置完成正向模式切換,包括:
中斷返回指令完成逆向模式轉換,包括:
1.(中斷/異常等觸發)正向模式切換並壓入psw/pc
2.儲存被中斷程序的現場資訊
3.處理具體中斷/異常
4.把被中斷程序的系統堆疊指標sp值儲存到pcb
5.調整被中斷程序的pcb資訊,如程序狀態
6.把被中斷程序的pcb加入相關佇列
----------------------------------
7.選擇下乙個占用cpu執行的程序
----------------------------------
8.修改被選中程序的pcb資訊,如程序狀態
9.設定被選中程序的位址空間,恢復儲存管理資訊
10.恢復被選中程序的sp值到處理器暫存器sp
11.恢復被選中程序的現場資訊進入處理器
12.(中斷返回指令觸發)逆向模式轉換並彈出psw/pc
程序切換一定發生在中斷/異常/系統呼叫處理過程中,常見的情況是:
一些中斷/異常不會引起程序狀態轉換,不會引起程序切換,只是在處理完成後把控制權交回給被中斷程序,處理流程是:
處理器管理
1.什麼是執行緒,並比較它與程序的異同?解答 傳統的程序有兩個基本屬性 1 可擁有資源的獨立單位 2 能夠進行處理器排程和分配的基本單位。引入執行緒後,將其兩個屬性分開。執行緒作為處理器排程和執行的基本單位。程序作為分配資源的基本單位,可以通過建立執行緒來完成任務,以減少程式併發執行時付出的時空開銷...
OS 處理器管理
今天的主題是處理器管理,具體的總結如下 現代計算機系統具有處理器與外圍裝置並行工作的能力。為了發揮這一能力,提高系統效率,多道程式應運而生,多道程式技術讓幾個程式同時裝入主儲存器並行執行。採用多道程式設計,能增加單位時間內的算題量,但對每道程式來說可能延長了執行時間。程序是個新概念,程序是乙個程式在...
大話處理器 第2章 初識處理器
目錄處理器的分層模型 硬體指標 軟體指標 作為硬體和軟體之間的橋梁,將軟體程式設計所需要了解的硬體資訊從硬體系統中抽象出來,這樣軟體人員就可以面向isa進行程式設計,開發出的軟體不經過修改就可以應用在其他isa架構的系統上。isa包括一套指令集和一些暫存器。處理器被分為三個層次 指令集體系結構 is...