版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章處理程序的說明及控制
Process
Description
and
Control1z
所有多重程式(multi-programmed)作業(yè)系統(tǒng)都建立在
process的概念z
大部分作業(yè)系統(tǒng)需滿足的需求y交錯多個process的執(zhí)行,在理想反應(yīng)時間下達(dá)到最大的處理器使用率。y
遵從特定的政策(例如,高優(yōu)先權(quán))來配置資源給process,且避免死結(jié)的發(fā)生。y
支援process間的相互通訊(inter-process
communication)、使用者
process的建立。z
從了解process的表示與控制,開始學(xué)習(xí)作業(yè)系統(tǒng)!3.1處理程序的狀態(tài)2z
從處理器的觀點(diǎn)看process交錯執(zhí)行y
處理器藉由改變程式計數(shù)器(Program
Counter,PC)的數(shù)值,依序執(zhí)行指令。y
追蹤process的軌跡(trace):列出每個process執(zhí)行指令的順序。處理程序A,B,C的軌跡(c)5000800012000500180011200150028002120025003800312003500412004500512005500612006500712007500812008500912009501012010Figure
3.1
Snapshot
of501112011ExampleExecution(a)(b)3(Figure
3.3)
atInstruction
Cycle
13所有處理程序結(jié)合的軌跡500050015002500350045005時間到10010110210310410580008001z
8002z8003zI/O請求z100z101z102z103z104z105z12000z12001z12002z12003z12004z12005z
時間到z100z101z102z103z104z105z5006z5007z5008z5009z5010z5011z時間到z100Figure
3.3
Combined
Tracez
o10f1
Processes
of
Figu4re
3z102z103z104z105z12006z12007z12008z12009z12010z12011z時間到雙狀態(tài)(two-state)處理程序模型z
Process的兩種狀態(tài)y
執(zhí)行(Running)y
未執(zhí)行(Not
Running)z中斷的process被移等待佇列中。z分派程式由佇列中選擇一個process執(zhí)行:。至。5建立處理程序的原因6z
新的批次工作:讀入下一個工作控制命令(Job
ControlCommand)。z
互動式登入:使用者在終端機(jī)登入到系統(tǒng)。z
被作業(yè)系統(tǒng)建立來提供服務(wù):產(chǎn)生新process以進(jìn)行特定功能,避免使用者等待。z
由現(xiàn)有的process產(chǎn)生:為了模組化或平行處理,使用者程式可建立其他process。y
Process產(chǎn)生另一Process時,彼此為親子關(guān)係(Parent
and
Child)。處理程序終止的原因7z
正常完成(Normal
completion)y
批次工作下達(dá)停止(Halt)指令或系統(tǒng)呼叫。y
使用者登出。y
Process發(fā)出終止執(zhí)行的請求。z
執(zhí)行時發(fā)生錯誤:y
超過時間限制(Time
limit
exceeded)、記憶體不足(Memoryunavailable)、違反記憶體邊界(Memory
bounds
violation)y
保護(hù)錯誤(Protection
error):write
to
read-only
filey
算術(shù)錯誤(Arithmetic
error):除以0,或超出最大值。y
時間超過(Time
overrun):process
waited
longer
than
a
specifiedmaximum
for
an
eventy
管理者或作業(yè)系統(tǒng)介入(如發(fā)生deadlock)、輸出入失敗(I/O
failure)不合法指令(Invalid
instruction)、特權(quán)指令(Privileged
instructi資料誤用、parent
process要求、parent
process終止。五狀態(tài)(five-state)處理程序模型8z
雙狀態(tài)模型不完備之處y
未執(zhí)行狀態(tài)的process有兩種情形:(1)可以執(zhí)行;(2)等待I/O動作的完成而被懸置(blocked)。y
分派程式必須掃描整個佇列,找出未被懸置且等待最久的process。z
擴(kuò)充雙狀態(tài)模型成為五種狀態(tài)y
執(zhí)行中(Running)y
未執(zhí)行狀態(tài)再區(qū)分為:備妥(Ready);懸置(Blocked)y
另為方便管理process,新增二種狀態(tài):y
新建(New):剛被系統(tǒng)建立,尚未允許進(jìn)入執(zhí)行區(qū)。(尚未載入主記憶體,僅建立表格)y
離開(Exit):因停止或取消,被系統(tǒng)由執(zhí)行區(qū)離開。(釋放佔(zhàn)用的主記憶體,但保留相關(guān)表格)五狀態(tài)處理程序模型(續(xù))9Figure
3.6
ProcessStates
for
Trace
of
Figure
3.310z圖3.7(a)有兩個佇列:備妥佇列與懸置佇列z圖3.7(b)對每一事件分別有一佇列Figure
3.7
QueuingModel
of
Figure3.511置換的需要The
need
for
swapping12z
在未使用虛擬記憶體的系統(tǒng),每個process必須完全地載入記憶體中才能執(zhí)行。z
由於處理器比I/O動作快太多,即使在多工環(huán)境下,處理器大部分時間仍處於閒置狀態(tài)。z
解決方法:容納更多的processy
擴(kuò)充主記憶體:如此會增加成本。y置換(swapping):將process的部分或全部由主記憶體移至磁碟上,本身也是I/O動作。z
使用置換,需增加新的狀態(tài):暫停(suspend)y
當(dāng)所有主記憶體中的process都處於懸置狀態(tài)時,系統(tǒng)可將某個
process暫停,?置換至磁碟,其所佔(zhàn)據(jù)的主記憶體空間就可釋放出來給其他process使用。z
置換之後,選擇載入process的方法y
容許新process的產(chǎn)生。問題:將增加系統(tǒng)的負(fù)擔(dān)。y
載入一處於暫停狀態(tài)的process。問題:所有暫停process都是被懸置的process,即使載入也仍無法執(zhí)行。13單一暫停狀態(tài)雙暫停狀態(tài)14z
有兩個獨(dú)立的概念:y
是否等待事件(懸置)、是否被置換
(暫停)z
2
*
2組合:共四種狀態(tài):y
(1)備妥;(2)懸置;(3)懸置,暫停;(4)備妥,暫停。暫停的其他使用15z
暫停process的概念y
Process無法立即被執(zhí)行。y
Process可能在等待某個事件。y
Process可被其他process或作業(yè)系統(tǒng)置於暫停狀態(tài)。y
Process不能離開這個狀態(tài),直到讓它陷入暫停狀態(tài)的人解除為止。z
process暫停的原因y
置換:作業(yè)系統(tǒng)必須釋出主記憶體空間,以容許載入其他process。y
其他作業(yè)系統(tǒng)理由:作業(yè)系統(tǒng)可能會暫停背景、工具或產(chǎn)生問題的process。y
互動使用者要求:使用者希望暫停某一process。y
時間:如週期性執(zhí)行的process。y
parent
process要求。3.2處理程序描述Process
Descriptionz
作業(yè)系統(tǒng)控制結(jié)構(gòu)y作業(yè)系統(tǒng)要管理process與資源,必須擁有各process與資源目前狀態(tài)的資訊。y最簡單的方法:作業(yè)系統(tǒng)建立?維護(hù)所管理實(shí)體的資訊表格,包括:記憶體、輸出入(I/O)、檔案、Process。Figure
3.9Processes
and
Resources
(resourceallocation
at
one
snapshot
in
time)16Figure
3.10
General
Structureof
Operating
System
ControlTables17Process的控制結(jié)構(gòu)18z
Process的位置y
影像(image):即Process的構(gòu)成,包含:程式、資料、堆疊與屬性。
y
Process的image的位置:y
(a)連續(xù)的記憶體區(qū)塊;或y
(b)一系列不一定連續(xù)的區(qū)塊。區(qū)塊可為不同長度(區(qū)段,Segment),或使用固定長度(頁,page),或二者結(jié)合。z
Process的屬性y
Process控制區(qū)塊(Process
Control
Block):所有屬性的集合。Process控制區(qū)塊19zProcess識別資訊(identification
information):該proce別碼、parent
process的識別碼、使用者識別碼z
Process狀態(tài)資訊(state
information):y
使用者可見暫存器;y
控制與狀態(tài)暫存器:Program
Counter,Program
Status
Word,…y
堆疊指標(biāo)。z
Process控制資訊(control
information):y
優(yōu)先權(quán)、排班相關(guān)資訊、y
事件、結(jié)構(gòu)資訊(process間的資料結(jié)構(gòu)鏈結(jié))、y
process間通訊(inter-process
communication)、process的權(quán)限、
y
記憶體管理、資源所有權(quán)與使用率。處理程序的屬性-Pentium
EFLAGS暫存器z
控制位元:y
ID識別碼:是否支援CPUID指令,該指令提供製造商、型號資訊。y
RF:繼續(xù)旗標(biāo)(Resume
flag)。y
IOPL:輸出入特權(quán)層級(I/O
privilege
level)y
IF:中斷致能旗標(biāo)(Interrupt
enable
flag)。y
TF:陷阱旗標(biāo)(Trap
flag),使所有指令的執(zhí)行產(chǎn)生中斷,以用來偵錯。z
運(yùn)作模式位元y
VM:虛擬8086模式(Virtual
8086
mode)。y
VIF(Virtual
interrupt
flag):用於虛擬8086模式,取代中斷致能旗標(biāo)(IF)z
狀況代碼y
CF:進(jìn)位旗標(biāo)(Carry
flag)。20Figure
3.12
User
Processes
in
Virtual
Memory21Figure
3.13
Process
List
Structures223.3處理程序控制23z
大部分處理器支援至少兩種執(zhí)行模式y(tǒng)
較低特權(quán)的模式:稱使用者模式(user
mode)。y
較高特權(quán)的模式:稱系統(tǒng)模式(system
mode)、控制模式(controlmode)、或核心模式(kernel
mode)。y
理由:作業(yè)系統(tǒng)本身及其表格有保護(hù)的必要。z
執(zhí)行模式的區(qū)別及改變y
程式狀態(tài)字組(Program
Status
Word,PSW)有一位元表示執(zhí)行模式。y
VAX的改變模式指令(CHM):使用者呼叫系統(tǒng)服務(wù),或發(fā)生中斷控制轉(zhuǎn)移至系統(tǒng)常式時,常式就執(zhí)行CHM指令﹔返回控制權(quán)給使用者process前,再執(zhí)行一次CHM進(jìn)入較低特權(quán)模式。z
Process的建立y
配置一process識別碼,在process表格中加入一新項(xiàng)目。y
分配空間,包含process影像(image)的所有元素。y
Process控制區(qū)塊(Process
Control
Block)的初始化。y
設(shè)定Process的鏈結(jié)、各種Process佇列、其他資料結(jié)構(gòu)。處理程序切換(process
switch)24z
何時process切換?作業(yè)系統(tǒng)取得控制權(quán)的事件:y
中斷(Interrupt):由外部發(fā)出,例如:I/O動作完成。時鐘中斷
(Timer
Interrupt),輸出入中斷(I/O
Interrupt),記憶體錯誤。y
陷阱(Trap):與目前執(zhí)行的指令相關(guān),例如:非法存取檔案。Anerror
resulted
from
the
last
instruction.
It
may
cause
the
processmoved
to
the
Exit
state.y
監(jiān)督者呼叫(Supervisor
Call):程式明確要求,例如:開啟檔案。
explicit
request
by
the
program(ex:file
open).The
process
willprobably
be
blocked.z
中斷週期的模式切換(Mode
Switch)y
儲存目前執(zhí)行中程式的序文(context):PSW,PC,其他暫存器、堆疊。y
將程式計數(shù)器(PC)設(shè)至中斷處理器的位址。y
由使用者模式切換至核心模式,讓中斷處理程式可執(zhí)行特權(quán)指令。處理程序切換(Process
Switch)(續(xù))25z
模式切換(mode
switching)vs.處理程序切換(processswitching)y
(也有稱context
switch,但容易與thread切換混淆)
y
模式切換不會改變process從執(zhí)行狀態(tài)至另一狀態(tài)。y在此情況下,序文(context)的儲存及之後的回存,額外的負(fù)擔(dān)較少。y
但執(zhí)行中的Process被移至其他狀態(tài),則必須做完整的process切換。z
Process切換的步驟:y
儲存處理器的序文,包括:程式計數(shù)器與其他暫存器。y
更新Process控制區(qū)塊:改變Process執(zhí)行狀態(tài)至另一狀態(tài)。將
Process移至適當(dāng)?shù)膩辛?。y選擇另一Process來執(zhí)行(課本第4部分討論)。更新選擇的Process的控制區(qū)塊。y
更新記憶體管理資料結(jié)構(gòu)。y
回存處理器的序文到該P(yáng)rocess被切換之前。作業(yè)系統(tǒng)的執(zhí)行方式z
作業(yè)系統(tǒng)的特殊角色y
作業(yè)系統(tǒng)是電腦軟體,也就是處理器執(zhí)行的程式。y
作業(yè)系統(tǒng)時常放棄控制,且依賴處理器允許它取回控制權(quán)。y
作業(yè)系統(tǒng)是個Process嗎?它如何控制?z
非Process核心(Non-process
Kernel):y
常在舊作業(yè)系統(tǒng)見到的方法。y作業(yè)系統(tǒng)在所有Process外執(zhí)行,是分開執(zhí)行的實(shí)體,擁有特權(quán)模式。y
所謂Process即為User
Process。Figure
3.14
(a)Separate
kernel26z
將整個作業(yè)系統(tǒng)視為User
Process的內(nèi)容z
作業(yè)系統(tǒng)是常式的集合,讓使用者呼叫來執(zhí)行各種功能z
在User
Process的環(huán)境中執(zhí)行。z當(dāng)中斷、陷阱或管理者呼叫發(fā)生,處理器就進(jìn)入核心模式,?將控制權(quán)交給作業(yè)系統(tǒng)。z?未做處理程序切換,只進(jìn)行了模式切換。作業(yè)系統(tǒng)碼以共享的方式,被User
Process所執(zhí)行。與User
Process一起執(zhí)行Figure
3.14
(b)OS
functionsexecute
within
userprocesses27與User
Process一起執(zhí)行(續(xù))28z
在核心模式時,使用分開的核心堆疊(kernel
stack)管理呼叫/返回。z
作業(yè)系統(tǒng)在共享的位址區(qū)域,可被所有User
Process共享Figure
3.15
Process
Image:
OperatingSystem
Executes
Within
User
Space處理程序?yàn)榛A(chǔ)的作業(yè)系統(tǒng)
Process-based
Operating
Systemz
將作業(yè)系統(tǒng)視為許多Process的集合y
主要的核心函數(shù)組織成分離的Processz
優(yōu)點(diǎn):y
模組化的設(shè)計。y
採Process設(shè)計,各函數(shù)可以設(shè)定不同的優(yōu)先權(quán)執(zhí)行,?與其他
Process交錯執(zhí)行。y對多處理器或分散式系統(tǒng)而言,可將作業(yè)系統(tǒng)服務(wù)移至其他處理器上執(zhí)行,來提昇效率。Figure
3.14
(c)
OS
functions
execute
as
separate
processes293.4
Unix
SVR4
Process管理30z
大部分Unix作業(yè)系統(tǒng)的功能,都在User
Process的環(huán)境下執(zhí)行。(圖3.14(b)的模式)z
使用兩種類型的Processy
System
Process:核心模式下執(zhí)行,例如:配置記憶體、置換
Process。y
User
Process:
(1)
run
in
user
mode
for
user
programs;
(2)
run
in
kemodes
for
system
calls,
traps,
and
interrupts.z
Process狀態(tài):共9種狀態(tài),類似之前的7狀態(tài)轉(zhuǎn)移圖。y
Created=New;Zombie(僵屍)=Exit;…。y
執(zhí)行中(Running)分為:[User
Running],[Kernel
Running],表示在使用者模式或核心模式內(nèi)執(zhí)行。y
區(qū)分備妥[Ready
to
Run
in
Memory]及被先佔(zhàn)[Preempted]:二者本質(zhì)上相同,只是區(qū)別進(jìn)入此狀態(tài)的途徑,二者也放在同一佇列上。y
先佔(zhàn)動作(Preemption)只發(fā)生在Process由kernel轉(zhuǎn)移至user
mode時。使得Unix不適於即時處理(Real-time
processing)。Figure
3.16
UNIX
Process
State
Transition
Diagram31Unix
System
Processes32z
Process
0是在系統(tǒng)啟動時(boot
time)建立的特殊process,y
預(yù)先定義成一個啟動時載入的資料結(jié)構(gòu)。y
稱為置換者處理程序(“swapper
process”)。z
Process
0
fork
process
1
(the
init
process)z
所有系統(tǒng)中的process都是Process
1的child
process。y
當(dāng)使用者登錄系統(tǒng),Process
1建立一User
Process給該使用者。Unix處理程序影像(Process
Image)33z
使用者階層序文(User-level
context)y
Process本文(Text):程式的可執(zhí)行機(jī)器指令(code:read-only)y
Process資料(Data)y
使用者堆疊(User
Stack):calls/returns
in
user
modey共享記憶體(Shared
memory):用於行程間通訊(IPC)。只有一份實(shí)體,但藉由虛擬記憶體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 驗(yàn)資報告范文
- 英語調(diào)查報告作文范文
- 活動情況報告范文
- 2024-2025學(xué)年年八年級數(shù)學(xué)人教版下冊專題整合復(fù)習(xí)卷18.2 勾股定理的逆定理(2)(含答案)-
- 《機(jī)械制造基礎(chǔ)》課件-03篇 第九單元 齒輪加工
- 垃圾焚燒的排放控制
- 酸菜檢驗(yàn)報告范文大全
- 2025年安順貨運(yùn)從業(yè)資格證考試模擬考試
- 2025年上海貨運(yùn)從業(yè)資格證考500試題
- 2025年吉林貨運(yùn)從業(yè)資格證模擬考試題下載
- 上海汽車集團(tuán)股份有限公司本量利運(yùn)用分析
- 調(diào)解中心成立流程
- 機(jī)械行業(yè)職業(yè)生涯規(guī)劃全生涯
- 家用電風(fēng)扇項(xiàng)目可行性研究報告
- 違法建筑整治工作計劃4篇
- 《腫瘤與信號轉(zhuǎn)導(dǎo)》課件
- 中醫(yī)康復(fù)科年終總結(jié)
- 埃德溫·戈登的音樂能力傾向理論及其啟示
- 上海交通大學(xué)1997-2007年有機(jī)化學(xué)考研真題
- 行政查房護(hù)士長匯報
- Part 3-4 Unit 8 Green Earth 課件-【中職專用】高一英語精研課堂(高教版2021·基礎(chǔ)模塊2)
評論
0/150
提交評論