CPU Scheduling

Embed Size (px)

DESCRIPTION

CPU Scheduling slide

Citation preview

  • nh thi CPU 1

    Mc tiu

    n SV s gii thch c

    l Ti sao cn phi nh thi

    l Cc tiu ch nh thi

    l Mt s gii thut nh thi

  • nh thi CPU 2

    Vn cn gii quyt

    n V d: ti a li CPU trong h thng multiprogramming / multitasking

    l Trong b nh c nhiu process ng thi

    l Khi mt process phi i (vd i hon tt yu cu I/O), h iu hnh cp pht CPU cho mt qu trnh khc thay v CPU chy khng (idle)

    n Vn : la chon process thc thi sao cho c hiu qu nht --- ti u i vi mt tiu ch cho trc. Cn c chin lc nh thi CPU

  • nh thi CPU 3

    Phn loi qu trnh

    n Qu trnh thc thi qua nhiu chu k thc thi CPU v i I/O

    l CPU burst

    l I/O burst

    n CPU-bound process c thi gian s dng CPU nhiu hn thi gian s dng I/O

    n I/O-bound process dng phn ln thi gian i I/O

  • nh thi CPU 4

    n CPU-bound process: CPU burst di

    n I/O-bound process: CPU burst ngn

    Nhn ma trn

    emacs emacs

  • nh thi CPU 5

    Cc trng thi ca qu trnh nhc li

    n S chuyn trng thi ca qu trnh s 5 trng thi

    ready running

    dispatch

    interrupt

    I/O or event

    completion

    I/O or event

    wait

    new terminated

    waiting

    admit exit

  • nh thi CPU 6

    M rng cc trng thi ca qu trnh

    n Lm th no iu chnh s lng qu trnh ang trong b nh chnh?

    l Swap out / swap in qu trnh (cn phn bit vi paging!) -- C ch

    Swap out: em qu trnh t b nh chnh ra a

    Swap in: em qu trnh t a vo b nh chnh

    l Chon qu trnh no swap out / swap in -- Chnh sch

    l Hai trng thi mi cho qu trnh

    suspended ready

    suspended blocked

  • nh thi CPU 7

    M rng cc trng thi ca qu trnh

    ready

    running

    suspended

    ready

    suspended

    blocked

    new

    terminated blocked

  • nh thi CPU 8

    Phn loi cc hot ng nh thi (1/2)

    ready

    running

    suspended

    ready

    suspended

    blocked

    new

    terminated blocked

    Long-term

    scheduling

    Medium-term

    scheduling

    Medium-term

    scheduling

    Short-term

    scheduling

  • nh thi CPU 9

    Phn loi cc hot ng nh thi (2/2)

    n nh thi di hn (long-term scheduling): xc nh cc process mi (new) no c a vo hng i sn sng

    l Thng ch c trong batch system

    n nh thi trung hn (medium-term scheduling): xc nh process no c a ra khi (swap out) hay c a vo (swap in) b nh chnh

    l Swap out / in c th tn n vi giy thi gian chu k nh thi trung hn c th l vi pht

    n nh thi ngn hn (short-term scheduling): xc nh process no c thc thi tip theo

  • nh thi CPU 10

    nh thi di hn

    n nh hng n -a-lp-trnh (degree of multiprogramming: s lng qu trnh ang trong b nh)

    n Nu cng nhiu process ang trong b nh th kh nng moi process b block c xu hng gim

    l S dng CPU hiu qu hn

    l Nhng mi process c phn chia khong thi gian s dng CPU nh hn

    n Thng c xu hng a vo mt tp ln ln cc CPU-bound process v I/O-bound process

  • nh thi CPU 11

    nh thi trung hn

    n i khi h iu hnh (nh time-sharing system) c thm medium-term scheduling

    l Medium-term scheduler quyt nh vic a process (khng phi process trng thi new)

    t b nh chnh ra a (swap out) hay

    t a vo b nh chnh (swap in)

    memory

    memory

  • nh thi CPU 12

    nh thi trung hn

    n Ph thuc vo yu cu qun l vic a-lp-trnh (multiprogramming)

    l Cho php b nh thi di hn chp nhn (admit) nhiu process hn s lng process m c tng kch thc c cha va trong b nh chnh ( k thut b nh o)

    l Nhng nu c qu nhiu process th s lm tng vic truy xut a ( thrashing), do cn phi la chon -a-lp-trnh cho ph hp

    n c thc hin bi phn mm qun l b nh

  • nh thi CPU 13

    nh thi trung hn

    n Ty theo chin lc s dng b nh, medium-term scheduler c th quyt nh

    l swap out qu trnh chim khi lng ln b nh, hay c u tin thp

    l swap in qu trnh khi c b nh

  • nh thi CPU 14

    nh thi ngn hn

    n Xc nh process no c thc thi tip theo, cn goi l nh thi CPU

    n Ty h thng ( nh thi non-preemptive, preemptive) m c kch hot khi c mt s kin dn n kh nng chon mt process thc thi

    l Ngt thi gian (clock interrupt)

    l Ngt ngoi vi (I/O interrupt)

    l Li goi h thng (operating system call)

    l Signal

    Chng ny s tp trung vo nh thi ngn hn

  • nh thi CPU 15

    Ni dung cn quan tm

    n nh thi trn h thng c mt processor (uniprocessor scheduling): quyt nh vic s dng (mt) CPU cho mt tp cc process trong h thng

    n Tiu ch no?

  • nh thi CPU 16

    Tiu ch nh thi (1/4)

    n li CPU (CPU utilization)

    l Khong thi gian CPU bn tnh ton cho ng dng, t 0% n 100%

    n Thi gian ch (waiting time)

    l Thi gian mt process trong hng i ready

  • nh thi CPU 17

    Tiu ch nh thi (2/4)

    n Thng nng (throughput)

    l S lng process hon tt trong mt n v thi gian

    n Thi gian p ng (response time)

    l Thi gian t lc c yu cu ca ngi dng (user request) n khi c p ng u tin n ngi dng

    l Thng l vn vi cc I/O-bound process

  • nh thi CPU 18

    Tiu ch nh thi (3/4)

    n Thi gian quay vng (turnaround time)

    l Thi gian mt process hon tt, k t lc vo h thng (submission) n lc kt thc (termination)

    l L mt tr c trng cn quan tm i vi cc process thuc dng CPU-bound

    n Thi gian quay vng trung bnh (average turnaround time)

  • nh thi CPU 19

    Tiu ch nh thi (4/4)

    n li CPU

    l Ti a ha gi CPU cng bn tnh ton cho ng dng cng tt

    n Thng nng s lng process kt thc vic thc thi trong mt n v thi gian

    l Ti a ha

    n Turnaround time thi gian k t lc a vo (submission) n lc kt thc

    l Ti thiu ha

    n Thi gian ch thi gian mt process ch trong hng i ready

    l Ti thiu ha

    n Thi gian p ng thi gian t khi a yu cu n khi c p ng u tin

    l Ti thiu ha

  • nh thi CPU 20

    C th lm c?

    n Tt c cc tiu ch khng th c ti u ng thi v c mt s tiu ch lin quan nhau

  • nh thi CPU 21

    Tiu ch nh thi t cc gc nhn (1/2)

    n Hng n ngi s dng (user-oriented)

    l Thi gian quay vng

    Thi gian t lc submission n lc process kt thc

    Cn quan tm i vi cc h thng x l b (batch system)

    l Thi gian p ng

    Cn quan tm i vi cc h thng tng tc (interactive system)

  • nh thi CPU 22

    Tiu ch nh thi t cc gc nhn (2/2)

    n Hng n h thng (system-oriented)

    l li CPU

    l Cng bng (fairness)

    l Thng nng: s process hon tt trong mt n v thi gian

  • nh thi CPU 23

    Hai thnh phn ca chin lc nh thi (1/2)

    n Hm la chn (selection function)

    l Xc nh process no trong ready queue s c thc thi tip theo. Thng theo cc tiu ch nh

    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 tr e)

  • nh thi CPU 24

    Hai thnh phn ca chin lc nh thi (2/2)

    n Ch quyt nh (decision mode)

    Xc nh thi im hm la chon c thc thi. Hai ch quyt

    nh

    l Non-preemptive

    Mt process s trng thi running cho n khi n b block hoc n kt thc

    l Preemptive

    Process ang thc thi c th b ngt v chuyn v trng thi ready

    Trnh trng hp mt process c chim CPU

  • nh thi CPU 25

    Thi im thc thi hm la chon

    ready running

    (2)

    (3) (1)

    new terminated

    waiting

    (3) (4)

  • nh thi CPU 26

    Non-preemption v preemption (1/2)

    n Hm la chon c th c thc thi khi c qu trnh

    (1) chuyn t trng thi running sang waiting

    (2) chuyn t trng thi running sang ready

    (3) chuyn t trng thi waiting, new sang ready

    (4) kt thc thc thi

    n Chin lc nh thi non-preemptive: ch thc thi hm la chon trong trng hp 1 v 4 (qu trnh running nu b ngt s tip tc running sau )

    l MS Windows 3.x

    n Chin lc nh thi preemptive: ngoi trng hp 1 v 4 cn thc thi thm hm la chon trong trng hp 2 hoc 3 (hoc c hai)

    l Windows 95 (hay tr hn)

    C qu trnh tr nn ready

  • nh thi CPU 27

    Non-preemption v preemption (2/2)

    n Hin thc ch quyt nh no kh hn? Ti sao?

    n Preemptive scheduling: khng phi lc no preempt qu trnh cng c, cn ty thuc vo kernel

    l Non-preemptive kernel

    Li goi h thng ca qu trnh c thc thi n khi xong (tr v user space) hoc block

    from Isaac POS(0230A)

  • nh thi CPU 28

    Non-preemption v preemption (2/2)

    n (tt)

    l Preemptive kernel

    C th preempt qu trnh khi kernel ang thc thi mt li goi h thng ca n

    Vn : gi nht qun cc d liu trong kernel (v d cc hng i I/O)

    l Linux

    Non-preemptive kernel: Linux 2.4

    Preemptive kernel: Linux 2.6

  • nh thi CPU 29

    Dispatcher

    n Chc nng: chuyn quyn iu khin CPU sang process c chon bi b nh thi ngn hn

    n Cng vic bao gm:

    l Chuyn ng cnh (s dng thng tin ng cnh trong PCB)

    l Chuyn v user mode

    l Nhy n a ch thch hp (chnh l program counter trong PCB) trong vng code ca qu trnh c tip tc thc thi

    n Cng vic ny gy ra ph tn

    l Dispatch latency: thi gian t lc dng mt process n lc mt process khc tip tc chy

  • nh thi CPU 30

    First Come First Served (FCFS) (1/5)

    n Hm la chon: chon process trong hng i ready lu nht

    n Ch quyt nh: non-preemptive

    l Mt process s c thc thi cho n khi n block hoc kt thc

    n FCFS thng c hin thc bng mt FIFO queue

    head end

    Ready queue

  • nh thi CPU 31

    First Come First Served (2/5)

    Process Burst time (ms)

    P1 24

    P2 3

    P3 3 n Gi s cc process n theo th t P1 , P2 , P3 n Gin Gantt cho vic nh thi l:

    n Thi gian i cho P1 = 0, P2 = 24, P3 = 27

    l Thi gian i trung bnh: (0 + 24 + 27) / 3 = 17

    P1 P2 P3

    24 27 30 0

  • nh thi CPU 32

    First Come First Served (3/5)

    n Thi gian phc v trung bnh =

    n Thng nng =

    n Thi gian quay vng =

    P1 P2 P3

    24 27 30 0

  • nh thi CPU 33

    First Come First Served (4/5)

    n Gi s cc process n theo th t:

    P2 , P3 , P1

    n Gin Gantt cho vic nh thi l:

    n Thi gian i ca P1 = 6, P2 = 0, P3 = 3

    l Thi gian i trung bnh: (6 + 0 + 3) / 3 = 3

    Tt hn rt nhiu so vi trng hp trc

    P1 P3 P2

    6 3 30 0

  • nh thi CPU 34

    First Come First Served (5/5)

    Nhn xt

    n FCFS khng cng bng vi process c CPU burst ngn v qu trnh phi ch trong thi gian di (so vi thi gian m n cn phc v) th mi c s dng CPU. iu ny ng ngha vi vic FCFS u tin cc process thuc dng CPU bound.

    n Cu hi: Liu c xy ra trng hp tr hon v hn nh (starvation hay indefinite blocking) vi gii thut FCFS?

    n FCFS thng c s dng trong cc h thng b (batch system)

  • nh thi CPU 35

    V d thc t

    n Vic phc v khch trong nh hng

    l Thc khch s n v goi mn n cho mnh

    l Mi mn n cn thi gian chun b khc nhau

    n Mc tiu:

    l Gim thi gian i trung bnh ca cc thc khch

    n Cch lm no s ph hp?

    l Thng thng cc nh hng s phc v theo kiu FCFS (!)

  • nh thi CPU 36

    Shortest Job First (SJF) (1/3)

    n i vi mi process, cn bit di ca CPU burst

    n Hm la chon: chon process c di CPU burst nh nht

    n Ch quyt nh: non-preemptive

    n Chng minh c: SJF l ti u trong vic gim thi gian i trung bnh

    n Vn : Cn phi c lng CPU burst tip theo ca process

    l Gii php?

  • nh thi CPU 37

    Shortest Job First (2/3)

    Process Thi im n Burst time (ms)

    P1 0,0 7

    P2 2,0 4

    P3 4,0 1

    P4 5,0 4

    n Gin Gantt khi nh thi theo SJF

    n Thi gian i trung bnh = (0 + 6 + 3 + 7)/4 = 4

    P1 P3 P2

    7 3 16 0

    P4

    8 12

  • nh thi CPU 38

    Shortest Job First (3/3)

    n Thi gian phc v trung bnh =

    n Thng nng =

    n Thi gian quay vng =

    P1 P3 P2

    7 3 16 0

    P4

    8 12

  • nh thi CPU 39

    D on thi gian s dng CPU (1/2)

    Phng php: Ly trung bnh c trong s cc CPU burst o c trong qu kh

    n Gi thit: nhng CPU burst cng mi cng phn nh gn hnh vi ca process trong tng lai

    n Phng php trung bnh hm m (exponential averaging)

    l n+1 = atn + (1 a)n , 0 a 1

    t l tr o c, l tr d on

    l Suy ra:

    n+1 = atn + (1 a)atn1 ++ (1 a)jatnj ++ (1 a)

    n+1a0

    l V d: Nu chon a = th c ngha l tr o c tn v tr d on n c xem quan trong nh nhau

  • nh thi CPU 40

    D on thi gian s dng CPU (2/2)

    di CPU burst o c

    di CPU burst d on,

    vi a = v 0 = 10

  • nh thi CPU 41

    Shortest Job First

    Nhn xt

    n SJF s dng u tin ngm nh: cng vic ngn nht c u tin trc

    l Nhng cng vic thuc loi I/O bound thng c CPU burst ngn

    n Process c thi gian thc thi di c th b tr hon v hn nh nu cc process c thi gian thc thi ngn lin tc vo

    n Khng thch hp cho mi trng tng tc

    l Cc CPU bound process c u tin thp, nhng c th chim CPU lu mt khi n c la chon thc thi

  • nh thi CPU 42

    Shortest Remaining Time First (SRTF) (1/4)

    n Ch quyt nh ca SJF: non-preemptive

    n Phin bn preemptive ca SJF:

    l Nu mt process mi n m c di CPU burst nh hn thi gian cn CPU cn li ca process ang thc thi, th preempt process ang thc thi

    l Cch lm ny cn c goi l Shortest-Remaining-Time-First (SRTF)

  • nh thi CPU 43

    Shortest Remaining Time First (2/4)

    (V d ging vd cho SJF)

    Process Thi im n Burst time (ms)

    P1 0,0 7

    P2 2,0 4

    P3 4,0 1

    P4 5,0 4

    n Gin Gantt khi nh thi theo SRTF

    n Thi gian i trung bnh = (9 + 1 + 0 + 2) / 4 = 3

    l Tt hn gii thut SJF (4)

    P1 P3 P2

    4 2 11 0

    P4

    5 7

    P2 P1

    16

  • nh thi CPU 44

    Shortest Remaining Time First (3/4)

    n Thi gian phc v trung bnh =

    n Thng nng =

    n Thi gian quay vng =

    P1 P3 P2

    4 2 11 0

    P4

    5 7

    P2 P1

    16

  • nh thi CPU 45

    Shortest Remaining Time First (4/4)

    Nhn xt

    n Trnh trng hp process c thi gian thc thi di c chim CPU

    n Cn phi qun l thi gian thc thi cn li ca cc process

    n C thi gian quay vng tt hn SJF

    n Process c thi gian thc thi ngn c u tin cao

    n C th dn n starvation

  • nh thi CPU 46

    Priority Scheduling

    n Mi process c gn mt u tin

    n CPU s c cp cho process c u tin cao nht

    n Ch quyt nh:

    l Preemptive

    l Non-preemptive

  • nh thi CPU 47

    Gn u tin

    n SJF: u tin l thi-gian-s-dng-CPU-d-on

    n Gn u tin cn c th da vo:

    l Yu cu v b nh

    l S lng file c m

    l T l thi gian dng cho I/O trn thi gian s dng CPU

    l Cc yu cu bn ngoi nh: s tin ngi dng tr khi thc thi cng vic

  • nh thi CPU 48

    Priority Scheduling

    n Vn : tr hon v hn nh process c u tin thp c th khng bao gi c thc thi

    n Gii php: aging u tin ca process c tng theo thi gian

  • nh thi CPU 49

    Round Robin (RR) (1/4)

    n Hm la chon: ging FCFS

    2 1

    3

    4

    5 6

    7

    8

  • nh thi CPU 50

    Round Robin (2/4)

    n Ch quyt nh: preemptive

    l Khong thi gian ti a cho php (quantum time, thng 10 - 100 ms) c m bo bng vic s dng timer interrupt

    l Process ang chy, khi ht thi gian (quantum time) s c chuyn v cui ca hng i ready

  • nh thi CPU 51

    Round Robin (3/4)

    Process Burst time (ms)

    P1 53

    P2 17

    P3 68

    P4 24

    n Quantum time = 20 ms

    n Gin Gantt:

    n Thng c thi gian quay vng cao hn SJF, nhng li c thi gian p ng tt hn

    P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

    0 20 37 57 77 97 117 121 134 154 162

  • nh thi CPU 52

    Round Robin (4/4)

    n Thi gian phc v trung bnh =

    n Thng nng =

    n Thi gian quay vng =

    P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

    0 20 37 57 77 97 117 121 134 154 162

  • nh thi CPU 53

    Quantum time v chuyn ng cnh

    n Quantum time cng nh th cng c nhiu ln chuyn ng cnh (context switch) trong khi thc thi

    S ln ngng/tip

    tc qu trnh

  • nh thi CPU 54

    Quantum time v thi gian quay vng

    n Thi gian quay vng trung bnh khng chc s c ci thin khi quantum ln

  • nh thi CPU 55

    Quantum time cho Round Robin

    Nhn xt

    n Khi thc hin process switch th OS s s dng CPU ch khng phi process ca ngi dng (OS overhead, ph tn):

    l Dng thc thi process, lu tt c thng tin, np thng tin ca process sp thc thi

    n Performance ty thuc vo kch thc ca quantum time (cn goi l time slice), v hm ph thuc ny khng n gin

    l Time slice ngn th p ng nhanh

    Vn : c nhiu chuyn ng cnh. Ph tn s cao

    l Time slice di hn th throughput tt hn (do gim OS overhead) nhng thi gian p ng ln

    l Nu time slice qu ln, RR tr thnh FCFS

  • nh thi CPU 56

    Quantum time cho Round Robin

    n Quantum time v thi gian cho process switch: v d thi gian cho process switch = 5 ms

    l Nu quantum time = 20 ms, th ph tn (OS overhead) chim 5 / (20 + 5) = 20%

    l Nu quantum = 500 ms, th ph tn ch cn 1%

    Nhng nu c nhiu ng dng interactive th s thy p ng rt chm

    n Ty thuc vo tp cng vic m la chon quantum time

    n Quantum time nn ln trong tng quan so snh vi thi gian cho process switch

    l V d vi 4.3 BSD UNIX, quantum time l 1 s

  • nh thi CPU 57

    Round Robin

    n Nu c n process trong hng i ready, v quantum time l q, nh vy mi process s c cp pht thi gian CPU theo tng khi c kch thc ln nht l q

    l S khng c process no ch lu hn (n 1) q n v thi gian

    n RR s dng mt gi thit ngm l tt c cc process u c tm quan trong ngang nhau

    l Khng s dng RR nu mun cc process khc nhau c u tin khc nhau

    head end

    Ti a n 1 PCBs

    Ready queue

  • nh thi CPU 58

    Round Robin: nhc im

    n Cc process dng CPU-bound vn cn c u tin

    l V d:

    Mt I/O-bound process s dng CPU trong thi gian ngn hn quantum time v block i I/O. V

    Mt CPU-bound process chy ht time slice v lin tc quay tr v hng i ready, thng trc cc I/O bound process ang block.

  • nh thi CPU 59

    Multilevel Queue Scheduling (1/3)

    c p dng trong trng hp cc qu trnh c th c phn thnh

    nhm, v d: interactive v batch

    n Hng i ready s c chia thnh nhiu hng i ring r

    l V d: foreground (cho cng vic cn tng tc) v background (cho cng vic dng b)

    l Khng di chuyn qu trnh sang hng i ready khc

    n Mi hng i ready s c gii thut nh thi ring. V d:

    l foreground: dng RR

    l background: dng FCFS

  • nh thi CPU 60

    Multilevel Queue Scheduling (2/3)

    n nh thi trong Multilevel Queue Scheduling cn cn phi thc hin gia cc hng i vi nhau

    l Theo cch c nh (fixed priority scheduling) v d: phc v tt c cc process ca foreground ri mi n background

    Process hng i cao preempt process hng i thp

    C kh nng xy ra tr hon v hn nh (starvation) i vi process trong hng i c u tin thp

    l Chia thi gian (time slice) mi hng i s c ly mt khong s dng CPU nht nh nh thi cho cc process ca mnh. V d:

    80% cho foreground (dng RR)

    20% cho background (dng FCFS)

  • nh thi CPU 61

    Multilevel Queue Scheduling (3/3)

    n V d phn nhm cc qu trnh

    System processes

    Interactive processes

    Batch processes

    Student processes

    u tin thp nht

    u tin cao nht

  • nh thi CPU 62

    Multilevel Feedback Queue (1/3)

    n Trong h thng s dng Multilevel Feedback Queue, b nh thi c th di chuyn process gia cc ready queue ty theo c tnh ca n c quan st.

    V d:

    l Nu mt process s dng CPU qu lu, n s b di chuyn sang mt hng i c u tin thp hn

    l Nu mt process ch qu lu trong mt hng i c u tin thp, n s c di chuyn ln hng i c u tin cao hn (aging, gip trnh starvation)

    n V d: Windows NT/XP/Vista

  • nh thi CPU 63

    Multilevel Feedback Queue (2/3)

    n V d: C 3 hng i

    l Q0 , dng RR vi q = 8 ms

    l Q1 , dng RR vi q = 16 ms

    l Q2 , dng FCFS

    n Gii thut

    l Process mi s vo hng i Q0 . Khi n lt, process s c mt quantum l 8 ms. Nu khng tr CPU trong vng 8 ms, process s c a xung cui hng i Q1

    l Ti Q1 , process s c cho mt quantum l 16 ms. Nu n khng tr CPU trc khi ht quantum th s b chuyn xung Q2

    l Cng vic hng i cao preempt cng vic hng i thp

  • nh thi CPU 64

    Multilevel Feedback Queue (3/3)

    n Multilevel Feedback Queue c xc nh bi cc thng s

    l C bao nhiu hng i?

    l Vi mi queue s dng gii thut nh thi no?

    l Khi no thng cp mt process?

    l Khi no ging cp mt process?

  • nh thi CPU 65

    Chnh sch v c ch (1/2)

    Mt nguyn l thit k h iu hnh: Tch bit chnh sch (policy) v c ch (mechanism)

    n Chnh sch

    l Lc ra quyt nh cn phi lm g (v d ti u mt tiu ch no )

    n C ch

    l Cng c hin thc cc chnh sch

  • nh thi CPU 66

    Chnh sch v c ch (2/2)

    n nh thi qu trnh

    l Chnh sch

    Khi no th nh thi qu trnh?

    Qu trnh no c chy?

    l C ch

    Lm th no chuyn ng cnh? Dispatcher

    n V d:

    l Chnh sch: FCFS

    l C ch: dispatcher

    n u im: v d

    l Thay i loi ti cng vic (workload) th ch cn thay i chnh sch

    l Thay i HW platform th ch cn thay i dispatcher

  • nh thi CPU 67

    Tng kt

    n S thc thi ca mt process

    n B nh thi chon mt process t hng i ready

    l Dispatcher thc hin switching

    n Cc tiu ch nh thi (thng xung t nhau)

    l li CPU, thi gian ch, thi gian p ng, thng nng,

    n Cc gii thut nh thi

    l FCFS, SJF, Priority, RR, Multilevel Feedback Queue

  • nh thi CPU 68

    Bi tp 1

    Process Burst Time

    P1 10

    P2 29

    P3 3

    P4 7

    P5 12

    n Tt c u n thi im 0

    n Xt cc gii thut FCFS, SJF, v RR vi quantum time = 10

    n Gii thut no cho

    l thi gian i trung bnh nh nht?

    l thng nng cao nht?

    l thi gian quay vng trung bnh ca process nh nht?

  • nh thi CPU 69

    Bi tp 2

    n FCFS: thi gian i trung bnh l 28 ms, hy tnh cc thng s khc

  • nh thi CPU 70

    Bi tp 3

    n SJF (non-preemptive): thi gian i trung bnh l 13 ms, hy tnh cc thng s khc

  • nh thi CPU 71

    Bi tp 4

    n RR: thi gian i trung bnh l 23 ms, hy tnh cc thng s khc

  • nh thi CPU 72

    Bi tp 5

  • Bi tp 5

    nh thi CPU 73

    Process Burst Time Arrival time

    P1 10 0

    P2 29 2

    P3 3 5

    P4 7 2

    P5 12 6

    Xt cc gii thut FCFS, SJF, SRTF, v RR vi quantum time = 10

    Gii thut no cho

    thi gian i trung bnh nh nht?

    thng nng cao nht?

    thi gian quay vng trung bnh ca process nh nht?