Tải bản đầy đủ (.ppt) (23 trang)

Bài 3 : QUẢN LÝ TIẾN TRÌNH doc

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 (281.26 KB, 23 trang )

1
Bài 3 : QUẢN LÝ TIẾN TRÌNH

Phân chia CPU cho các tiến trình ?

Tiếp cận

Mục tiêu ?

Tổ chức ?

Chiến lược ?

Trạng thái tiến trình ?

Lưu trữ thông tin tiến trình ?

Các thao tác trên tiến trình ?

Bảo vệ tiến trình ?

Trao đổi thông tin giữa các tiến trình ?
2
Phaân chia CPU ?

1 CPU vaät lyù
     
    
 !

Dispatcher "




# $ "  %&
'()

*++

while(1)
{
interrupt P
cur
save state P
cur
Scheduler gets P
next
load state P
next
jump to it
}
3
Traïng thaùi tieán trình ?
,"

-




-




%.,
-


#&
/
-
#&-
4
Khoỏi quaỷn lyự tieỏn trỡnh trong moõ hỡnh
multiprocesses
+,
0
'01,)
$
'213145)
0,
-6
'*,1,)
(.
(
5
PCB vaø TCB trong moâ hình multithreads
+,
/,
$
'31%
5)

0,
-6
'*,1,)
(
,
0
'01,)
$
'21.5)
/,(.
/(
6
Các thao tác trên tiến trình

Tạo lập tiến trình :

Cấp phát tài nguyên cho tiến trình con ?

Hoạt động của cha và con độc lập

Kết thúc tiến trình :

Thu hồi tài nguyên ?

p buộc kết thúc ?

Thay đổi trạng thái tiến trình :
Assign(), Block(), Awake(), Resume(), Suspend()
7
Traïng thaùi tieán trình ?


70+,8-

9&:

;&
8
An ninh trật tự cho môi trường đa tiến trình !

Bảo vệ tiến trình :

Ngăn cản các tiến trình xâm phạm tài nguyên, can
thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2 mode
xử lý

Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình =>
công bằng trong các chiến lược phân phối tài nguyên.

Trao đổi thông tin , phối hợp hoạt động ?

Nhu cầu ?

Vấn đề ? => Chương kế tiếp

Giải pháp ?
9
Caùc danh saùch tieán trình
-,"<
=
>

?
@<
-=
A
B
=C
D
E
-=
-=
10
Điều phối tiến trình

Mục tiêu ?

Các cấp độ điều phối

Thời điểm ra quyết đònh điều phối ?

Đánh giá chiến lược điều phối ?

Một số chiến lược điều phối
11
Điều phối tiến trình
SCHEDULER
SCHEDULER
chọn một tiến trình
chọn một tiến trình
nhận cpu
nhận cpu

DISPATCH
DISPATCH
ER
ER
chuyển đổi ngữ
chuyển đổi ngữ
cảnh
cảnh
12
Chuyển đổi ngữ cảnh (context switching)

Kòch bản :

Lưu ngữ cảnh tiến trình hiện hành

Nạp ngữ cảnh tiến trình được chọn kế tiếp

Chi tiết cụ thể phụ thuộc vào phần cứng

general-purpose & floating point registers, co-
processor state…

Chi phí chuyển đổi ngữ cảnh :

Giữa các tiến trình ?

Giữa các tiểu trình ?
13
Chuyển đổi ngữ cảnh giữa các tiến trình


Chuyển đổi mode xử lý

Chuyển đổi IP và các thanh ghi khác của CPU

Chuyển đổi không gian đòa chỉ
= B
*+
0"
,
;,
14
Tieåu trình haït nhaân (Kernel thread)

;&$ ",% 
 

*+6&66F
/= /B
*+
0"
,
;,
15
Tieåu trình ngöôøi duøng (User thread)

;&
%&6&
&,

*+ 

6&66F

/,*+6&
66F

GH<@G/

; 7"&
$"."
&=I
/=
;
/B

,
;
,
/D
<@=
<@B
=
B
16
Lựa chọn tiến trình ?

Tác vụ của Scheduler

Mục tiêu ?

Sử dụng CPU hiệu quả


Đảm bảo tất cả các tiến trình đều tiến triển xử lý

Tiêu chuẩn lựa chọn ?

Tất cả các tiến trình đều như nhau ?

Đề xuất một độ ưu tiên cho mỗi tiến trình ?

Thời điểm lựa chọn ? (Thời điểm kích hoạt
Scheduler())
17
Mục tiêu điều phối

Hiệu qủa (Efficiency)
 Thời gian
 Đáùp ứng (Response time)
 Hoàn tất(Turnaround Time = T
quit
-T
arrive
):
 Chờ (Waiting Time = T
in Ready
) :
 Thông lượng (Throughput = # jobs/s )
 Hiệu suất Tài nguyên
 Chi phí chuyển đổi

Công bằng ( Fairness) : Tất cả các tiến trình

đều có cơ hội nhận CPU
18
Caực caỏp ủoọ ủieu phoỏi

Longterm scheduling
. + .
& ' 6 %& 6
&,")

Mediumterm scheduling
:" F "

%.,I

Shorterm scheduling
=,"
"
I

; + %&
D+&
19
Thời điểm ra quyết đònh điều phối

Điều phối độc quyền (non-preemptive
scheduling)&

Điều phối không độc quyền (preemptive
scheduling)%FJK+KL
%& 

20
Caực chieỏn lửụùc ủieu phoỏi

FIFO

RR

SJF

MULTILEVELFEEDBACK

LOTTERY
21
424MH G0N4

424M



0N4
,,


,,
22
Multilevel Feedback
+







"
23
Lottery
= == =
P1 P2 P3 P4
= =A =
P1 P2 P3 P4
P2 coù 25 % cô hoäi
P2 coù 70 % cô hoäi

×