多個不同的進程可以包括相同的程序
三種基本狀態(tài) 它們之間可進行轉(zhuǎn)換
并發(fā)性 并發(fā)執(zhí)行的進程輪流占用處理器
四、進程控制塊( 領(lǐng)會 )
1、 進程控制塊 的基本內(nèi)容。 通常進程控制塊包含四類信息:
標志信息 含唯一的進程名
說明信息 有進程狀態(tài)、等待原因、進程程序存放位置和進程數(shù)據(jù)存放位置
現(xiàn)場信息 包括通用、控制和程序狀態(tài)字寄存器的內(nèi)容
管理信息 存放程序優(yōu)先數(shù)和隊列指針
2、 進程控制塊 的作用
進程控制塊(Process Control Block,簡稱PCB),是操作系統(tǒng)為進程分配的用于標志進程,記錄各進程執(zhí)行情況的。進程控制塊是進程存在的標志,它記錄了進程從創(chuàng)建到消亡動態(tài)變化的狀況,進程隊列實際也是進程控制塊的鏈接。操作系統(tǒng)利用進程控制塊對進程進行控制和管理。
進程控制塊的作用有:
(1)記錄進程的有關(guān)信息,以便操作系統(tǒng)的進程調(diào)度程序?qū)M程進行調(diào)度。這些信息包括標志信息、說明信息、現(xiàn)場信息和管理信息等;
(2)標志進程的存在,進程控制塊是進程存在的唯一標志
五、進程隊列( 領(lǐng)會 )
1、 進程隊列 的鏈接。
在多道程序設(shè)計的系統(tǒng)中往往會同時創(chuàng)建多個 進程 .在單處理器的情況下,每次只能讓一個進程運行,其他的進程處于就緒狀態(tài)或等待狀態(tài)。為了便于管理,經(jīng)常把處于相同狀態(tài)的進程鏈接在一起,稱“進程隊列”,由于 進程控制塊 能標志進程的存在和動態(tài)刻畫進程的特性,因此, 進程隊列 可以用 進程控制塊 的連接來形成。鏈接的方式有兩種:單向鏈接和雙向鏈接。
2、 進程基本隊列
就緒隊列 :由若干就緒進程按一定次序鏈接起來的隊列。
等待隊列 :把等待資源或等待某些事件的進程排列的隊列
3、進程的入隊和出隊。
出隊和入隊 :當(dāng)發(fā)生的某個事件使一個進程的狀態(tài)發(fā)生變化時,這個進程就要退出所在的某個隊列而排入到另一個隊列中去。
出隊 :一個進程從所在的隊列退出的操作稱為出隊
入隊 :一個進程排入到一個指定的隊列的操作稱為入隊。
系統(tǒng)中負責(zé)進程入隊和出隊的工作稱為隊列管理。
無論單向鏈接還是雙向鏈接,解決入,出隊問題,都是首先找到該隊列的隊首指針,沿鏈找出要入隊的進程以及它要插入的位置,或找出要出隊的進程,然后修改本進程指針(入隊情況)和相鄰進程的有關(guān)指針值即可。
六、可再入程序( 識記 )
(1) 什么是 可再入程序 . 一個能被 多個用戶同時調(diào)用 的程序稱做“ 可再入 ”的程序。
(2) 可再入程序的性質(zhì)。
可再入程序必須是純代碼,在執(zhí)行時自身不改變;
一個可再入程序要求調(diào)用者提供工作區(qū),以保證程序以同樣方式為各用戶服務(wù)。
編譯程序 和 操作系統(tǒng)程序 通常都是“可再入”程序,能同時被不同用戶調(diào)用而構(gòu)成不同的進程。
七、中斷及中斷響應(yīng)( 領(lǐng)會 )
1、 中斷 的定義。
一個進程占有處理器運行時,由于自身或者外界的原因(出現(xiàn)了事件)使運行被打斷,讓操作系統(tǒng)處理所出現(xiàn)的事件,到適當(dāng)?shù)臅r候再讓被打斷的進程繼續(xù)運行,這個過程稱為“中斷”。
2、 中斷 的類型。
從中斷事件的性質(zhì)出發(fā),中斷可以分為兩大類:
強迫性中斷事件 包括硬件故障中斷,程序性中斷,外部中斷和輸入輸出中斷等
自愿性中斷事件 是由正在運行的進程執(zhí)行一條訪管指令用以請求系統(tǒng)調(diào)用而引起的中斷,這種中斷也稱為“訪管中斷”。
自愿中斷 的斷點是確定的,而 強迫性中斷 的斷點可能發(fā)生在任何位置。
3、中斷的響應(yīng)和處理。
中斷響應(yīng) (硬件即中斷裝置操作)
處理器每執(zhí)行一條指令后,硬件的中斷位置立即檢查有無中斷事件發(fā)生,若有中斷事件發(fā)生,則暫停現(xiàn)行進程的執(zhí)行,而讓操作系統(tǒng)的中斷處理程序占用處理器,這一過程稱為“中斷響應(yīng)”。
中斷響應(yīng)過程中,中斷裝置要做以下三項工作:
是否有中斷事件發(fā)生
判別自愿性中斷,只要檢查操作碼是否為訪管指令。
判別強迫性中斷,則要檢查中斷寄存器內(nèi)容。若為0,則無中斷;若非0,則表示有中斷事件發(fā)生。
若有中斷發(fā)生,保護斷點信息
每個程序都有一個程序狀態(tài)字(PSW)來反映本狀態(tài)的執(zhí)行狀態(tài),如基本狀態(tài)、中斷碼和中斷屏蔽位等內(nèi)容。處理器設(shè)有一個“程序狀態(tài)字寄存器”用來存放當(dāng)前運行程序的PSW.程序狀態(tài)字可分為當(dāng)前PSW、舊PSW和新PSW.
當(dāng)出現(xiàn)中斷事件后,把被中斷進程的PSW保存為舊PSW,即完成斷點信息保護。
啟動操作系統(tǒng)的中斷處理程序工作
中斷裝置通過“交換PSW”過程完成此項任務(wù),即把出現(xiàn)的中斷事件存放到當(dāng)前PSW中斷碼位置,然后把該當(dāng)前PSW保存為舊PSW,再把操作系統(tǒng)中斷處理程序的新PSW送到程序狀態(tài)字寄存器中,成為當(dāng)前的PSW.
中斷處理 ( 軟件即操作系統(tǒng)操作 )
操作系統(tǒng)的中斷處理程序?qū)χ袛嗍录M行處理時,大致要做三方面的工作:
保護被中斷進程的現(xiàn)場信息
把中斷時的通用寄存器,控制寄存器內(nèi)容及舊PSW保存到被中斷進程的進程控制塊中。