Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 43

Chng IV: nh thi CPU

Khai niem c ban


Cac bo nh thi
long-term, mid-term, short-term
Cac tieu chuan nh thi CPU
Cac giai thuat nh thi
First-Come, First-Served (FCFS)
Round-Robin (RR)
Shortest Job First (SJF) va Shortest
Remaining Time First (SRTF)
Priority Scheduling
Highest Response Ratio Next (HRRN)
Multilevel Queue
Multilevel Feedback Queue

Khoa KTMT

Khai niem c ban

Trong cac he thong multitasking


Thc thi nhieu chng trnh ong thi lam tang
hieu suat he thong.
Tai moi thi iem, ch co mot process c thc
thi. Do o, can phai giai quyet van e phan
chia, la chon process thc thi sao cho c hieu
qua nhat chien lc nh thi CPU.

nh thi CPU
Chon mot process (t ready queue) thc thi.
Vi mot multithreaded kernel, viec nh thi CPU la
do OS chon kernel thread c chiem CPU.

Khoa KTMT

Cac bo nh thi
new
new

Long-term
scheduling

suspended
suspended
ready
ready

Long-term
scheduling
Medium-term
scheduling

ready
ready

Short-term
scheduling
running
running

suspended
suspended
blocked
blocked
Khoa KTMT

Medium-term
scheduling

blocked
blocked

terminated
terminated

Cac bo nh thi

Long-term scheduling
Xac nh chng trnh nao c chap nhan nap vao
he thong e thc thi
ieu khien mc o multiprogramming cua he
thong
Long term scheduler thng co gang duy tr xen lan
CPU-bound va I/O-bound process

Medium-term scheduling
Process nao c a vao (swap in0, a ra khoi (swap
out) bo nh chnh
c thc hien bi phan quan ly bo nh va c
thao luan phan quan ly bo nh.

Khoa KTMT

Cac bo nh thi (tt)

Short term scheduling


Xac nh process nao trong ready queue se c chiem CPU e
thc thi ke tiep (con c goi la nh thi CPU, CPU scheduling)
Short term scheduler con c goi vi ten khac la dispatcher
Bo nh thi short-term c goi moi khi co mot trong cac s
kien/interrupt sau xay ra:

Ngt thi gian (clock interrupt)


Ngat ngoai vi (I/O interrupt)
Li goi he thong (operating system call)
Signal

ng nay se tap trung vao nh thi ngan


Khoa KTMT

Dispatcher

Dispatcher se chuyen quyen ieu khien CPU


ve cho process c chon bi bo nh thi
ngan han
Bao gom:
Chuyen ng canh (s dung thong tin ng canh
trong PCB)
Chuyen che o ngi dung
Nhay en v tr thch hp trong chng trnh ng dung
e khi ong lai chng trnh (chnh la program
counter trong PCB)

Cong viec nay gay ra ph ton


Dispatch latency: thi gian ma dispatcher dng mot
process va khi ong mot process khac

Khoa KTMT

Cac tieu chuan nh thi CPU

User-oriented
Thi gian ap ng (Response time): khoang thi gian
process nhan yeu cau en khi yeu cau au tien c
ap ng (time-sharing, interactive system) cc tieu
Thi gian quay vong (hoan thanh) (Turnaround time):
khoang thi gian t luc mot process c nap vao he
thong en khi process o ket thuc cc tieu
Thi gian ch (Waiting time): tong thi gian mot process i
trong ready queue cc tieu

System-oriented
S dung CPU (processor utilization): nh thi sao cho CPU
cang ban cang tot cc ai
Cong bang (fairness): tat ca process phai c oi x
nh nhau
Thong lng (throughput): so process hoan tat cong viec
trong mot n v thi gian cc ai.

Khoa KTMT

Hai yeu to cua giai thuat nh


thi
Ham chon la (selection function): dung e
chon process nao trong ready queue c thc
thi (thng da tren o u tien, yeu cau ve
tai nguyen, ac iem thc thi cua process,),
v du
w = tong thi gian i trong he thong
e = thi gian a c phuc vu
s = tong thi gian thc thi cua process (bao gom ca
e)

Khoa KTMT

Hai yeu to cua giai thuat


nh thi (tt)

Che o quyet nh (decision mode): chon thi iem


thc hien ham chon la e nh thi. Co hai che
o
Khong trng dung (Non-preemptive)
Khi trang thai running, process se thc thi cho
en khi ket thuc hoac b blocked do yeu cau
I/O
Trng dung (Preemptive)
Process ang thc thi (trang thai running) co the
b ngat na chng va chuyen ve trang thai
ready bi he ieu hanh
Chi ph cao hn non-preemptive nhng anh oi
lai bang thi gian ap ng tot hn v khong
co trng hp mot process oc chiem CPU
qua lau.

Khoa KTMT

Preemptive va Nonpreemptive

Hm nh thi c thc hin khi

(1) Chuyn t trang thai running sang waiting


(2) Chuyn t trang thai running sang ready
(3) Chuyn t trang thai waiting, new sang ready
(4) Kt thuc thc thi
1 v 4 khng cn la chn loai nh thi biu, 2 v 3 cn

Trng hp 1, 4 c gi l nh thi nonpreemptive


Trng hp 2, 3 c gi l nh thi preemptive
Thc hi n c ch nao kho hn? Tai sao?

Khoa KTMT

10

Khao sat giai thuat nh thi


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

Process

Arrival
Time

Service
Time

I/O burst

wait for I/O

CPU burst mot chu ky


CPU-I/O

Service time = thi gian process can CPU trong mot chu
ky CPU-I/O
Process co service time ln la cac CPU-bound process

Khoa KTMT

11

1. First-Come First-Served (FCFS)

Ham la chon: Tien trnh nao yeu cau CPU trc se c


cap phat CPU trc; Process se thc thi en khi ket thuc hoac b
blocked do I/O

Che o quyet nh: non-preemptive algorithm


Hien thc : s dung hang i FIFO (FIFO queues)
Tien trnh i vao c them vao cuoi hang i
Tien trnh c la chon e x ly c lay t au cua queues

10

15

20

P1
P2
P3
P4
P5

run

Khoa KTMT

add

12

FCFS Scheduling

V du :

Process
P1
P2
P3

Burst Time
24
3
3

P1, P2, P3

Khoa KTMT

Thi gian ch trung bnh


(0+24+27)/3 = 17

Gantt Chart for Schedule

Thi gian ch
P1 = 0;
P2 = 24;
P3 = 27;

P1

Gia s th t vao cua


cac tien trnh la

P2
24

P3
27

30

13

FCFS Scheduling

V du:

Process
P1
P2
P3

Burst Time
24
3
3

Gia s thi gian vao cua


cac tien trnh la
P2, P3, P1

Thi gian ch :
P1 = 6; P2 = 0; P3 = 3;

Thi gian ch trung bnh


(6+0+3)/3 = 3 , tot hn..

Gantt Chart for Schedule


P2
0

P3
3

Khoa KTMT

P1
6

30

14

2. Shortest-Job-First(SJF)
Scheduling

nh thi bieu cong viec ngan nhat trc


Khi CPU c t do, no se cap phat cho tien trnh
yeu cau t thi gian nhat e ket thuc ( tien trnh
ngan nhat)
Lien quan en chieu dai thi gian s dung CPU
cho lan tiep theo cua moi tien trnh. S dung
nhng chieu dai nay e lap lch cho tien trnh
vi thi gian ngan nhat.

Khoa KTMT

15

2. Shortest-Job-First(SJF)
Scheduling
Hai hnh thc (Schemes):
Scheme 1: Non-preemptive( tien trnh oc quyen CPU)
Khi CPU c trao cho qua trnh no khong nhng
cho en khi no ket thuc chu ky x ly cua no
Scheme 2: Preemptive( tien trnh khong oc quyen)
Neu mot tien trnh CPU mi c a vao danh
sach vi chieu dai s dung CPU cho lan tiep
theo nho hn thi gian con lai cua tien trnh ang
x ly no se dng hoat ong tien trnh hien
hanh (hnh thc nay con goi la ShortestRemaining-Time-First (SRTF).)
SJF la toi u cho thi gian ch i trung bnh toi
thieu vi mot tap tien trnh cho trc

Khoa KTMT

16

Non-Preemptive SJF Scheduling

V du :
Process Arrival TimeBurst Time
P1
0
7
P2
2
4
P3
4
1
P4
5
4
Gantt Chart for Schedule
P1
0

P3
7

P2
8

P4
12

16

Average waiting time =


(0+6+3+7)/4 = 4

Khoa KTMT

17

Preemptive SJF Scheduling


(hay Sortest Remaining Time First SRTF)
V du
1:

VD2:
Gantt Chart for Schedule
P1
0

P2
2

P3 P2
4

P4
7

P1
11

16

Average waiting time =


(9+1+0+2)/4 = 3

Khoa KTMT

18

Nhan xet ve giai thuat SJF

Co the xay ra tnh trang oi (starvation) oi


vi cac process co CPU-burst ln khi co nhieu
process vi CPU-burst nho en he thong.

C che non-preemptive khong phu hp cho he


thong time sharing (interactive)

Giai thuat SJF ngam nh ra o u tien theo


burst time

Cac CPU-bound process co o u tien thap hn


so vi I/O-bound process, nhng khi mot process
khong thc hien I/O c thc thi th no oc
chiem CPU cho en khi ket thuc

Khoa KTMT

19

Nhan xet ve giai thuat SJF

Tng ng vi mi process cn c di ca CPU burst tip theo


Hm la chn: chn process c di CPU burst nh nht
Chng minh c: SJF ti u trong vic gim thi gian i trung
bnh
Nhc im: Cn phi c lng thi gian cn CPU tip theo ca
process
Gii phap cho vn ny?

Khoa KTMT

20

Nhan xet ve giai thuat SJF

(Thi gian s dng CPU chnh l di ca CPU burst)


Trung bnh tt c cac CPU burst o c trong qua kh
Nhng thng thng nhng CPU burst cng mi cng phn
anh ung hnh vi ca process trong tng lai
Mt k thut thng dng l s dng trung bnh ham m
(exponential averaging)
n+1 = a tn + (1 - a) n , 0 a 1
n+1 = a tn + (1- a) a tn-1 ++ (1- a)jan-j ++ (1- a)n+1a0
Nu chn a = th c ngha l tr o c tn v tr d oan n
c xem quan trng nh nhau.

Khoa KTMT

21

D oan thi gian s dng CPU

di CPU burst
o c

di CPU burst d on,


vi
a = v 0 = 10

Khoa KTMT

22

3. Priority Scheduling

Moi process se c gan mot o u tien


CPU se c cap cho process co o u tien
cao nhat
nh thi s dung o u tien co the:
Preemptive hoac
Nonpreemptive

Khoa KTMT

23

Gan o u tien

SJF la mot giai thuat nh thi s dung o


u tien vi o u tien la thi-gian-s-dungCPU-d-oan
Gan o u tien con da vao:
Yeu cau ve bo nh
So lng file c m
T le thi gian dung cho I/O tren thi gian s dung
CPU
Cac yeu cau ben ngoai v du nh: so tien ngi
dung tra khi thc thi cong viec

Khoa KTMT

24

3. Priority Scheduling

Van e: tr hoan vo han nh process co o


u tien thap co the khong bao gi c thc
thi
Giai phap: lam mi (aging) o u tien cua
process se tang theo thi gian
Vd:

Khoa KTMT

25

4. nh thi luan phien (Round


Robin -RR)

Moi process nhan c mot n v nho thi


gian CPU (time slice, quantum time), thong
thng t 10-100 msec e thc thi. Sau khoang
thi gian o, process b oat quyen va tr ve
cuoi hang i ready.
Neu co n process trong hang i ready va
quantum time = q th khong co process nao
phai ch i qua (n 1)q n v thi gian.
Hieu suat
Neu q ln: RR FCFS
Neu q nho (q khong c qua nho bi v phai ton
chi ph chuyen ng canh)

Thi gian ch i trung bnh cua giai thuat RR


thng kha ln nhng thi gian ap ng nho

Khoa KTMT

26

V du Round Robin

Time Quantum = 20

Process Burst Time


P1
53
P2
17
P3
68
P4
24
Gantt Chart for Schedule
P1
0

20

P2
37

P3
57

P4

P1
77

P3

P4

P1

P3

97 117 121 134

P3
154 162

turnaround time trung bnh ln hn SJF, nhng ap n

Khoa KTMT

27

RR vi time quantum = 1

Thi gian turn-around trung bnh cao hn so vi SJF


nhng
co thi gian ap ng trung bnh tot hn.
u tien CPU-bound process
I/O-bound process thng s dung rat t thi gian
cua CPU, sau o phai blocked i I/O
CPU-bound process tan dung het quantum time,
sau o quay ve ready queue c xep trc
28
Khoa cac
KTMT process b blocked

Time quantum va context switch


Process time = 10

12

10

quantum

context
switch

Khoa KTMT

10

10
29

Thi gian hon thnh v quantum time

Thi gian hon thnh trung bnh (average turnaround time) khng
chc s c ci thin khi quantum ln

Khoa KTMT

30

Quantum va response time

Khoa KTMT

Quantum time phai


ln hn thi gian
dung e x ly clock
interrupt (timer) va
thi gian dispatching
Nen ln hn thi gian
tng tac trung bnh
(typical interaction)

31

Quantum time cho Round Robin*

Khi thc hin process switch th OS s s dng CPU ch khng phi process
ca ngi dng (OS overhead)
Dng thc thi, lu tt c thng tin, nap thng tin ca process sp thc thi
Performance ty thuc vo kch thc ca quantum time (cn gi l time slice),
v hm ph thuc ny khng n gin
Time slice ngn th ap ng nhanh
Vn : c nhiu chuyn ng cnh. Ph tn s cao.
Time slice di hn th throughput tt hn (do gim ph tn OS overhead) nhng
thi gian ap ng ln
Nu time slice qua ln, RR tr thnh FCFS.

Khoa KTMT

32

Quantum time cho Round Robin

Quantum time v thi gian cho process switch:


Nu quantum time = 20 ms v thi gian cho process switch = 5 ms, nh vy
ph tn OS overhead chim 5/25 = 20%
Nu quantum = 500 ms, th ph tn ch cn 1%
Nhng nu c nhiu ngi s dng trn h thng v thuc loai
interactive th s thy ap ng rt chm
Ty thuc vo tp cng vic m la chn quantum time
Quantum time nn ln trong tng quan so sanh vi thi gian cho process
switch
V d vi 4.3 BSD UNIX, quantum time l 1 giy

Khoa KTMT

33

Round Robin

Nu c n process trong hng i ready, v quantum time l q, nh


vy mi process s ly 1/n thi gian CPU theo tng khi c kch
thc ln nht l q
S khng c process no ch lu hn (n - 1)q n v thi gian

RR s dng mt gi thit ngm l tt c cac process u c tm


quan trng ngang nhau
Khng th s dng RR nu mun cac process khac nhau c u tin khac
nhau

Khoa KTMT

34

Round Robin: nhc im

Cac process dang CPU-bound vn cn c u tin


V d:
Mt I/O-bound process s dng CPU trong thi gian ngn hn quantum
time v b blocked i I/O. V
Mt CPU-bound process chay ht time slice v lai quay tr v hng i
ready queue ( pha trc cac process b blocked)

Khoa KTMT

35

5. Highest Response Ratio Next


time spent waiting expected service time
RR
expected service time

Chon process ke tiep co gia tr RR (Response ratio)


ln nhat.
Cac process ngan c u tien hn (v service time
nho)

Khoa KTMT

36

6. Multilevel Queue Scheduling

Hang i ready c chia thanh nhieu hang


i rieng biet theo mot so tieu chuan nh
ac iem va yeu cau nh thi cua process
Foreground (interactive) va background process,

Process c gan co nh vao mot hang i,


moi hang i s dung giai thuat nh thi
rieng
He ieu hanh can phai nh thi cho cac
hang i.
Fixed priority scheduling: phuc vu t hang i co o
u tien cao en thap. Van e: co the co starvation .
Time slice: moi hang i c nhan mot khoang
thi gian chiem CPU va phan phoi cho cac process
trong hang i khoang thi gian o. V du: 80% cho
hang i foreground nh thi bang RR va 20% cho
hang i background nh thi bang giai thuat FCFS.

Khoa KTMT

37

Multilevel Queue Scheduling*

V d phn nhm cac qua trnh


u tin cao nht
System Processes
Interactive Processes
Batch Processes
Student Processes
u tin thp nht

Khoa KTMT

38

7. Hang i phan hoi a cap


Multilevel Feedback Queue

Van e cua multilevel queue


process khong the chuyen t hang i nay sang
hang i khac khac phuc bang c che
feedback: cho phep process di chuyen mot cach
thch hp gia cac hang i khac nhau .

Multilevel Feedback Queue


Phan loai processes da tren cac ac tnh ve CPUburst
S dung decision mode preemptive
Sau mot khoang thi gian nao o, cac I/O-bound
process va interactive process se cac hang i
co o u tien cao hn con CPU-bound process se
cac queue co o u tien thap hn.
Mot process a ch qua lau mot hang i co
o u tien thap co the c chuyen en hang
i co o u tien cao hn (c che nien han, aging).

Khoa KTMT

39

7. Multilevel Feedback Queue

V du:
Q0
Q1
Q2

Khoa KTMT

Co 3 hang i
, dung RR vi quantum 8 ms
, dung RR vi quantum 16 ms
, dung FCFS

40

7. Multilevel Feedback Queue (tt)

nh thi dung multilevel feedback queue oi


hoi phai giai quyet cac van e sau
So lng hang i bao nhieu la thch hp?
Dung giai thuat nh thi nao moi
hang i?
Lam sao e xac nh thi iem can
chuyen mot process en hang i cao hn
hoac thap hn?
Khi process yeu cau c x ly th a vao
hang i nao la hp ly nhat?

Khoa KTMT

41

So sanh cac giai thuat

Giai thuat nh thi nao la tot nhat?


Cau tra li phu thuoc cac yeu to sau:
Tan xuat tai viec (System workload)
S ho tr cua phan cng oi vi dispatcher
S tng quan ve trong so cua cac tieu
chuan nh thi nh response time, hieu suat
CPU, throughput,
Phng phap nh lng so sanh

Khoa KTMT

42

c thm

Policy v Mechanism
nh thi trn h thng multiprocessor
anh gia gii thut nh thi CPU
nh thi trong mt s h iu hnh thng dng

Ngun:
Operating System Concepts. Sixth Edition. John Wiley & Sons, Inc.
2002. Silberschatz, Galvin, Gagne

Khoa KTMT

43

You might also like