Tải bản đầy đủ (.pdf) (36 trang)

Nguyên lý hệ điều hành - Chương 3 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (334.74 KB, 36 trang )

Ng Duc Thuan
98
Chương3: Quảnlýtiếntrình
2.1 Kháiniệm
v Tiếntrìnhlàmộtchươngtrìnhđangxửlý, sởhữumộtcon
trỏlệnh, tậpthanhghivàcácbiến.
v Chươngtrìnhlàthựcthểthụđộngchứựngcáctínhiệu
điềukhiểnmáytínhđểthựchiệntácvụnàó.
v HĐH hỗtrợđachương, đanhiệm. TrongHĐH cónhiều
tiếntrìnhcùnghoạtđộng. Vìvậyviệcsửdụngthuậttoán
đểđiềuphốicáctiếntrìnhlànhiệmvụcủaHĐH.
v Bộphậnthựchiệnchứcnăngnàygọilàbộđiềuphối.
Ng Duc Thuan
99
Chương3: Quảnlýtiếntrình
Trạngtháicủamộttiếntrình:
v Running: cácchỉthòtiếntrìnhđangđượcxửlý.
v Blocked: tiếntrìnhchờcấppháttàinguyên, hay sựkiện
nàóxảyra.
v Ready: tiếntrìnhchờcấpphátCPU.
(Create: tạomới, Destroy: kếtthúc)
Chếđộxửlýtiếntrình:
HĐH cóhaichếđộxửlýtiếntrình:
Chếđộđặcquyền: chỉcóHĐH mớihoạtđộngđượcvới
chếđộđộcquyền, nhờsựgiúpđỡphầncứng.
Chếđộkhôngđặcquyền:ngườisửdụng
Ng Duc Thuan
100
Chương3: Quảnlýtiếntrình
Chuyểntrạngtháitiếntrình
READY


RUNNING
BLOCKED
Dispatch
Timer run-out
Wake-up
Sleep
New
Ng Duc Thuan
101
Chương3: Quảnlýtiếntrình
v HĐH quảnlýthôngtin tiếntrìnhqua khốiđiềukhiển
(PCB: Process Control Block). CấutrúcdữliệucủaHĐH
đểquảnlýquátrình
v Chứathôngtin nhậndạng, trạngthái, đònhvòtàinguyên
choquátrìnhbaogồmthôngtin sau:
ü Danhđònhchoquátrình(PID)
ü Bộđếmchươngtrình
ü VùnglưugiátròthanhghiCPU
ü Độưutiêncủaquátrình
ü Thông tin đònhvòbộnhớquátrình
ü Thông tin bảomật
ü Con trỏđếùncácquátrìnhcha, con
ü …
Ng Duc Thuan
102
Chửụng3: Quaỷnlyựtieỏntrỡnh
Vớduù
TrongTask Manager
Ng Duc Thuan
103

Chöông3: Quaûnlyùtieántrình
Ng Duc Thuan
104
Chương3: Quảnlýtiếntrình
Thaotáctrêntiếntrình
HĐH cungcấpcácthaotácchủyếuchotiếntrìnhlà:
F Create:tạolậptiếntrình
ü Đònh danhtiếntrình
ü Đưatiếntrìnhvàodanhsáchquảnlý
ü Xácđònhmứcđộưutiên
ü Cungcấptàinguyênban đầu
ü Tạokhốiđiềukhiểntiếntrình(PCB)
F Destroy:kếtthúctiếntrình
ü Thu hồitàinguyênđãcấp
ü Huỷbỏtiếntrìnhkhỏidanhsáchquảnlý
ü Huỷbỏkhốiđiềukhiểntiếntrình
(Lưuý: tiếntrìnhcon khôngthểtiếptụckhitiếntrìnhcha kếtthúc)
Ng Duc Thuan
105
Chương3: Quảnlýtiếntrình
2.2 Tiểutrình(threads)
v Mỗi tiếntrìnhthôngthườngcómộtkhônggianđòachỉvà
dòngxửlý.
v Trongtrườnghợpngườisửdụngmuốnnhiềudòngxửlý
cùngchiasẻmộtkhônggianđòachỉvàcácdòngdữliệu
xửlýsong songnhưcáctiếntrìnhriêngbiệt. HĐH cung
cấpcơchếnhưvậygọilàtiểutrình.
v Mộttiểutrìnhlàmộtđơnvòxửlýcơbảntronghệthống.
v Mộttiểutrìnhcóthểtạonhiềutiếntrìnhcon.
v Mộttiếntrìnhcóthểsởhữunhiềutiểutrình.

Ng Duc Thuan
106
Chương3: Quảnlýtiếntrình
2.3 Điềuphốitiếntrình
Trongmôitrườngđachươngnhiềutiếntrìnhđồngthờisẵn
sàngnhậnxửlý. Tiếntrìnhtiếptheonàượcchọnđểxử
lýcầncógiảithuậtthíchhợpđểthựchiệnnhiệmvụnày.
HĐH cóbộphậnthựchiệnnhiệmvụnàượcgọibộ
điềuphốitiếntrình.(dispatcher)
1. Mụctiêiềuphốilà:
Y Sựcôngbằng(Fairness)
Y Tínhhiệuquả(Efficiency)
Y Thờigianđápứnghợplý(Responsetime)
Y Thờigianlưulạitronghệthống(TuraroundTime).
Y Thông lượngtốiđa(throughput)
Ng Duc Thuan
107
Chương3: Quảnlýtiếntrình
2. Cácđặcđiểmcủatiếntrình
Mụctiêucơbảntrongđiềuphốitiếntrình:
v Hướngxuất/nhậpcủatiếntrình
v Hướngxửlýcủatiếntrình
v Chươngtrìnhtươngtáchay xửlýtheolô
v Độưutiêncủatiếntrình
v ThờigianđãsửdụngCPU củatiếntrình.
v Thờigiancònlạicủatiếntrìnhcầngiảiquyết
Điềuphốiđộcquyềnvàkhôngđộcquyền
Điềuphốiđộcquyền:TiếntrìnhchiếmCPU đếnkhihoàntấthoặc
tựnguyệngiảiphóng.
Điềuphốikhôngđộcquyền:Tiếntrìnhcóthểbòtạmdừngbấtcứ

khinào.
Ng Duc Thuan
108
Chương3: Quảnlýtiếntrình
3. Điềuphối: HĐH sửdụng2 loạidanhsáchtrongđiều
phối:
Ø Danhsáchsẵnsàng
Ø Danhsáchhàngđợi
Danhsáchsẵnsàng:Chứanhữngchươngtrìnhthườngtrú
trongbộnhớchính. Ởtrạngtháisănsàng
Danhsáchhàngđợi:Chứanhữngtiếntrìnhtrạngthái
Ready.
Cáccấpđộđiềuphối:
° Điềuphốitácvụ: quyếtđònhsốtiếntrìnhvàobộnhớ
° Điềuphốitiếntrình:quyếtđònhtiếntrìnhnàotiếptheo
nhậnCPU
Ng Duc Thuan
109
Chương3: Quảnlýtiếntrình
4. Cácchiếnlượcđiềuphối
A. ChiếnlượcFIFO(FirstIn First Out)
Nguyêntắc: CPU sẽđượccấpphátchotiếntrình
đầutiêntrongdanhsáchsẵnsàng. Đâythuật
toánđiềuphốitheonguyêntắcđộcquyền. CPU
chỉcóthểthoátkhỏitiếntrìnhkhikếtthúchay
cóyêucầuxuất/ nhập.
Danhsáchsẵnsàng
CPU
Ng Duc Thuan
110

Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiFIFO
32P3
31P2
240P1
ThờigianxửlýThờiđiểmvàoTiếntrình
Ng Duc Thuan
111
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiFIFO
P1P2P3
Thứtựcấpphát:
Thờigianchờ: P1 là0
P2 là24
P3 là27
Thờigianchờtrungbình:(0+24+27)/3=17ms
Ng Duc Thuan
112
Chương3: Quảnlýtiếntrình
Nhậnxét: chiếnlượcđiềuphốiFIFO
vThờigianchờkhôngđạtcựctiểu. Cóthểxảy
hiệntượngtíchlũythờigianchờ.
v Thaổiđángkểthờigianchờnếuthaổithứ
tựdãy.
v Giảithuậtkhôngphùhợpvớiviệcphânchia
thờigian
Ng Duc Thuan
113
Chương3: Quảnlýtiếntrình
B. Chiếnlượcphânphốivòngquay(Round Robin)

Nguyêntắc: Danhsáchsẵnsàngxửlýlàdanhsách
vòng, bộđiềuphốilầnlượtcấppháttừngtiếntrình
trongdanhsáchkhoảngthờigiant.(Giảithuậtđiều
phốikhôngđộcquyền)
Danhsáchsẵnsàng
CPU
Ng Duc Thuan
114
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiRR
32P3
31P2
240P1
ThờigianxửlýThờiđiểmvàoTiếntrình
Ng Duc Thuan
115
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiRR
Thờigianchờtrungbình:(0+4+7+6)/3=5,66ms
Nhậnxét:
F Giảithuậtphụthuộcvàorấtnhiềugiátròt
Ft quánhỏ-> sửdụngCPU kémhiệuquả
F t quálớn-> tăngkhảnănghồiđáp, giámkhả
năngtươngtáchệthống.
P1P2P3P1P1P1P1P1
Ng Duc Thuan
116
Chương3: Quảnlýtiếntrình
C. ChiếnlượcĐiềuphốivớiđộưutiên
Nguyêntắc: Mỗitiếntrìnhkhivàohệthốngđược

gángiátròưutiên. Tiếntrìnhcóđộưutiêncaosẽ
đượcnhậnCPU trước. Độưutiêndựatrênrất
nhiềutiêuchínhư: thờigianxửlý, yêucầubộ
nhớ.
Ø Giảithuậtnàycóthểtheonguyêntắcđộcquyền
vàkhôngđộcquyền
Ng Duc Thuan
117
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiƯutiên
32P3
31P2
243P1
ThờigianxửlýĐộưutiênTiếntrình
Ng Duc Thuan
118
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiƯutiên
Thờigianchờtrungbình:(0+3+6)/3=2ms
Nhậnxét:
Ø Cóthểdẫnđếntiếntrìnhcómứcưutiêncấpthấpchờvô
hạn.
Ø Khắcphụcbộđiềuphốitiếnhànhgiảmđộưutiên
xuốngsaumỗingắtđồnghồchếnkhitiếntrìnhcó
mứcưutiênthấp hơntiếntrìnhkếcậnvàchuyển
CPU.
P2P3P1
Ng Duc Thuan
119
Chương3: Quảnlýtiếntrình

D. Chiếnlượccôngviệcngắnnhất
(SJF: Shortest Job First)
Nguyêntắc: Điềuphốivớiđộưutiên, độưutiên
p đượcgánchotiếntrìnhlànghòchđảocủathời
gianxửlýt màtiếntrìnhyêucầu: p=1/t. Tiến
trìnhkếtiếplàtiếntrìnhyêucầtthờigiannhất
đểkếtthúc.
F Giảithuậtnàycũngcóthểlàđộcquyềnhay
khôngđộcquyền
Ng Duc Thuan
120
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiSJF
3P4
7P3
8P2
6P1
ThờigianxửlýTiếntrình
Ng Duc Thuan
121
Chương3: Quảnlýtiếntrình
Vídụ: chiếnlượcđiềuphốiSJF
Thứtựcấpphát:
Thờigianchờtrungbình:(3+9+16+0)/4=7ms
Nhậnxét:
Ø Chophépđạtthờigianchờtrungbìnhlàcựctiểu
Ø Xácđònhthờigianyêucầuxửlýcònlạilàrấtkhókhăn:
Biểuthứcdựđoán
P4P1P3P2
nnn

t
t
a
a
t
)1(
1
-
+
=
+
Ng Duc Thuan
122
Chương3: Quảnlýtiếntrình
F. Chiếnlượcđiềuphốinhiềumứcđộưutiên
Nguyêntắc: Phânlớptiếntrìnhtuỳtheộưutiên
củachúngđểcócáchđiềuphốithíchhợpcho
từngnhóm. Danhsáchsẵnsàngđượcphântách
thànhcácdanhsáchriêngbiệttheocấpđộưu
tiên. Mỗidanhsáchbaogồmcáctiếntrìnhcó
cùngmứcđộưutiênvàđượcápdụnggiảithuật
điềuphốithíchhợpđểđiềuphối.
Giảithuậtsửdụnglàgiảithuậtkhôngđộcquyền.

×