63
01/2015 Duy Phan Chương 4: Định thời CPU - 1

Slide Bài Giảng Hệ Diều Hành Chương 4 - UIT

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