- PowerPoint PPT Presentation

About This Presentation
Title:

Description:

NH TH I CPU M c ti u* Hi u c T i sao c n ph i nh th i C c ti u ch nh th i M t s gi i thu t nh th i (Ghi ... – PowerPoint PPT presentation

Number of Views:9
Avg rating:3.0/5.0
Slides: 75
Provided by: Viet2
Category:
Tags:

less

Transcript and Presenter's Notes

Title:


1
Ð?NH TH?I CPU
2
M?c tiêu
  • Hi?u du?c
  • T?i sao c?n ph?i d?nh th?i
  • Các tiêu chí d?nh th?i
  • M?t s? gi?i thu?t d?nh th?i
  • (Ghi chú nh?ng slide có d?u ? tiêu d? là
    nh?ng slide quan tr?ng, nh?ng slide khác dùng d?
    di?n gi?i thêm)

3
M?t s? khái ni?m co b?n
  • Chu k? CPU-I/O
  • CPU-bound process có th?i gian s? d?ng CPU nhi?u
    hon th?i gian s? d?ng I/O
  • Ph?n l?n th?i gian c?a I/O-bound process dùng d?
    d?i I/O

4
M?t s? khái ni?m co b?n
  • Trong các h? th?ng multitasking
  • T?i m?t th?i di?m trong b? nh? có nhi?u process
  • T?i m?i th?i di?m ch? có m?t process du?c th?c
    thi
  • Do dó, cân pha?i gia?i quyêt vân dê phân
    chia, lu?a cho?n process thu?c thi sao cho duo?c
    hiê?u qua? nhât. C?n có chiên luo?c di?nh thoi
    CPU

5
Phân lo?i các ho?t d?ng d?nh th?i
6
Phân lo?i các ho?t d?ng d?nh th?i
  • Ð?nh th?i dài h?n (long-term scheduling) process
    nào du?c ch?p nh?n vào h? th?ng
  • Ð?nh th?i trung h?n (medium-term sched.) process
    nào du?c dua vào (swap in), dua ra kh?i (swap
    out) b? nh? chính
  • Ð?nh th?i ng?n h?n (short-term sched.) process
    nào du?c th?c thi ti?p theo

7
Ð?nh th?i dài h?n
  • Xác d?nh chuong trình nào s? du?c dua vào h?
    th?ng d? th?c thi
  • Quy?t d?nh d?-da-l?p-trình (degree of
    multiprogramming)
  • N?u càng nhi?u process du?c dua vào h? th?ng
  • Kh? nang các process b? block có xu hu?ng gi?m
  • S? d?ng CPU hi?u qu? hon
  • M?i process du?c phân chia kho?ng th?i gian s?
    d?ng CPU th?p hon
  • Thu?ng có xu hu?ng dua vào m?t t?p l?n l?n các
    CPU-bound process và I/O-bound process

8
Ð?nh th?i trung h?n
  • Quy?t d?nh v? vi?c dua process vào b? nh? chính,
    hay ra kh?i b? nh? chính ph? thu?c vào yêu c?u
    qu?n lý vi?c da-l?p-trình (multiprogramming)
  • Cho phép b? d?nh th?i dài h?n ch?p nh?n nhi?u
    process hon s? lu?ng process mà có t?ng kích
    thu?c du?c ch?a v?a trong b? nh? chính
  • Nhung n?u có quá nhi?u process thì s? làm tang
    vi?c truy xu?t dia, do dó c?n ph?i l?a ch?n
    d?-da-l?p-trình cho phù h?p
  • Ðu?c th?c hi?n b?i ph?n m?m qu?n lý b? nh?

9
Ð?nh th?i ng?n h?n
  • Xác d?nh process nào du?c th?c thi ti?p theo, còn
    g?i là d?nh th?i CPU
  • Ðu?c kích ho?t khi có m?t s? ki?n có th? d?n d?n
    kh? nang ch?n m?t process d? th?c thi
  • Ng?t th?i gian (clock interrupt)
  • Ng?t ngo?i vi (I/O interrupt)
  • L?i g?i h? th?ng (operating system call)
  • Signal
  • chuong này s? t?p trung vào d?nh th?i ng?n
    h?n

10
N?i dung c?n quan tâm
  • Ð?nh th?i trên h? th?ng có m?t processor
    (uniprocessor scheduling) quy?t d?nh vi?c s?
    d?ng (m?t) CPU cho m?t t?p các process trong h?
    th?ng
  • Tiêu chí nào?

11
Tiêu chí d?nh th?i
  • Ð? l?i CPU (CPU utilization)
  • Kho?ng th?i gian CPU b?n, t? 0 d?n 100
  • C?n gi? cho CPU càng b?n càng t?t
  • Th?i gian ch? (waiting time)
  • Th?i gian ch? trong hàng d?i ready
  • Các process nên du?c chia s? vi?c s? d?ng CPU m?t
    cách công b?ng (fair share)

12
Tiêu chí d?nh th?i
  • Thông nang (throughput)
  • S? lu?ng process hoàn t?t trong m?t don v? th?i
    gian
  • Th?i gian dáp ?ng (response time)
  • Th?i gian t? lúc có yêu c?u c?a ngu?i dùng (user
    request) d?n khi có dáp ?ng d?u tiên (luu ý dáp
    ?ng d?u tiên, ch? không ph?i output)
  • Thu?ng là v?n d? v?i các I/O-bound process

13
Tiêu chí d?nh th?i
  • Th?i gian quay vòng (turnaround time)
  • Th?i gian d? m?t process hoàn t?t, k? t? lúc n?p
    vào h? th?ng (submission) d?n lúc k?t thúc
    (termination)
  • Là m?t tr? d?c trung c?n quan tâm v?i các process
    thu?c d?ng CPU-bound
  • Th?i gian quay vòng trung bình (average
    turnaround time)

14
Tiêu chí d?nh th?i
  • Ð? l?i CPU gi? CPU càng b?n càng t?t
  • T?i da hóa
  • Thông nang s? lu?ng process k?t thúc vi?c th?c
    thi trong m?t don v? th?i gian
  • T?i da hóa
  • Turnaround time th?i gian k? t? lúc b?t d?u dua
    vào (submission) d?n lúc k?t thúc
  • T?i thi?u hóa
  • Th?i gian ch? th?i gian m?t process ch? trong
    hàng d?i ready
  • T?i thi?u hóa
  • Th?i gian dáp ?ng th?i gian t? khi dua yêu c?u
    d?n khi có dáp ?ng d?u tiên
  • T?i thi?u hóa

15
Có th? làm du?c?
  • T?t c? các tiêu chí không th? du?c t?i uu d?ng
    th?i vì có m?t s? tiêu chí lo?i tr? l?n nhau

16
Tiêu chí d?nh th?i t? các góc nhìn
  • Hu?ng d?n ngu?i s? d?ng (user-oriented)
  • Th?i gian quay vòng (turnaround time)
  • Th?i gian t? lúc n?p process d?n lúc process k?t
    thúc
  • C?n quan tâm v?i các h? th?ng x? lý bó (batch
    system)
  • Th?i gian dáp ?ng (response time)
  • C?n quan tâm v?i các h? th?ng giao ti?p
    (interactive system)

17
Tiêu chí d?nh th?i t? các góc nhìn
  • Hu?ng d?n h? th?ng (system-oriented)
  • Ð? l?i CPU (CPU utilization)
  • Công b?ng (fairness)
  • Thông nang (throughput) s? process hoàn t?t
    trong m?t don v? th?i gian

18
Hai thành ph?n c?a chi?n lu?c d?nh th?i
  • Hàm l?a ch?n (selection function)
  • Xác d?nh process nào trong ready queue s? du?c
    th?c thi ti?p theo. Thu?ng theo các tiêu chí nhu
  • w tô?ng thoi gian do?i trong h? thông
  • e thoi gian dã duo?c phu?c vu?
  • s tô?ng thoi gian thu?c thi cu?a process (bao
    gôm ca? tr? e)

19
Hai thành ph?n c?a chi?n lu?c d?nh th?i
  • Ch? d? quy?t d?nh (decision mode)
  • Ch?n th?i di?m hàm l?a ch?n d?nh th?i th?c thi
  • Nonpreemptive
  • M?t process s? ? tr?ng thái running cho d?n khi
    nó b? block ho?c nó k?t thúc
  • Preemptive
  • Process dang th?c thi có th? b? ng?t và chuy?n v?
    tr?ng thái ready
  • Tránh tru?ng h?p m?t process d?c chi?m
    (monopolizing) CPU

20
Nonpreemptive và preemptive
  • Hàm d?nh th?i du?c th?c hi?n khi
  • (1) Chuyê?n t? tra?ng thai running sang waiting
  • (2) Chuyê?n t? tra?ng thai running sang ready
  • (3) Chuyê?n t? tra?ng thai waiting, new sang
    ready
  • (4) Kêt thuc thu?c thi
  • Truong ho?p 1, 4 duo?c go?i la di?nh thoi
    nonpreemptive
  • Truong ho?p 2, 3 duo?c go?i la di?nh thoi
    preemptive

21
Nonpreemptive và preemptive (2)
  • Hi?n th?c co ch? nào khó hon? T?i sao?
  • Preemptive scheduling hi?n th?c khó hon c?n ph?i
    duy trì s? nh?t quán c?a
  • D? li?u du?c chia s? gi?a các process, và quan
    tr?ng hon là
  • Các d? li?u trong kernel (ví d? các hàng d?i I/O)
  • Ví d? tru?ng h?p x?y ra preemption khi kernel
    dang th?c thi m?t l?i g?i h? th?ng (do ?ng d?ng
    yêu c?u)
  • R?t nhi?u h? di?u hành ch? cho các l?i g?i hàm h?
    th?ng k?t thúc r?i m?i preemption

22
Dispatcher
  • Dispatcher s? chuy?n quy?n di?u khi?n CPU v? cho
    process du?c ch?n b?i b? d?nh th?i ng?n h?n
  • Bao g?m
  • Chuy?n ng? c?nh (s? d?ng thông tin ng? c?nh trong
    PCB)
  • Chuy?n v? user mode
  • Nh?y d?n v? trí thích h?p trong chuong trình ?ng
    d?ng d? kh?i d?ng l?i chuong trình (chính là
    program counter trong PCB)
  • Công vi?c này gây ra phí t?n
  • Dispatch latency th?i gian mà dispatcher d?ng
    m?t process và kh?i d?ng m?t process khác

23
Dispatch latency

Conflict phase xem p. 171
24
First Come First Served (FCFS)
  • Hàm l?a ch?n ch?n process d?i trong hàng d?i
    ready lâu nh?t
  • Ch? d? quy?t d?nh nonpreemptive
  • M?t process s? du?c th?c thi cho d?n khi nó b?
    block ho?c k?t thúc
  • FCFS thu?ng du?c qu?n lý b?ng m?t FIFO queue

25
First Come First Served (FCFS)
  • Process Burst time (ms)
  • P1 24
  • P2 3
  • P3 3
  • Gi? s? các process d?n theo th? t? P1 , P2 , P3
  • Gi?n d? Gantt cho vi?c d?nh th?i là
  • Th?i gian d?i cho P1 0, P2 24, P3 27
  • Th?i gian d?i trung bình (0 24 27)/3 17

P1
P2
P3
24
27
30
0
26
First Come First Served (FCFS)
  • Th?i gian ph?c v? trung bình
  • Thông nang
  • Th?i gian quay vòng
  • Ki?m tra l?i Th?i gian d?i (th?i gian quay
    vòng ? th?i gian ph?c v? ? dispatch latency)

P1
P2
P3
24
27
30
0
27
First Come First Served (FCFS)
  • Gi? s? các process d?n theo th? t?
  • P2 , P3 , P1
  • Gi?n d? Gantt cho vi?c d?nh th?i là
  • Th?i gian d?i cho P1 6, P2 0, P3 3
  • Th?i gian d?i trung bình là (6 0 3)/3 3
  • T?t hon r?t nhi?u so v?i tru?ng h?p tru?c

P1
P3
P2
6
3
30
0
28
First Come First Served (FCFS)
  • FCFS không công b?ng v?i các process có CPU burst
    ng?n. Các process này ph?i ch? trong th?i gian
    dài (so v?i th?i gian mà nó c?n ph?c v?) thì m?i
    du?c s? d?ng CPU. Ði?u này d?ng nghia v?i vi?c
    FCFS uu tiên các process thu?c d?ng CPU bound.
  • Câu h?i Li?u có x?y ra tru?ng h?p trì hoãn vô
    h?n d?nh (starvation hay indefinite blocking) v?i
    gi?i thu?t FCFS?
  • FCFS thu?ng du?c s? d?ng trong các h? th?ng bó
    (batch system)

29
Ví d? th?c t?
  • Vi?c ph?c v? khách trong nhà hàng
  • Th?c khách s? d?n và g?i món an cho mình
  • M?i món an c?n th?i gian chu?n b? khác nhau
  • M?c tiêu
  • Gi?m th?i gian d?i trung bình c?a các th?c khách
  • Cách làm nào s? phù h?p?
  • Thông thu?ng các nhà hàng s? ph?c v? theo ki?u
    FCFS (!)

30
Shortest Job First (SJF)
  • Process Th?i di?m d?n Burst time (ms)
  • P1 0.0 7
  • P2 2.0 4
  • P3 4.0 1
  • P4 5.0 4
  • Gi?n d? Gantt khi d?nh th?i theo SJF
  • Th?i gian d?i trung bình (0 6 3 7)/4 4

P1
P3
P2
P4
7
3
16
0
8
12
31
Shortest Job First (SJF)
  • Th?i gian ph?c v? trung bình
  • Thông nang
  • Th?i gian quay vòng
  • Ki?m tra l?i Th?i gian d?i (th?i gian quay
    vòng ? th?i gian ph?c v? ? dispatch latency)

P1
P3
P2
P4
7
3
16
0
8
12
32
Shortest Job First (SJF)
  • Tuong ?ng v?i m?i process c?n có d? dài c?a CPU
    burst ti?p theo
  • Hàm l?a ch?n ch?n process có d? dài CPU burst
    nh? nh?t
  • Ch?ng minh du?c SJF t?i uu trong vi?c gi?m th?i
    gian d?i trung bình
  • Nhu?c di?m C?n ph?i u?c lu?ng th?i gian c?n CPU
    ti?p theo c?a process
  • Gi?i pháp cho v?n d? này?

33
D? doán th?i gian s? d?ng CPU
  • (Th?i gian s? d?ng CPU chính là d? dài c?a CPU
    burst)
  • Trung bình t?t c? các CPU burst do du?c trong quá
    kh?
  • Nhung thông thu?ng nh?ng CPU burst càng m?i càng
    ph?n ánh dúng hành vi c?a process trong tuong lai
  • M?t k? thu?t thu?ng dùng là s? d?ng trung bình
    hàm mu (exponential averaging)
  • tn1 a tn (1 - a) tn , 0 ? a ? 1
  • tn1 a tn (1- a) a tn-1 (1- a)jatn-j
    (1- a)n1at0
  • N?u ch?n a ½ thì có nghia là tr? do du?c tn và
    tr? d? doán tn du?c xem quan tr?ng nhu nhau.

34
D? doán th?i gian s? d?ng CPU
Ð? dài CPU burst do du?c
Ð? dài CPU burst d? doán, v?i ? ½ và ?0
10
35
Shortest Job First (SJF)
  • SJF s? d?ng uu tiên ng?m d?nh công vi?c ng?n
    nh?t du?c uu tiên tru?c
  • Nh?ng công vi?c thu?c lo?i I/O bound thu?ng có
    CPU burst ng?n
  • Process có th?i gian th?c thi dài có th? b? trì
    hoãn vô h?n d?nh n?u các process có th?i gian
    th?c thi ng?n liên t?c vào
  • Không thích h?p cho môi tru?ng time-sharing khi
    không dùng preemption
  • Dù các CPU bound process có d? uu tiên th?p
  • Nhung m?t process không th?c hi?n I/O có th? d?c
    chi?m h? th?ng n?u nó là process d?u tiên vào h?
    th?ng

36
Shortest Job First (SJF)
  • Ch? d? quy?t d?nh nonpreemptive
  • Phiên b?n preemptive c?a SJF
  • N?u m?t process m?i d?n mà có d? dài CPU burst
    nh? hon th?i gian c?n CPU còn l?i c?a process
    dang th?c thi, thì th?c hi?n preempt process dang
    th?c thi
  • Cách làm này còn du?c g?i làShortest-Remaining-Ti
    me-First (SRTF)

37
Shortest Remaining Time First (SRTF)
  • Process Th?i di?m d?n Burst time (ms)
  • P1 0.0 7
  • P2 2.0 4
  • P3 4.0 1
  • P4 5.0 4
  • Gi?n d? Gantt khi d?nh th?i theo SRTF
  • Th?i gian d?i trung bình (9 1 0 2)/4 3
  • T?t hon gi?i thu?t nonpreemptive SJF

P1
P3
P2
P4
P2
P1
4
2
11
5
7
16
0
38
Shortest Remaining Time First (SRTF)
  • Th?i gian ph?c v? trung bình
  • Thông nang
  • Th?i gian quay vòng
  • Ki?m tra l?i Th?i gian d?i (th?i gian quay
    vòng ? th?i gian ph?c v? ? dispatch latency)

P1
P3
P2
P4
P2
P1
4
2
5
7
11
16
0
39
Shortest Remaining Time First (SRTF)
  • Tránh tru?ng h?p các process có th?i gian th?c
    thi dài d?c chi?m CPU
  • C?n ph?i qu?n lý th?i gian th?c thi còn l?i c?a
    các process
  • Có th?i gian quay vòng t?t hon SJF
  • Process có th?i gian th?c thi ng?n có d? uu tiên
    cao

40
Priority Scheduling
  • M?i process s? du?c gán m?t d? uu tiên
  • CPU s? du?c c?p cho process có d? uu tiên cao
    nh?t
  • Ð?nh th?i s? d?ng d? uu tiên có th?
  • Preemptive ho?c
  • Nonpreemptive

41
Gán d? uu tiên
  • SJF là m?t gi?i thu?t d?nh th?i s? d?ng d? uu
    tiên v?i d? uu tiên là th?i-gian-s?-d?ng-CPU-d?-do
    án
  • Gán d? uu tiên còn d?a vào
  • Yêu c?u v? b? nh?
  • S? lu?ng file du?c m?
  • T? l? th?i gian dùng cho I/O trên th?i gian s?
    d?ng CPU
  • Các yêu c?u bên ngoài ví d? nhu s? ti?n ngu?i
    dùng tr? khi th?c thi công vi?c

42
Priority Scheduling
  • V?n d? trì hoãn vô h?n d?nh process có d? uu
    tiên th?p có th? không bao gi? du?c th?c thi
  • Gi?i pháp aging d? uu tiên c?a process s? tang
    theo th?i gian

43
Round Robin (RR)
  • Hàm l?a ch?n gi?ng FCFS

44
Round Robin (RR)
  • Ch? d? quy?t d?nh preemptive
  • Kho?ng th?i gian t?i da cho phép (thu?ng 10 - 100
    ms) du?c d?m b?o b?ng vi?c s? d?ng timer
    interrupt
  • Process dang ch?y h?t th?i gian s? du?c chuy?n v?
    cu?i c?a hàng d?i ready

45
Round Robin (RR)
  • Process Burst time (ms)
  • P1 53
  • P2 17
  • P3 68
  • P4 24
  • Quantum time 20 ms
  • Gi?n d? Gantt
  • Thu?ng có th?i gian quay vòng cao hon SJF, nhung
    l?i có th?i gian dáp ?ng t?t hon

46
Round Robin (RR)
  • Th?i gian ph?c v? trung bình
  • Thông nang
  • Th?i gian quay vòng
  • Ki?m tra l?i Th?i gian d?i (th?i gian quay
    vòng ? th?i gian ph?c v? ? dispatch latency)

47
Quantum time cho Round Robin

48
Quantum time và chuy?n ng? c?nh
  • Quantum time càng nh? thì càng có nhi?u l?n
    chuy?n ng? c?nh (context switch)

S? l?n ngung/ti?p t?c quá trình
49
Th?i gian quay vòng và quantum time
  • Th?i gian quay vòng trung bình (average
    turnaround time) không ch?c s? du?c c?i thi?n khi
    quantum l?n

50
Quantum time cho Round Robin
  • Khi th?c hi?n process switch thì OS s? s? d?ng
    CPU ch? không ph?i process c?a ngu?i dùng (OS
    overhead)
  • D?ng th?c thi, luu t?t c? thông tin, n?p thông
    tin c?a process s?p th?c thi
  • Performance tùy thu?c vào kích thu?c c?a quantum
    time (còn g?i là time slice), và hàm ph? thu?c
    này không don gi?n
  • Time slice ng?n thì dáp ?ng nhanh
  • V?n d? có nhi?u chuy?n ng? c?nh. Phí t?n s? cao.
  • Time slice dài hon thì throughput t?t hon (do
    gi?m phí t?n OS overhead) nhung th?i gian dáp ?ng
    l?n
  • N?u time slice quá l?n, RR tr? thành FCFS.

51
Quantum time cho Round Robin
  • Quantum time và th?i gian cho process switch
  • N?u quantum time 20 ms và th?i gian cho process
    switch 5 ms, nhu v?y phí t?n OS overhead chi?m
    5/25 20
  • N?u quantum 500 ms, thì phí t?n ch? còn ? 1
  • Nhung n?u có nhi?u ngu?i s? d?ng trên h? th?ng và
    thu?c lo?i interactive thì s? th?y dáp ?ng r?t
    ch?m
  • Tùy thu?c vào t?p công vi?c mà l?a ch?n quantum
    time
  • Time slice nên l?n trong tuong quan so sánh v?i
    th?i gian cho process switch
  • Ví d? v?i 4.3 BSD UNIX, time slice là 1 giây

52
Round Robin
  • N?u có n process trong hàng d?i ready, và quantum
    time là q, nhu v?y m?i process s? l?y 1/n th?i
    gian CPU theo t?ng kh?i có kích thu?c l?n nh?t là
    q
  • S? không có process nào ch? lâu hon (n - 1)q don
    v? th?i gian
  • RR s? d?ng m?t gi? thi?t ng?m là t?t c? các
    process d?u có t?m quan tr?ng ngang nhau
  • Không th? s? d?ng RR n?u mu?n các process khác
    nhau có d? uu tiên khác nhau

53
Round Robin nhu?c di?m
  • Các process d?ng CPU-bound v?n còn du?c uu tiên
  • Ví d?
  • M?t I/O-bound process s? d?ng CPU trong th?i gian
    ng?n hon quantum time và b? blocked d? d?i I/O.
  • M?t CPU-bound process ch?y h?t time slice và l?i
    quay tr? v? hàng d?i ready queue (? phía tru?c
    các process dã b? blocked)

54
Multilevel Queue Scheduling
  • Tru?ng h?p các quá trình có th? du?c phân thành
    nhóm
  • (ví d? interactive và batch)
  • Hàng d?i ready s? du?c chia thành nhi?u hàng d?i
    riêng r?. Ví d?
  • foreground (cho công vi?c c?n giao ti?p -
    interactive)
  • background (cho công vi?c d?ng bó - batch)
  • M?i hàng d?i s? có gi?i thu?t d?nh th?i riêng. Ví
    d?
  • foreground dùng RR
  • background dùng FCFS

55
Multilevel Queue Scheduling
  • Ð?nh th?i c?n ph?i th?c hi?n gi?a các hàng d?i
    v?i nhau
  • Theo cách c? d?nh (fixed priority scheduling)
    ví d? ph?c v? t?t c? các process c?a foreground
    r?i m?i d?n background
  • Có kh? nang x?y ra trì hoãn vô h?n d?nh
    (starvation)
  • Chia th?i gian (time slice) m?i hàng d?i s?
    du?c l?y m?t kho?ng s? d?ng CPU nh?t d?nh d? d?nh
    th?i cho các process c?a mình. Ví d?
  • 80 cho foreground (dùng RR)
  • 20 cho background (dùng FCFS)

56
Multilevel Queue Scheduling
  • Ví d? phân nhóm các quá trình

57
Multilevel Feedback Queue
  • Process có th? di chuy?n gi?a các queue tùy theo
    d?c tính c?a nó.
  • Ví d?
  • N?u m?t process s? d?ng CPU quá lâu, nó s? b? di
    chuy?n sang m?t hàng d?i có d? uu tiên th?p hon
  • N?u m?t process ch? qua lâu trong m?t hàng d?i có
    d? uu tiên th?p, nó s? du?c di chuy?n lên hàng
    d?i có d? uu tiên cao hon (aging, giúp tránh
    starvation)

58
Multilevel Feedback Queue
  • Ví d? Có 3 hàng d?i
  • Q0 , dùng RR v?i quantum 8 ms
  • Q1 , dùng RR v?i quantum 16 ms
  • Q2 , dùng FCFS
  • Gi?i thu?t
  • Công vi?c m?i s? vào hàng d?i Q0. Khi d?n lu?t
    mình, công vi?c s? du?c m?t kho?ng th?i gian là 8
    milli giây. N?u không k?t thúc du?c trong 8 milli
    giây, công vi?c s? du?c dua xu?ng hàng d?i Q1
  • T?i Q1, tuong t? công vi?c sau khi ch? s? du?c
    cho m?t kho?ng th?i gian th?c thi là 16 milli
    giây. N?u h?t th?i gian này v?n chua k?t thúc s?
    b? chuy?n sang Q2

59
Multilevel Feedback Queue
  • Multilevel Feedback Queue du?c xác d?nh b?i các
    thông s?
  • Có bao nhiêu hàng d?i?
  • V?i m?i queue s? d?ng gi?i thu?t d?nh th?i nào?
  • Xác d?nh th?i di?m thang c?p cho m?t process?
  • Làm sao d? xác d?nh th?i di?m giáng c?p m?t
    process?
  • Xác d?nh du?c hàng d?i nào process s? vào khi
    process dó c?n th?c thi?

60
Policy và Mechanism
  • R?t quan tr?ng trong d?nh th?i và phân ph?i tài
    nguyên
  • Policy
  • Ði?u gì (what) nên (hay c?n) làm
  • Mechanism
  • Làm sao (how) d? làm di?u dó
  • Ví d?
  • Policy t?t c? ngu?i dùng c?n du?c công b?ng
  • Mechanism s? d?ng round robin
  • Policy công vi?c du?c tr? ti?n cao có d? uu tiên
    cao
  • Mechanism s? d?ng các gi?i thu?t có preemptive

61
Ð?nh th?i trên h? th?ng multiprocessor
  • N?u có nhi?u CPU thì có th? th?c hi?n vi?c chia
    t?i
  • Ph?c t?p hon so v?i d?nh th?i trên m?t processor
  • Làm sao d? chia t?i?
  • Asymmetric multiprocessor
  • M?t master processor s? th?c hi?n d?nh th?i cho
    t?t c? các processor còn l?i
  • Symmetric multiprocessor (SMP)
  • Ho?c m?i processor có m?t hàng d?i ready riêng và
    b? d?nh th?i riêng
  • Ho?c có m?t hàng d?i ready chung cho t?t c?
    processors
  • M?t processor du?c ch?n làm scheduler cho các
    processor khác
  • Ho?c m?i processor có b? d?nh th?i riêng và t?
    ch?n process t? hàng d?i chung d? th?c thi

62
Processor affinity
  • Khi m?t process ch?y trên m?t processor, có m?t
    s? d? liêu du?c cache trên b? nh? cache c?a
    processor
  • Khi m?t process du?c di d?i sang m?t processor
    khác
  • Cache c?a processor m?i ph?i du?c repopulated
  • Cache c?a processor cu ph?i du?c invalidated
  • ? v?n d? phí t?n

63
Cân b?ng t?i
  • M?t processor có quá nhi?u t?i, trong khi nh?ng
    b? x? lý khác thì l?i r?nh
  • Cân b?ng t?i s? d?ng
  • Push migration m?t task d?c bi?t s? d?nh k? ki?m
    tra t?i trên t?t c? các processors và công vi?c
    s? du?c d?y d?n processor r?nh
  • Pull migration processor r?nh s? l?y công vi?c
    t? processor dang b?n
  • M?t s? h? th?ng (ví d? Linux) hi?n th?c c? hai
  • C?n ph?i có s? cân b?ng gi?a load balancing và
    processor affinity

64
Ðánh giá gi?i thu?t d?nh th?i CPU
  • Deterministic modeling
  • Ð?nh nghia tru?c m?t t?p t?i (workload) và kh?o
    sát performance c?a các gi?i thu?t trên cùng t?p
    t?i dó
  • Không t?ng quát
  • Queuing models
  • S? d?ng queuing theory d? phân tích gi?i thu?t
  • S? d?ng nhi?u gi? thi?t d? ph?c v? vi?c phân tích
  • Không sát th?c t?
  • Mô ph?ng (simulation)
  • Xây d?ng b? mô ph?ng và ch?y th?
  • V?i t?p t?i gi? (thu?ng du?c sinh t? d?ng)
  • Ho?c t?p t?i du?c ghi nh?n t? th?c t?
  • Hi?n th?c
  • Vi?t mã c?a gi?i thu?t và test nó trong h? th?ng
    th?c

65
T?ng k?t
  • S? th?c thi c?a m?t process
  • B? d?nh th?i ch?n m?t process t? hàng d?i ready
  • Dispatcher th?c hi?n switching
  • Các tiêu chí d?nh th?i (thu?ng xung d?t nhau)
  • Ð? l?i CPU, th?i gian ch?, th?i gian dáp ?ng,
    thông nang,
  • Các gi?i thu?t d?nh th?i
  • FCFS, SJF, Priority, RR, Multilevel Feedback
    Queue,
  • Ð?nh th?i trên h? th?ng multiprocessor (d?c thêm)
  • Processor affinity và cân b?ng t?i
  • Ðánh giá gi?i thu?t (d?c thêm)
  • Mô hình, mô ph?ng, hi?n th?c

66
M?t s? v?n d? bàn thêm
  • Cách làm t?t nh?t là adaptive
  • Ð? th?c hi?n t?i uu hoàn toàn thì c?n ph?i tiên
    doán dúng tuong lai (!)
  • Th?c t? thì da s? các gi?i thu?t l?i cho k?t qu?
    gán d? uu tiên cao nh?t cho các process có nhu
    c?u ít nh?t
  • V?n d? d?nh th?i có xu hu?ng chuy?n sang tweak
    and see
  • Các tiêu chí nào nên t?i uu?
  • Có r?t nhi?u, tùy vào h? th?ng, ng? c?nh mà ch?n
    l?a

67
Tham kh?o
  • Operating System Concepts. Sixth Edition. John
    Wiley Sons, Inc. 2002. Silberschatz, Galvin,
    Gagne.
  • Modern Operating Systems. Second Edition.
    Prentice Hall. 2001. Andrew S. Tanenbaum.

68
Bài t?p (1)
  • Process Burst Time
  • P1 10
  • P2 29
  • P3 3
  • P4 7
  • P5 12
  • T?t c? d?u d?n ? th?i di?m 0
  • Xét các gi?i thu?t FCFS, SFJ, và RR v?i quantum
    time 10
  • Gi?i thu?t nào cho
  • Th?i gian d?i trung bình nh? nh?t?
  • Thông nang cao nh?t?
  • Th?i gian quay vòng trung bình c?a process nh?
    nh?t?

69
Bài t?p (2)
  • FCFS th?i gian d?i trung bình là 28 milli giây,
    hãy tính các thông s? khác

70
Bài t?p (3)
  • SJF (nonpreemptive) th?i gian d?i trung bình là
    13 milli giây, hãy tính các thông s? khác

71
Bài t?p (4)
  • RR th?i gian d?i trung bình là 23 milli giây,
    hãy tính các thông s? khác

72
Gi? l?p b? d?nh th?i CPU

73
Ð?nh th?i trong Linux
  • Hai gi?i thu?t chia s? th?i gian (time-sharing)
    và th?i gian th?c (real-time)
  • Chia s? th?i gian (time-sharing)
  • Uu tiên d?a trên credit process có nhi?u credit
    nh?t s? du?c ch?n d? th?c thi
  • Khi có m?t ng?t th?i gian credit s? b? gi?m
  • Khi credit 0, process khác s? du?c ch?n
  • Khi t?t c? các process có credit 0, th?c hi?n
    recrediting d?a vào các y?u t? nhu d? uu tiên và
    l?ch s? (history)

74
Ð?nh th?i trong Linux
  • Th?i gian th?c (real-time)
  • Th?i gian th?c m?m (soft real-time)
  • Tuong thích Posix.1b compliant có 2 l?p
  • FCFS và RR
  • Process có d? uu tiên cao nh?t du?c th?c thi
    tru?c tiên
Write a Comment
User Comments (0)
About PowerShow.com