Upload
lam-thanh-tai
View
67
Download
15
Embed Size (px)
Citation preview
01/2015 Duy Phan
Chng 4: nh thi CPU - 1
2 nh thi CPU Duy Phan
Mc tiu
Bit c cc khi nim c bn v nh thi
Bit c cc tiu chun nh thi CPU
Hiu c cc gii thut nh thi
Vn dng cc gii thut nh thi lm bi tp v
m phng
3 nh thi CPU Duy Phan
Ni dung
Cc khi nim c bn v nh thi
Cc b nh thi
Cc tiu chun nh thi CPU
Cc gii thut nh thi
First-Come, First-Served (FCFS)
Shortest Job First (SJF)
Shortest Remaining Time First (SRTF)
Round-Robin (RR)
Priority Scheduling
4 nh thi CPU Duy Phan
Khi nim c bn
Trong cc h thng multitasking
Thc thi nhiu chng trnh ng thi lm tng hiu sut h thng
Ti mi thi im, ch c mt process c thc thi
= > cn phi gii quyt vn phn chia, la chn process thc thi sao cho c hiu qu nht
-> chin lc nh thi CPU
nh thi CPU
Chn mt process (t ready queue) thc thi
Vi mt multithreaded kernel, vic nh thi CPU l do OS chn kernel thread c chim CPU
5 nh thi CPU Duy Phan
Cc b nh thi
ready
running
suspended
ready
suspended
blocked
new
terminated blocked
Long-term
scheduling
Long-term
scheduling
Medium-term
scheduling
Medium-term
scheduling
Short-term
scheduling
6 nh thi CPU Duy Phan
Cc b nh thi (tt)
Long-term scheduling
Xc nh chng trnh no c chp nhn np vo h thng thc thi
iu khin mc multiprogramming ca h thng
Long term scheduler thng c gng duy tr xen ln CPU-bound v I/O-bound process
Medium-term scheduling
Process no c a vo (swap in), a ra khi (swap out) b nh chnh
c thc hin bi phn qun l b nh v c tho lun phn qun l b nh
7 nh thi CPU Duy Phan
Cc b nh thi (tt)
Short-term scheduling
Xc nh process no trong ready queue s c chim CPU thc thi k tip (cn c gi l nh thi CPU, CPU scheduling)
Short term scheduler cn c gi vi tn khc l dispatcher
B nh thi short-term c gi mi khi c mt trong cc s kin/interrupt sau xy ra:
Ngt thi gian (clock interrupt)
Ngt ngoi vi (I/O interrupt)
Li gi h thng (operating system call)
Signal
8 nh thi CPU Duy Phan
Dispatcher
Dispatcher s chuyn quyn iu khin CPU v cho process c chn bi b nh thi ngn hn
Bao gm:
Chuyn ng cnh (s dng thng tin ng cnh trong PCB)
Chuyn ch ngi dng
Nhy n v tr thch hp trong chng trnh ng dng khi ng li chng trnh (chnh l program counter trong PCB)
Cng vic ny gy ra ph tn
Dispatch latency: thi gian m dispatcher dng mt process v khi ng mt process khc
9 nh thi CPU Duy Phan
Cc tiu chun nh thi CPU
Hng ngi dng (User-oriented)
Thi gian p ng (Response time): khong thi gian process nhn yu cu n khi yu cu u tin c p ng (time-sharing, interactive system) cc tiu
Thi gian quay vng (hon thnh) (Turnaround time): khong thi gian t lc mt process c np vo h thng n khi process kt thc cc tiu
Thi gian ch (Waiting time): tng thi gian mt process i trong ready queue cc tiu
10 nh thi CPU Duy Phan
Cc tiu chun nh thi CPU (tt)
Hng h thng (System-oriented)
S dng CPU (processor utilization): nh thi sao cho CPU cng bn cng tt cc i
Cng bng (fairness): tt c process phi c i x nh nhau
Thng lng (throughput): s process hon tt cng vic trong mt n v thi gian cc i
11 nh thi CPU Duy Phan
Hai yu t ca gii thut nh thi
Hm chn la (selection function): dng chn process
no trong ready queue c thc thi (thng da trn
u tin, yu cu v ti nguyn, c im thc thi ca
process,)
V d:
w = tng thi gian i trong h thng
e = thi gian c phc v
s = tng thi gian thc thi ca process (bao gm c e)
12 nh thi CPU Duy Phan
Hai yu t ca gii thut nh thi (tt)
Ch quyt nh (decision mode): chn thi im thc hin hm chn la nh thi
C hai ch :
Khng trng dng (Non-preemptive)
Khi trng thi running, process s thc thi cho n khi kt thc hoc b blocked do yu cu I/O
Trng dng (Preemptive)
Process ang thc thi (trng thi running) c th b ngt na chng v chuyn v trng thi ready
Chi ph cao hn non-preemptive nhng nh i li bng thi gian p ng tt hn v khng c trng hp mt process c chim CPU qu lu
13 nh thi CPU Duy Phan
Preemptive v Non-preemptive
Hm nh thi c thc hin khi
(1)Chuy n t tra ng tha i running sang waiting
(2) Chuy n t tra ng tha i running sang ready
(3) Chuy n t tra ng tha i waiting, new sang ready
(4) K t thu c thc thi
(1) v (4) khng cn la chn loi nh thi biu, (2) v (3) cn
Trng hp 1, 4 c go i la i nh thi nonpreemptive
Trng hp 2, 3 c go i la i nh thi preemptive
Thc hin theo c ch no kh hn? Ti sao?
14 nh thi CPU Duy Phan
Cc gii thut nh thi
First-Come, First-Served (FCFS)
Shortest Job First (SJF)
Shortest Remaining Time First (SRTF)
Round-Robin (RR)
Priority Scheduling
Highest Response Ratio Next (HRRN)
Multilevel Queue
Multilevel Feedback Queue
15 nh thi CPU Duy Phan
Kho st gii thut nh thi
Service time = thi gian process cn CPU trong mt chu k CPU-I/O
Process c service time ln l cc CPU-bound process
Process Arrival
Time
Service
Time
1 0 3
2 2 6
3 4 4
4 6 5
5 8 2
load store
add store
read from file
wait for I/O
inc store
write to file
load store
add store
read from file
wait for I/O
wait for I/O
I/O burst
CPU burst
CPU burst
CPU burst
I/O burst
I/O burst
mt chu k CPU-I/O
16 nh thi CPU Duy Phan
First-Come, First-Served (FCFS)
Hm la chn:
Tin trnh no yu cu CPU trc s c cp pht CPU trc
Process s thc thi n khi kt thc hoc b blocked do I/O
Ch quyt nh: non-preemptive algorithm
Hin thc: s dng hng i FIFO (FIFO queues)
Tin trnh i vo c thm vo cui hng i
Tin trnh c la chn x l c ly t u ca queues
0 5 10 15 20
P1
P2
P3 P4 P5
add run
17 nh thi CPU Duy Phan
First-Come, First-Served (FCFS) (tt)
Gi s th t vo ca cc tin trnh l
P1, P2, P3
Thi gian ch
P1 = 0
P2 = 24
P3 = 27
Thi gian ch trung bnh?
(0+24+27)/3 = 17
V d :
Process Burst Time
P1 24
P2 3
P3 3
0 24 27 30
P1 P2 P3
Gantt Chart for Schedule
18 nh thi CPU Duy Phan
First-Come, First-Served (FCFS) (tt)
Gi s th t vo ca cc tin trnh l
P2, P3, P1
Thi gian ch
P1 = 6
P2 = 0
P3 = 3
Thi gian ch trung bnh?
(6+0+3)/3 = 3
=> tt hn
V d :
Process Burst Time
P1 24
P2 3
P3 3
0 3 6 30
P2 P3 P1
Gantt Chart for Schedule
19 nh thi CPU Duy Phan
Shortest-Job-First (SJF)
nh thi biu cng vic ngn nht trc
Khi CPU c t do, n s cp pht cho tin trnh yu
cu t thi gian nht kt thc ( tin trnh ngn nht)
Lin quan n chiu di thi gian s dng CPU cho
ln tip theo ca mi tin trnh
S dng nhng chiu di ny lp lch cho tin trnh
vi thi gian ngn nht
20 nh thi CPU Duy Phan
Shortest-Job-First (SJF) (tt)
Scheme 1: Non-preemptive
Khi CPU c trao cho qu trnh n khng nhng cho n khi n kt thc chu k x l ca n
Scheme 2: Preemptive
Nu mt tin trnh mi c a vo danh sch vi chiu di s dng CPU cho ln tip theo nh hn thi gian cn li ca tin trnh ang x l, n s dng hot ng tin trnh hin hnh Shortest-Remaining-Time-First (SRTF)
SJF l ti u cho thi gian ch i trung bnh ti thiu vi mt tp tin trnh cho trc
21 nh thi CPU Duy Phan
Non-Preemptive SJF
V d:
Process Arrival TimeBurst Time
P1 0 7
P2 2 4
P3 4 1
P4 5 4
0 8 16
P1 P2 P3
Gantt Chart for Schedule
P4
12 7
Average waiting time =
(0+6+3+7)/4 = 4
22 nh thi CPU Duy Phan
Preemptive SJF (SRTF)
V d 1:
Process Arrival TimeBurst Time
P1 0 7
P2 2 4
P3 4 1
P4 5 4
0 7 16
P1 P2 P3
Gantt Chart for Schedule
P4
11 5
Average waiting time =
(9+1+0+2)/4 = 3
P2 P1
2 4
Process Arrival TimeBurst Time
P1 0 8
P2 1 4
P3 2 9
P4 3 5
V d 2:
23 nh thi CPU Duy Phan
Nhn xt v gii thut SJF
C th xy ra tnh trng i (starvation) i vi cc process c CPU-burst ln khi c nhiu process vi CPU-burst nh n h thng.
C ch non-preemptive khng ph hp cho h thng time sharing (interactive)
Gii thut SJF ngm nh ra u tin theo burst time
Cc CPU-bound process c u tin thp hn so vi I/O-bound process, nhng khi mt process khng thc hin I/O c thc thi th n c chim CPU cho n khi kt thc
24 nh thi CPU Duy Phan
Nhn xt v gii thut SJF (tt)
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 php cho vn ny?
25 nh thi CPU Duy Phan
Nhn xt v gii thut SJF (tt)
(Thi gian s dng CPU chnh l di ca CPU burst)
Trung bnh tt c cc CPU burst o c trong qu kh
Nhng thng thng nhng CPU burst cng mi cng phn nh ng hnh vi ca process trong tng lai
Mt k thut thng dng l s dng trung bnh hm 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 on n c xem quan trng nh nhau.
26 nh thi CPU Duy Phan
D on thi gian s dng CPU
di CPU burst o c
di CPU burst d on, vi a = v 0 = 10
27 nh thi CPU Duy Phan
Priority Scheduling
Mi process s c gn mt u tin
CPU s c cp cho process c u tin cao
nht
nh thi s dng u tin c th:
Preemptive hoc
Nonpreemptive
28 nh thi CPU Duy Phan
Priority Scheduling (tt)
SJF l mt gii thut nh thi s dng u tin vi u tin l thi-gian-s-dng-CPU-d-on
Gn u tin cn da vo:
Yu cu v b nh
S lng file c m
T l thi gian dng cho I/O trn thi gian s dng CPU
Cc yu cu bn ngoi v d nh: s tin ngi dng tr khi thc thi cng vic
29 nh thi CPU Duy Phan
Priority Scheduling (tt)
Vn : tr hon v hn nh process c u tin thp c th khng bao gi c thc thi
Gii php: lm mi (aging) u tin ca process s tng theo thi gian
30 nh thi CPU Duy Phan
Cu hi n tp
C bao nhiu b nh thi? K tn?
Nu cc tiu ch nh thi?
Nu u im v nhc im ca cc gii thut
nh thi FCFS, SJF, SRTF, Priority?
31 nh thi CPU Duy Phan
Bi tp
S dng cc gii thut FCFS, SJF, SRTF, Priority tnh cc gi tr thi gian i, thi gian p ng v thi gian hon thnh trung bnh
32 nh thi CPU Duy Phan
Bi tp (tt)
S dng cc gii thut FCFS, SJF, SRTF, Priority tnh cc gi tr thi gian i, thi gian p ng v thi gian hon thnh trung bnh
01/2015 Duy Phan
Kt thc chng 4-1
01/2015 Duy Phan
Chng 4: nh thi CPU - 2
2 nh thi CPU Duy Phan
Mc tiu
Bit c cc khi nim c bn v nh thi
Bit c cc tiu chun nh thi CPU
Hiu c cc gii thut nh thi
Vn dng cc gii thut nh thi lm bi tp v
m phng
3 nh thi CPU Duy Phan
n tp chng 4 - 1
Cc khi nim c bn v nh thi
Cc b nh thi
Cc tiu chun nh thi CPU
Cc gii thut nh thi
First-Come, First-Served (FCFS)
Shortest Job First (SJF)
Shortest Remaining Time First (SRTF)
Priority Scheduling
4 nh thi CPU Duy Phan
Bi tp chng 4 - 1
S dng cc gii thut FCFS, SJF, SRTF, Priority tnh cc gi tr thi gian i, thi gian p ng v thi gian hon thnh trung bnh
5 nh thi CPU Duy Phan
Ni dung
Cc khi nim c bn v nh thi
Cc b nh thi
Cc tiu chun nh thi CPU
Cc gii thut nh thi First-Come, First-Served (FCFS)
Shortest Job First (SJF)
Shortest Remaining Time First (SRTF)
Priority Scheduling
Round-Robin (RR)
Highest Response Ratio Next (HRRN)
Multilevel Queue
Multilevel Feedback Queue
6 nh thi CPU Duy Phan
Round Robin (RR)
Mi process nhn c mt n v nh thi gian CPU (time slice,
quantum time), thng thng t 10-100 msec thc thi
Sau khong thi gian , process b ot quyn v tr v cui
hng i ready
Nu c n process trong hng i ready v quantum time = q th
khng c process no phi ch i qu (n -1)q n v thi gian
7 nh thi CPU Duy Phan
Round Robin (RR) (tt)
Hiu sut:
Nu q ln: RR => FCFS
Nu q nh: q khng c qu nh bi v phi tn
chi ph chuyn ng cnh
Thi gian ch i trung bnh ca gii thut RR
thng kh ln nhng thi gian p ng nh
8 nh thi CPU Duy Phan
Round Robin (RR) (tt)
V d: Quantum time = 20
Process Burst Time
P1 53
P2 17
P3 68
P4 24
0
P1 P4 P3
Gantt Chart for Schedule
P1 P2
20
P3 P3 P3 P4 P1
37 57 77 97 117 121 134 154 162
turn-around time trung bnh ln hn SJF, nhng p ng tt hn
9 nh thi CPU Duy Phan
Round Robin (RR) (tt)
Quantum time = 1:
Thi gian turn-around trung bnh cao hn so vi SJF nhng c thi
gian p ng trung bnh tt hn
u tin CPU-bound process
I/O-bound
CPU-bound
10 nh thi CPU Duy Phan
Round Robin (RR) (tt)
Quantum time v context switch:
Process time = 10
quantum context
switch
1 2 3 4 5 6 7 8 9 10
10 6
10
12
6
1
0
1
9
11 nh thi CPU Duy Phan
Round Robin (RR) (tt)
Thi gian hon thnh trung bnh (average turnaround time)
khng chc s c ci thin khi quantum ln
12 nh thi CPU Duy Phan
Round Robin (RR) (tt)
Quantum time v response time
13 nh thi CPU Duy Phan
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, np 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 p 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 p ng ln
Nu time slice qu ln, RR tr thnh FCFS
14 nh thi CPU Duy Phan
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 loi
interactive th s thy p ng rt chm
Ty thuc vo tp cng vic m la chn quantum time
Time slice nn ln trong tng quan so snh vi thi
gian cho process switch
V d vi 4.3 BSD UNIX, time slice l 1 giy
15 nh thi CPU Duy Phan
Quantum time cho Round Robin (tt)
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 cc process
u c tm quan trng ngang nhau
Khng th s dng RR nu mun cc process khc nhau
c u tin khc nhau
16 nh thi CPU Duy Phan
Nhc im ca Round Robin
Cc process dng 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.
Mt CPU-bound process chy ht time slice
v li quay tr v hng i ready queue (
pha trc cc process b blocked)
17 nh thi CPU Duy Phan
Highest Response Ratio Next
Chn process k tip c gi tr RR (Response ratio) ln nht
Cc process ngn c u tin hn (v service time nh)
timeservice expected
timeservice expected ingspent wait time RR
18 nh thi CPU Duy Phan
Multilevel Queue Scheduling
Hng i ready c chia thnh nhiu hng
i ring bit theo mt s tiu chun nh
c im v yu cu nh thi ca process
Foreground (interactive) v background process,
Process c gn c nh vo mt hng i,
mi hng i s dng gii thut nh thi
ring
19 nh thi CPU Duy Phan
Multilevel Queue Scheduling (tt)
H iu hnh cn phi nh thi cho cc hng
i.
Fixed priority scheduling: phc v t hng i c u tin
cao n thp. Vn : c th c starvation.
Time slice: mi hng i c nhn mt khong thi gian
chim CPU v phn phi cho cc process trong hng i
khong thi gian . V d: 80% cho hng i foreground
nh thi bng RR v 20% cho hng i background nh thi
bng gii thut FCFS
20 nh thi CPU Duy Phan
Multilevel Queue Scheduling (tt)
V d phn nhm cc qu trnh
System Processes
Interactive Processes
Batch Processes
Student Processes
u tin thp nht
u tin cao nht
21 nh thi CPU Duy Phan
Multilevel Feedback Queue
Vn ca multilevel queue
process khng th chuyn t hng i ny sang hng i khc
khc phc bng c ch feedback: cho php process di chuyn mt cch thch hp gia cc hng i khc nhau
22 nh thi CPU Duy Phan
Multilevel Feedback Queue (tt)
Multilevel Feedback Queue
Phn loi processes da trn cc c tnh v CPU-burst
S dng decision mode preemptive
Sau mt khong thi gian no , cc I/O-bound process v interactive process s cc hng i c u tin cao hn cn CPU-bound process s cc queue c u tin thp hn
Mt process ch qu lu mt hng i c u tin thp c th c chuyn n hng i c u tin cao hn (c ch nin hn, aging)
23 nh thi CPU Duy Phan
Multilevel Feedback Queue (tt)
V d: C 3 hng i
Q0 , dng RR vi quantum 8 ms
Q1 , dng RR vi quantum 16 ms
Q2 , dng FCFS
24 nh thi CPU Duy Phan
Multilevel Feedback Queue (tt)
nh thi dng multilevel feedback queue i hi phi
gii quyt cc vn sau
S lng hng i bao nhiu l thch hp?
Dng gii thut nh thi no mi hng i?
Lm sao xc nh thi im cn chuyn mt
process n hng i cao hn hoc thp hn?
Khi process yu cu c x l th a vo hng
i no l hp l nht?
25 nh thi CPU Duy Phan
So snh cc gii thut
Gii thut nh thi no l tt nht?
Cu tr li ph thuc cc yu t sau:
Tn xut ti vic (System workload)
S h tr ca phn cng i vi dispatcher
S tng quan v trng s ca cc tiu chun nh
thi nh response time, hiu sut CPU,
throughput,
Phng php nh lng so snh
26 nh thi CPU Duy Phan
c thm
Policy v Mechanism
nh thi trn h thng multiprocessor
nh gi gii thut nh thi CPU
nh thi trong mt s h iu hnh thng dng
(c trong ti liu tham kho sch gc ting Anh)
27 nh thi CPU Duy Phan
Tng kt
Cc khi nim c bn v nh thi
Cc b nh thi
Cc tiu chun nh thi CPU
Hai yu t ca gii thut nh thi
28 nh thi CPU Duy Phan
Tng kt (tt)
Cc gii thut nh thi
First-Come, First-Served (FCFS)
Shortest Job First (SJF)
Shortest Remaining Time First (SRTF)
Round-Robin (RR)
Priority Scheduling
Highest Response Ratio Next (HRRN)
Multilevel Queue
Multilevel Feedback Queue
29 nh thi CPU Duy Phan
Bi tp
01/2015 Duy Phan
Kt thc chng 4
ch4-1.pdfch4-2.pdf