Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
523 KB
Nội dung
1
Khoa KTMT
Chöông IV:
Chöông IV:
Ñònh thôøi CPU
Ñònh thôøi CPU
–
–
–
–
–
–
!"# "
–
$%
–
$&%
2
Khoa KTMT
Khaùi nieäm cô baûn
–
'()'*+,)*-./.
/0
–
(1*,234.!,'*('(05,4
)!667//,)!8'((!'(
,'*(.76/→/'*(,9*:0
!
–
(.!'7'(0
–
;*4.&.,9*:<(
&,'*(/:0
3
Khoa KTMT
Caùc boä ñònh thôøi
ready
ready
running
running
suspended
ready
suspended
ready
suspended
blocked
suspended
blocked
new
new
terminated
terminated
blocked
blocked
Long-term
scheduling
Long-term
scheduling
Medium-term
scheduling
Medium-term
scheduling
Short-term
scheduling
4
Khoa KTMT
Caùc boä ñònh thôøi
"#$
–
=4,9'*+,'*(/!.(!./,2
'(
–
>)&2'4,.!6./
–
?'*/@+#1:
AB<!
%$#$
–
,'*(,'C!,'&6C!.*4
D
–
>'*('(.*6!)764.*4,'*(6.
*6!)764.*40
5
Khoa KTMT
Các bộ đònh thời (tt)
•
&$
'($)*+,-,-
(.,--/$0
&$,--1 $(
2#,--3 ,- 4(
5)6
–
"E*&!
–
"@(AB<!
–
?*(./!
–
Chương này sẽ tập trung vào đònh thời ngắn hạn
6
Khoa KTMT
Dispatcher
7(+)*)88 18
(,--9-
286
–
2'F6'6(8'F6G
–
2/,.'*
–
"6,/9DD*(!'*+'4(,2&*6
,.('*+D!G
1))(:
–
7()H*!'.!&*6
,..!&4
7
Khoa KTMT
Caùc tieâu chuaån ñònh thôøi CPU
#$
–
(,.;(06&6*!.
8),/&8),)8,'*(,4!'4
→'(2
–
*)1.0.$06&6*
'4.!,'*((!./,/&!,4
&/4→'(2
–
.<062*.!,*(
7→'(2
&)#$
–
&,$-.(=06,9*:.
/→'(,(
–
>.?06/6!!6,'*(,/#'6'
–
,-.(06/!/8..
,*9*→'(,(0
8
Khoa KTMT
Hai yếu tố của giải thuật đònh thời
@-,-.?06$-(
$)*,-,-.,$,-
,/)818)/A,-
(/B0/1:$-
•
CI2*,*(./
•
I*,F,'*(!((
•
I2*'(6!)6JK
9
Khoa KTMT
Hai yếu tố của giải thuật đònh thời (tt)
*).$$06-,-
-,-C
–
L8'("!!
Khi ở trạng thái running, process sẽ thực thi cho
đến khi kết thúc hoặc bò blocked do yêu cầu I/O
–
'(!
Process đang thực thi (trạng thái running) có thể bò
ngắt nửa chừng và chuyển về trạng thái ready bởi
hệ điều hành
Chi phí cao hơn non-preemptive nhưng đánh đổi lại
bằng thời gian đáp ứng tốt hơn vì không có trường
hợp một process độc chiếm CPU quá lâu.
10
Khoa KTMT
Preemptive vaø Non-preemptive
@8DEFDGHIJ
MNOP/C
QNOP/
RNOP/CC
SLTUV
M)S&*WVXPYZ[NQ)RW
GFH(K/LDGHM8DEF((1
GFH(N/ODGHM8DEF((1
IJPQ8 RPSTS
[...]... Độ dài CPU burst đo được Độ dài CPU burst dự đốn, với a = ½ và τ0 = 10 Khoa KTMT 22 3 Priority Scheduling Mỗi process sẽ được gán một độ ưu tiên CPU sẽ được cấp cho process có độ ưu tiên cao nhất Đònh thời sử dụng độ ưu tiên có thể: – Preemptive hoặc – Nonpreemptive Khoa KTMT 23 Gán độ ưu tiên SJF là một giải thuật đònh thời sử dụng độ ưu tiên với độ ưu tiên là thời- gian-sử-dụng -CPU- d - oán... đònh thời load store add store read from file wait for I/O inc store write to file wait for I/O load store add store read from file I/O burst CPU burst I/O burst CPU burst một chu kỳ CPU- I/O Process Arrival Time Service Time 1 0 3 2 2 6 3 4 4 4 6 5 5 8 2 I/O burst … wait for I/O CPU burst Service time = thời gian process cần CPU trong một chu kỳ CPUI/O Process có service time lớn là các CPU- bound... những CPU burst càng mới càng phản ánh đúng hành vi của process trong tương lai Một kỹ thuật thường dùng là sử dụng trung bình hàm mũ (exponential averaging) – τn+1 = a tn + (1 - a) τn , 0 ≤ a ≤ 1 – τn+1 = a tn + ( 1- a) a tn-1 +…+ ( 1- a)jaτn-j +…+ ( 1- a)n+1aτ0 – Nếu chọn a = ½ thì có nghĩa là trị đo được tn và trị dự đốn τn được xem quan trọng như nhau Khoa KTMT 21 Dự đốn thời gian sử dụng CPU Độ... 14 2 Shortest-Job-First(SJF) Scheduling Đònh thời biểu công việc ngắn nhất trước Khi CPU được tự do, nó sẽ cấp phát cho tiến trình yêu cầu ít thời gian nhất để kết thúc ( tiến trình ngắn nhất) Liên quan đến chiều dài thời gian sử dụng CPU cho lần tiếp theo của mỗi tiến trình Sử dụng những chiều dài này để lập lòch cho tiến trình với thời gian ngắn nhất Khoa KTMT 15 2 Shortest-Job-First(SJF) Scheduling... (starvation) đối với các process có CPU- burst lớn khi có nhiều process với CPUburst nhỏ đến hệ thống Cơ chế non-preemptive không phù hợp cho hệ thống time sharing (interactive) Giải thuật SJF ngầm đònh ra độ ưu tiên theo burst time Các CPU- bound process có độ ưu tiên thấp hơn so với I/Obound process, nhưng khi một process không thực hiện I/O được thực thi thì nó độc chiếm CPU cho đến khi kết thúc Khoa... cần có độ dài của CPU burst tiếp theo Hàm lựa chọn: chọn process có độ dài CPU burst nhỏ nhất Chứng minh được: SJF tối ưu trong việc giảm thời gian đợi trung bình Nhược điểm: Cần phải ước lượng thời gian cần CPU tiếp theo của process Giải pháp cho vấn đề này? Khoa KTMT 20 Nhận xét về giải thuật SJF (Thời gian sử dụng CPU chính là độ dài của CPU burst) Trung bình tất cả các CPU burst đo được... Ưu tiên CPU- bound process I/O-bound process thường sử dụng rất ít thời gian của CPU, sau đó phải blocked đợi I/O CPU- bound process tận dụng hết quantum time, sau đó quay về ready queue ⇒ được xếp trước các process bò blocked Khoa KTMT 28 Time quantum và context switch quantum 12 9 10 6 0 0 1 1 0 0 6 Process time = 10 context switch 1 2 Khoa KTMT 3 4 5 6 10 7 8 9 10 29 Thời gian hồn thành và quantum... – Scheme 1: Non-preemptive( tiến trình độc quyền CPU) Khi CPU được trao cho quá trình nó không nhường cho đến khi nó kết thúc chu kỳ xử lý của nó – Scheme 2: Preemptive( tiến trình không độc quyền) Nếu một tiến trình CPU mới được đưa vào danh sách với chiều dài sử dụng CPU cho lần tiếp theo nhỏ hơn thời gian còn lại của tiến trình đang xử lý nó sẽ dừng hoạt động tiến trình hiện hành (hình thức... sử dụng RR nếu muốn các process khác nhau có độ ưu tiên khác nhau Khoa KTMT 34 Round Robin: nhược điểm Các process dạng CPU- bound vẫn còn được “ưu tiên” – Ví dụ: Một I/O-bound process sử dụng CPU trong thời gian ngắn hơn quantum time và bị blocked để đợi I/O Và Một CPU- bound process chạy hết time slice và lại quay trở về hàng đợi ready queue (ở phía trước các process đã bị blocked) Khoa... lệ thời gian dùng cho I/O trên thời gian sử dụng CPU Các yêu cầu bên ngoài ví dụ như: số tiền người dùng trả khi thực thi công việc Khoa KTMT 24 3 Priority Scheduling Vấn đề: trì hoãn vô hạn đònh – process có độ ưu tiên thấp có thể không bao giờ được thực thi Giải pháp: làm mới (aging) – độ ưu tiên của process sẽ tăng theo thời gian Vd: Khoa KTMT 25 4 Đònh thời luân phiên (Round Robin -RR) . I/O
…
I/O burst
CPU burst
CPU burst
CPU burst
I/O burst
I/O burst
một chu kỳ
CPU- I/O
12
Khoa KTMT
1. First-Come First-Served (FCFS)
@ ,- - 6X)8,+, - (
(,Y+ ,- . bởi
hệ điều hành
Chi phí cao hơn non-preemptive nhưng đánh đổi lại
bằng thời gian đáp ứng tốt hơn vì không có trường
hợp một process độc chiếm CPU