六、可再入程序( 識(shí)記 )
(1) 什么是 可再入程序 . 一個(gè)能被 多個(gè)用戶同時(shí)調(diào)用 的程序稱做“ 可再入 ”的程序。
(2) 可再入程序的性質(zhì)。
可再入程序必須是純代碼,在執(zhí)行時(shí)自身不改變;
一個(gè)可再入程序要求調(diào)用者提供工作區(qū),以保證程序以同樣方式為各用戶服務(wù)。
編譯程序 和 操作系統(tǒng)程序 通常都是“可再入”程序,能同時(shí)被不同用戶調(diào)用而構(gòu)成不同的進(jìn)程。
七、中斷及中斷響應(yīng)( 領(lǐng)會(huì) )
1、 中斷 的定義。
一個(gè)進(jìn)程占有處理器運(yùn)行時(shí),由于自身或者外界的原因(出現(xiàn)了事件)使運(yùn)行被打斷,讓操作系統(tǒng)處理所出現(xiàn)的事件,到適當(dāng)?shù)臅r(shí)候再讓被打斷的進(jìn)程繼續(xù)運(yùn)行,這個(gè)過程稱為“中斷”。
2、 中斷 的類型。
從中斷事件的性質(zhì)出發(fā),中斷可以分為兩大類:
。 強(qiáng)迫性中斷事件 包括硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷等
。 自愿性中斷事件 是由正在運(yùn)行的進(jìn)程執(zhí)行一條訪管指令用以請(qǐng)求系統(tǒng)調(diào)用而引起的中斷,這種中斷也稱為“訪管中斷”。
自愿中斷 的斷點(diǎn)是確定的,而 強(qiáng)迫性中斷 的斷點(diǎn)可能發(fā)生在任何位置。
3、中斷的響應(yīng)和處理。
中斷響應(yīng) (硬件即中斷裝置操作)
處理器每執(zhí)行一條指令后,硬件的中斷位置立即檢查有無中斷事件發(fā)生,若有中斷事件發(fā)生,則暫停現(xiàn)行進(jìn)程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器,這一過程稱為“中斷響應(yīng)”。
中斷響應(yīng)過程中,中斷裝置要做以下三項(xiàng)工作:
是否有中斷事件發(fā)生
判別自愿性中斷,只要檢查操作碼是否為訪管指令。
判別強(qiáng)迫性中斷,則要檢查中斷寄存器內(nèi)容。若為0,則無中斷;若非0,則表示有中斷事件發(fā)生。
若有中斷發(fā)生,保護(hù)斷點(diǎn)信息
每個(gè)程序都有一個(gè)程序狀態(tài)字(PSW)來反映本狀態(tài)的執(zhí)行狀態(tài),如基本狀態(tài)、中斷碼和中斷屏蔽位等內(nèi)容。處理器設(shè)有一個(gè)“程序狀態(tài)字寄存器”用來存放當(dāng)前運(yùn)行程序的PSW.程序狀態(tài)字可分為當(dāng)前PSW、舊PSW和新PSW.
當(dāng)出現(xiàn)中斷事件后,把被中斷進(jìn)程的PSW保存為舊PSW,即完成斷點(diǎn)信息保護(hù)。
啟動(dòng)操作系統(tǒng)的中斷處理程序工作
中斷裝置通過“交換PSW”過程完成此項(xiàng)任務(wù),即把出現(xiàn)的中斷事件存放到當(dāng)前PSW中斷碼位置,然后把該當(dāng)前PSW保存為舊PSW,再把操作系統(tǒng)中斷處理程序的新PSW送到程序狀態(tài)字寄存器中,成為當(dāng)前的PSW.
中斷處理 ( 軟件即操作系統(tǒng)操作 )
操作系統(tǒng)的中斷處理程序?qū)χ袛嗍录M(jìn)行處理時(shí),大致要做三方面的工作:
保護(hù)被中斷進(jìn)程的現(xiàn)場(chǎng)信息
把中斷時(shí)的通用寄存器,控制寄存器內(nèi)容及舊PSW保存到被中斷進(jìn)程的進(jìn)程控制塊中。
分析中斷原因
根據(jù)舊PSW的中斷碼可知發(fā)生該中斷的具體原因。
處理發(fā)生的中斷事件
一般只做一些簡(jiǎn)單處理,在多數(shù)情況下把具體的處理交給其他程序模塊去做。
相關(guān)推薦:2010年自考數(shù)據(jù)庫及其應(yīng)用重點(diǎn)知識(shí)講解匯總