处理程序的说明及控制

上传人:wm****3 文档编号:52090825 上传时间:2018-08-18 格式:PPT 页数:34 大小:830KB
返回 下载 相关 举报
处理程序的说明及控制_第1页
第1页 / 共34页
处理程序的说明及控制_第2页
第2页 / 共34页
处理程序的说明及控制_第3页
第3页 / 共34页
处理程序的说明及控制_第4页
第4页 / 共34页
处理程序的说明及控制_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《处理程序的说明及控制》由会员分享,可在线阅读,更多相关《处理程序的说明及控制(34页珍藏版)》请在金锄头文库上搜索。

1、第三章 處理程序的說明及控制 Process Description and Controlz 所有多重程式(multi-programmed)作業系統都建立在 process的概念 z 大部分作業系統需滿足的需求 y交錯多個process的執行,在理想反應時間下達到最大的處理器使 用率。 y遵從特定的政策(例如,高優先權)來配置資源給process,且避免 死結的發生。 y支援process間的相互通訊(inter-process communication)、使用者 process的建立。 z 從了解process的表示與控制,開始學習作業系統!13.1 處理程序的狀態z 從處理器的觀點看

2、process交錯執行 y處理器藉由改變程式計數器(Program Counter, PC)的數值,依序執 行指令。 y追蹤process的軌跡(trace):列出每個process執行指令的順序。2處理程序A, B, C的軌跡5000800012000 5001 800112001 5002800212002 5003800312003 500412004 5005 12005 5006 12006 500712007 500812008 500912009 501012010 501112011(a)(b)(c)Figure 3.1 Snapshot of Example Executio

3、n (Figure 3.3) at Instruction Cycle 13 3 3所有處理程序結合的軌跡5000 5001 5002 5003 5004 5005 -時間到 100 101 102 103 104 105 8000 80018002 8003 -I/O請求 100 101 102 103 104 105 12000 12001 12002 12003 12004 12005-時間到 100 101 102 103 104 105 5006 5007 5008 5009 5010 5011 -時間到 100 101102 103 104 105 12006 12007 1200

4、8 12009 12010 12011 -時間到Figure 3.3 Combined Trace of Processes of Figure 3.14雙狀態(two-state)處理程序模型z Process的兩種狀態 : y執行(Running) y未執行(Not Running) 。 z 中斷的process被移至 等待佇列中。 z 分派程式由佇列中選 擇一個process執行。5建立處理程序的原因z 新的批次工作:讀入下一個工作控制命令(Job Control Command) 。 z 互動式登入:使用者在終端機登入到系統。 z 被作業系統建立來提供服務:產生新process以進行特

5、定功 能,避免使用者等待。 z 由現有的process產生:為了模組化或平行處理,使用者程 式可建立其他process。 yProcess產生另一Process時,彼此為親子關係 (Parent and Child)。6處理程序終止的原因z 正常完成 (Normal completion) y批次工作下達停止(Halt)指令或系統呼叫。 y使用者登出。 yProcess發出終止執行的請求。 z 執行時發生錯誤: y超過時間限制(Time limit exceeded)、記憶體不足(Memory unavailable)、違反記憶體邊界(Memory bounds violation) y保護錯

6、誤(Protection error):write to read-only file y算術錯誤(Arithmetic error):除以0,或超出最大值。 y時間超過(Time overrun) :process waited longer than a specified maximum for an event y管理者或作業系統介入(如發生deadlock) 、輸出入失敗(I/O failure) 、不合法指令(Invalid instruction)、特權指令(Privileged instruction) 、資料誤用、parent process要求、parent process

7、終止。7五狀態(five-state)處理程序模型z 雙狀態模型不完備之處 y未執行狀態的process有兩種情形:(1)可以執行;(2)等待I/O動作 的完成而被懸置(blocked) 。 y分派程式必須掃描整個佇列,找出未被懸置且等待最久的process 。 z 擴充雙狀態模型成為五種狀態 y執行中(Running) y未執行狀態再區分為: 備妥(Ready);懸置(Blocked) y另為方便管理process,新增二種狀態: y新建(New):剛被系統建立,尚未允許進入執行區。(尚未載入主 記憶體,僅建立表格) y離開(Exit):因停止或取消,被系統由執行區離開。(釋放佔用的 主記憶

8、體,但保留相關表格)8五狀態處理程序模型(續)910Figure 3.6 Process States for Trace of Figure 3.310z 圖3.7(a)有兩個佇 列:備妥佇列與懸 置佇列 z 圖3.7(b)對每一事 件分別有一佇列Figure 3.7 Queuing Model of Figure 3.51111置換的需要 The need for swappingz 在未使用虛擬記憶體的系統,每個process必須完全地載入 記憶體中才能執行。 z 由於處理器比I/O動作快太多,即使在多工環境下,處理 器大部分時間仍處於閒置狀態。 z 解決方法:容納更多的process

9、y擴充主記憶體:如此會增加成本。 y置換(swapping) :將process的部分或全部由主記憶體移至磁碟上 ,本身也是I/O動作。 z 使用置換,需增加新的狀態:暫停(suspend ) y當所有主記憶體中的process都處於懸置狀態時,系統可將某個 process暫停,並置換至磁碟,其所佔據的主記憶體空間就可釋放 出來給其他process使用。12z 置換之後,選擇載入process的方法 y容許新process的產生。問題:將增加系統的負擔。 y載入一處於暫停狀態的process。問題:所有暫停process都是 被懸置的process,即使載入也仍無法執行。單一暫停狀態13雙暫停

10、狀態z 有兩個獨立的概念: y是否等待事件(懸置)、是否被置換( 暫停) z 2 * 2組合:共四種狀態: y(1)備妥;(2)懸置;(3)懸置,暫停; (4)備妥,暫停。14暫停的其他使用z 暫停process的概念 yProcess無法立即被執行。 yProcess可能在等待某個事件。 yProcess可被其他process或作業系統置於暫停狀態。 yProcess不能離開這個狀態,直到讓它陷入暫停狀態的人解除為止 。 z process暫停的原因 y置換:作業系統必須釋出主記憶體空間,以容許載入其他process 。 y其他作業系統理由:作業系統可能會暫停背景、工具或產生問題 的proc

11、ess。 y互動使用者要求:使用者希望暫停某一process。 y時間:如週期性執行的process。 yparent process要求。153.2 處理程序描述 Process Descriptionz 作業系統控制結構 y作業系統要管理process與資源,必須擁有各process與資源目前狀 態的資訊。 y最簡單的方法:作業系統建立並維護所管理實體的資訊表格,包 括:記憶體、輸出入(I/O)、檔案、Process。Figure 3.9 Processes and Resources (resource allocation at one snapshot in time)1617Fig

12、ure 3.10 General Structure of Operating System Control Tables17Process的控制結構z Process的位置 y影像(image):即Process的構成,包含:程式、資料、堆疊與屬性 。 yProcess的image的位置: y(a) 連續的記憶體區塊; 或 y(b) 一系列不一定連續的區塊。區塊可為不同長度(區段, Segment) ,或使用固定長度(頁, page) ,或二者結合。 z Process的屬性 yProcess控制區塊(Process Control Block):所有屬性的集合。18Process控制區塊z

13、 Process識別資訊(identification information):該process的識 別碼、parent process的識別碼、使用者識別碼 z Process狀態資訊(state information): y使用者可見暫存器; y控制與狀態暫存器:Program Counter, Program Status Word, y堆疊指標。 z Process控制資訊(control information): y優先權、排班相關資訊、 y事件、結構資訊(process間的資料結構鏈結)、 yprocess間通訊(inter-process communication)、pr

14、ocess的權限、 y記憶體管理、資源所有權與使用率。19處理程序的屬性- Pentium EFLAGS暫存器z 控制位元: yID識別碼:是否支援CPUID指令,該指令提供製造商、型號資訊。 yRF:繼續旗標(Resume flag)。 yIOPL:輸出入特權層級(I/O privilege level) yIF:中斷致能旗標(Interrupt enable flag)。 yTF:陷阱旗標(Trap flag) ,使所有指令的執行產生中斷,以用來偵錯。 z 運作模式位元 yVM:虛擬8086模式(Virtual 8086 mode)。 yVIF (Virtual interrupt fla

15、g):用於虛擬8086模式,取代中斷致能旗標(IF)。 z 狀況代碼 yCF:進位旗標(Carry flag)。2021Figure 3.12 User Processes in Virtual Memory2122Figure 3.13 Process List Structures223.3 處理程序控制z 大部分處理器支援至少兩種執行模式 y較低特權的模式:稱使用者模式(user mode)。 y較高特權的模式:稱系統模式(system mode )、控制模式(control mode)、或核心模式(kernel mode)。 y理由:作業系統本身及其表格有保護的必要。 z 執行模式的區

16、別及改變 y程式狀態字組(Program Status Word, PSW)有一位元表示執行模式 。 yVAX的改變模式指令(CHM):使用者呼叫系統服務,或發生中斷 控制轉移至系統常式時,常式就執行CHM指令返回控制權給使 用者process前,再執行一次CHM進入較低特權模式。 z Process的建立 y配置一process識別碼,在process表格中加入一新項目。 y分配空間,包含process影像(image)的所有元素。 yProcess控制區塊(Process Control Block)的初始化。 y設定Process的鏈結、各種Process佇列、其他資料結構。23處理程序切換 (process switch)z 何時process切換?作業系統取得控制權的事件: y中斷(Interrupt):由外部發出,例如:I/O動作完成。時鐘中斷 (Timer Interrupt),輸出入中斷(I/O Interrupt),記憶體錯誤。 y陷阱(Trap) :

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号