V - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

V

Description:

TT C NG NGH TH NG TIN TR NG I H C C NG NGHI P TP H CH MINH NH TH I CPU ( i u ph i Ti n tr nh) V Quang Ho ng Khang – PowerPoint PPT presentation

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

less

Transcript and Presenter's Notes

Title: V


1
Ð?NH TH?I CPU(Ði?u ph?i Ti?n trình)
TT CÔNG NGH? THÔNG TIN TRU?NG Ð?I H?C CÔNG NGHI?P
TP H? CHÍ MINH
  • Võ Quang Hoàng Khang
  • Email khangvqh_at_yahoo.com

2
M?c tiêu
  • Hi?u du?c
  • Khái ni?m co b?n v? d?nh th?i
  • Các c?p d? d?nh th?i
  • M?c tiêu c?a d?nh th?i
  • Các gi?i thu?t d?nh th?i

3
Khái ni?m co b?n v? d?nh th?i
  • Trong môi tru?ng h? di?u hành da nhi?m, b? ph?n
    di?u ph?i ti?n trình có nhi?m v? xem xét và quy?t
    d?nh khi nào thì d?ng ti?n trình hi?n t?i d? thu
    h?i processor và chuy?n processor cho ti?n trình
    khác, và khi dã có du?c processor thì ch?n ti?n
    trình nào trong s? các ti?n trình ? tr?ng thái
    ready d? c?p processor cho nó.

4
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

5
Ð?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

6
Ð?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?

7
Ð?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

8
M?c tiêu c?a d?nh th?i
  • S? công b?ng ( Fairness) Các ti?n trình chia s?
    CPU m?t cách công b?ng, không có ti?n trình nào
    ph?i ch? d?i vô h?n d? du?c c?p phát CPU
  • Tính hi?u q?a (Efficiency) H? th?ng ph?i t?n
    d?ng du?c CPU 100 th?i gian
  • Th?i gian dáp ?ng h?p lý (Response time) C?c
    ti?u hoá th?i gian h?i dáp cho các tuong tác c?a
    ngu?i s? d?ng
  • Th?i gian luu l?i trong h? th?ng ( Turnaround
    Time) C?c ti?u hóa th?i gian hoàn t?t các tác
    v? x? lý theo lô

9
M?c tiêu c?a d?nh th?i
  • Thông lu?ng t?i da (Throughput ) C?c d?i hóa s?
    công vi?c du?c x? lý trong m?t don v? th?i gian.
  • Tuy nhiên thu?ng không th? th?a mãn t?t c? các
    m?c tiêu k? trên vì b?n thân chúng có s? mâu
    thu?n v?i nhau mà ch? có th? dung hòa chúng ? m?c
    d? nào dó.

10
Các gi?i thu?t d?nh th?i
  • Ð? t? ch?c di?u ph?i ti?n trình h? di?u hành s?
    d?ng hai danh sách Danh sách s?n sàng (Ready
    list) dùng d? ch?a các ti?n trình ? tr?ng thái
    s?n sàng. Danh sách d?i (Waiting list) dùng d?
    ch?a các ti?n trình dang d?i d? du?c b? sung vào
    danh sách s?n sàng.
  • Ch? có nh?ng ti?n trình trong ready list m?i du?c
    ch?n d? c?p processor. Các ti?n trình b? chuy?n
    v? tr?ng thái blocked s? du?c b? sung vào waiting
    list. H? th?ng ch? có duy nh?t m?t ready list,
    nhung có th? t?n t?i nhi?u waiting list. Thông
    thu?ng h? di?u hành thi?t k? nhi?u waitting list,
    m?i waitting list dùng d? ch?a các ti?n trình
    dang d?i du?c c?p phát m?t tài nguyên hay m?t s?
    ki?n riêng bi?t nào dó.

11
Các gi?i thu?t d?nh th?i
12
Các gi?i thu?t d?nh th?i
  • Trong dó
  • Ti?n trình trong h? th?ng du?c c?p d?y d? tài
    nguyên ch? thi?u processor.
  • Ti?n trình du?c b? di?u ph?i ch?n ra d? c?p
    processor d? b?t d?u x? lý.
  • Ti?n trình k?t thúc x? lý và tr? l?i processor
    cho h? di?u hành.
  • Ti?n trình h?t th?i gian du?c quy?n s? d?ng
    processor (time-out), b? b? di?u ph?i ti?n trình
    thu h?i l?i processor.
  • Ti?n trình b? khóa (blocked) do yêu c?u tài
    nguyên nhung chua du?c h? di?u hành c?p phát. Khi
    dó ti?n trình du?c dua vào danh sách các ti?n
    trình d?i tài nguyên (waiting list 1).

13
Các gi?i thu?t d?nh th?i
  • Ti?n trình b? khóa (blocked) do dang d?i m?t s?
    ki?n nào dó x?y ra. Khi dó ti?n trình du?c b?
    di?u ph?i dua vào danh sách các ti?n trình d?i
    tài nguyên (waiting list 2).
  • Tài nguyên mà ti?n trình yêu c?u dã du?c h? di?u
    hành c?p phát. Khi dó ti?n trình du?c b? di?u
    ph?i chuy?n sang danh sách các ti?n trình ? tr?ng
    thái s?n sang (ready list) d? ch? du?c c?p
    processor d? du?c ho?t d?ng.
  • S? ki?n mà ti?n trình ch? dã x?y ra. Khi dó ti?n
    trình du?c b? di?u ph?i chuy?n sang danh sách các
    ti?n trình ? tr?ng thái s?n sang (ready list) d?
    ch? du?c c?p processor.

14
Chi?n lu?c FIFO (First In First Out)
  • Nguyên t?c 
  • Processor du?c c?p phát cho ti?n trình d?u tiên
    trong danh sách s?n sàng có yêu c?u, là ti?n
    trình du?c dua vào h? th?ng s?m nh?t.
  • FIFO du?c s? d?ng trong di?u ph?i d?c quy?n nên
    khi ti?n trình du?c c?p processor nó s? s? h?u
    processor cho d?n khi k?t thúc x? lý hay ph?i d?i
    m?t thao tác vào/ra hoàn thành, khi dó ti?n trình
    ch? d?ng tr? l?i processor cho h? th?ng.

15
Chi?n lu?c FIFO (First In First Out)
  • Ví d?
  • N?u h? di?u hành c?n c?p processor cho 3 ti?n
    trình P1, P2, P3, v?i th?i di?m vào ready list và
    kho?ng th?i gian m?i ti?n trình c?n processor
    du?c mô t? trong b?ng sau
  • Ti?n trình th?i di?m vào t/g x? lý
  • P1 0 24
  • P2 1 3
  • P3 2 3
  • Thì th? t? c?p processor cho các ti?n trình di?n
    ra nhu sau
  • Ti?n trình P1 P2 P3
  • Th?i di?m 0 24 27
  • V?y th?i gian ch? c?a ti?n trình P1 là 0, c?a P2
    là 23 (24 - 1), c?a P3 là 25 (24 3 - 2). Và
    th?i gian ch? d?i trung bình c?a các ti?n trình
  • (0 23 25)/3 16.

16
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
    FIFO (!)

17
Chi?n lu?c FIFO (First In First Out)
  • Nhu v?y FIFO t?n t?i m?t s? h?n ch?
  • Th? nh?t, có th?i gian ch? d?i trung bình l?n nên
    không phù h?p v?i các h? th?ng chia s? th?i gian.
  • Th? hai, kh? nang tuong tác kém khi nó du?c áp
    d?ng trên các h? th?ng uniprocessor.
  • Th? ba, n?u các ti?n trình ? d?u ready list c?n
    nhi?u th?i gian c?a processor thì các ti?n trình
    ? cu?i ready list s? ph?i ch? lâu m?i du?c c?p
    processor.

18
Chi?n lu?c phân ph?i xoay vòng (RR Round Robin)
  • Ready list du?c thi?t k?t theo d?ng danh sách
    n?i vòng. Ti?n trình du?c b? di?u ph?i ch?n d?
    c?p processor cung là ti?n trình ? d?u ready
    list, nhung sau m?t kho?ng th?i gian nh?t d?nh
    nào dó thì b? di?u ph?i l?i thu h?i l?i processor
    c?a ti?n trình v?a du?c c?p processor và chuy?n
    processor cho ti?n trình k? ti?p (bây gi? dã tr?
    thành ti?n trình d?u tiên) trong ready list, ti?n
    trình v?a b? thu h?i processor du?c dua vào l?i
    cu?i ready list. Rõ ràng dây là chi?n lu?c di?u
    ph?i không d?c quy?n.

19
Chi?n lu?c phân ph?i xoay vòng (RR Round Robin)
  • Kho?ng kho?n th?i gian mà m?i ti?n trình du?c s?
    h?u processor d? ho?t d?ng là b?ng nhau, và
    thu?ng du?c g?i là Quantum.

20
Chi?n lu?c phân ph?i xoay vòng (RR Round Robin)
  • Ví d? N?u h? di?u hành c?n c?p processor cho 3
    ti?n trình P1, P2, P3 v?i th?i di?m vào ready
    list và kho?ng th?i gian m?i ti?n trình c?n
    processor du?c mô t? trong b?ng sau
  • Ti?n trình th?i di?m vào t/g x? lý
  • P1 0 24
  • P2 1 3
  • P3 2 3 Quantum 4
  • Thì th? t? c?p processor cho các ti?n trình l?n
    lu?t là
  • Ti?n trình P1 P2 P3 P1 P1 P1 P1 P1
  • Th?i di?m 0 4 7 10 14 18 22 26
  • V?y th?i gian ch? d?i trung bình s? là (0 6
    3 5)/3 4.46

21
Chi?n lu?c phân ph?i xoay vòng (RR Round Robin)
  • Nhu v?y RR có th?i gian ch? d?i trung bình nh?
    hon so v?i FIFO
  • Trong chi?n lu?c này, v?n d? d?t ra d?i v?i công
    tác thi?t k? là nên chon quantum b?ng bao nhiêu
    là thích h?p, n?u quantum nh? thì h? th?ng ph?i
    t?n nhi?u th?i gian cho vi?c c?p nh?t ready list
    và chuy?n tr?ng thái ti?n trình, d?n d?n vi ph?m
    m?c tiêu khai thác t?i da th?i gian x? lý c?a
    processor. N?u quantum l?n thì th?i gian ch? d?i
    trung bình và th?i gian h?i dáp s? tang lên, d?n
    d?n tính tuong tác c?a h? th?ng b? gi?m xu?ng.

22
Chi?n lu?c theo d? uu tiên
  • M?i ti?n trình du?c gán cho m?t d? uu tiên tuong
    ?ng, ti?n trình có d? uu tiên cao nh?t s? du?c
    ch?n d? c?p phát processor d?u tiên
  • Ð? uu tiên có th? du?c d?nh nghia n?i t?i hay nh?
    vào các y?u t? bên ngoài
  • Gi?i thu?t di?u ph?i v?i d? uu tiên có th? theo
    nguyên t?c d?c quy?n hay không d?c quy?n.

23
Chi?n lu?c theo d? uu tiên
  • Khi m?t ti?n trình du?c dua vào danh sách các
    ti?n trình s?n sàng, d? uu tiên c?a nó du?c so
    sánh v?i d? uu tiên c?a ti?n trình hi?n hành dang
    x? lý. Gi?i thu?t di?u ph?i v?i d? uu tiên và
    không d?c quy?n s? thu h?i CPU t? ti?n trình hi?n
    hành d? c?p phát cho ti?n trình m?i n?u d? uu
    tiên c?a ti?n trình này cao hon ti?n trình hi?n
    hành. M?t gi?i thu?t d?c quy?n s? ch? don gi?n
    chèn ti?n trình m?i vào danh sách s?n sàng, và
    ti?n trình hi?n hành v?n ti?p t?c x? lý h?t th?i
    gian dành cho nó.

24
Chi?n lu?c theo d? uu tiên
  • Ví d? N?u h? di?u hành c?n c?p processor cho 3
    ti?n trình P1, P2, P3 v?i d? uu tiên và kho?ng
    th?i gian m?i ti?n trình c?n processor du?c mô t?
    trong b?ng sau
  • Ti?n trình d? uu tiên th?i gian x? lý
  • P1 3 24
  • P2 1 3
  • P3 2 3
  • Thì th? t? c?p processor (theo nguyên t?c d?c
    quy?n) cho các ti?n trình l?n lu?t là
  • Ti?n trình P2 P3 P1
  • Th?i di?m 0 4 7

25
Chi?n lu?c theo d? uu tiên
  • Chi?n lu?c này có th? d?n d?n h?u qu? các ti?n
    trình có d? uu tiên th?p s? roi vào tình tr?ng
    ch? d?i vô h?n. Ð? kh?c ph?c di?u này h? di?u
    hành thu?ng h? d? uu tiên c?a các ti?n trình có
    d? uu tiên cao sau m?i l?n nó du?c c?p processor.

26
Chi?n luoc SJF (Shortest Job First công vi?c
ng?n nh?t)
  • Ðây là tru?ng h?p d?c bi?t c?a chi?n lu?c theo d?
    uu tiên. Trong chi?n lu?c này d? uu tiên P c?a
    m?i ti?n trình là 1/t, v?i t là kho?ng th?i gian
    mà ti?n trình c?n processor. B? di?u ph?i s? ch?n
    ti?n trình có P l?n d? c?p processor, t?c là uu
    tiên cho nh?ng ti?n trình có th?i gian x? lý
    (th?i gian c?n processor) nh?.
  • Chi?n lu?c này có th? có th?i gian ch? d?i trung
    bình d?t c?c ti?u. Nhung h? di?u hành khó có th?
    doán du?c th?i gian x? lý mà ti?n trình yêu c?u.

27
Chi?n luoc SJF (Shortest Job First công vi?c
ng?n nh?t)
28
Chi?n lu?c nhi?u c?p d? uu tiên
  • H? di?u hành phân l?p các ti?n trình theo d? uu
    tiên c?a chúng d? có cách th?c di?u ph?i thích
    h?p cho t?ng l?p ti?n trình.
  • M?i c?p d? uu tiên có m?t ready list riêng.
  • B? di?u ph?i dùng chi?n lu?c di?u ph?i thích h?p
    cho t?ng realy list.
  • H? di?u hành cung ph?i thi?t k? m?t co ch? thích
    h?p d? di?u ph?i ti?n trình gi?a các l?p.

29
Chi?n lu?c nhi?u c?p d? uu tiên
30
Chi?n lu?c nhi?u c?p d? uu tiên
  • Trong chi?n lu?c này h? di?u hành s? d?ng d? uu
    tiên tinh, và di?u ph?i không d?c quy?n, do dó
    m?t ti?n trình thu?c ready list ? c?p uu tiên i
    s? ch? du?c c?p phát processor khi trong ready
    list ? c?p uu tiên j (j gt i) không còn m?t ti?n
    trình nào.
  • Các ti?n trình ? ready list có d? uu tiên th?p s?
    ph?i ch? d?i processor trong m?t kho?ng th?i gian
    dài, có th? là vô h?n.
  • Ð? kh?c ph?c di?u này h? di?u hành xây d?ng chi?n
    lu?c di?u ph?i Nhi?u m?c d? uu tiên xoay vòng.

31
Chi?n lu?c nhi?u c?p d? uu tiên
  • H? di?u hành chuy?n d?n m?t ti?n trình ? ready
    list có d? uu tiên cao xu?ng ready list có d? uu
    tiên th?p hon sau m?i l?n s? d?ng procesor, và
    ngu?c l?i m?t ti?n trình ? lâu trong ready list
    có d? uu tiên th?p thì s? du?c chuy?n d?n lên
    ready list có d? uu tiên cao hon.

32
Chi?n lu?c nhi?u c?p d? uu tiên
  • Khi xây d?ng m?t gi?i thu?t di?u ph?i nhi?u c?p
    uu tiên và xoay vòng c?n quy?td?nh các tham s?
  • S? lu?ng các c?p uu tiên
  • Gi?i thu?t di?u ph?i cho t?ng danh sách ?ng v?i
    m?t c?p uu tiên.
  • Phuong pháp xác d?nh th?i di?m di chuy?n m?t
    ti?n trình lên danh sách có d? uu tiên cao hon.
  • Phuong pháp xác d?nh th?i di?m di chuy?n m?t
    ti?n trình lên danh sách có d? uu tiên th?p hon.
  • Phuong pháp s? d?ng d? xác d?nh m?t ti?n trình
    m?i du?c dua vào h? th?ng s? thu?c danh sách ?ng
    v?i d? tiên nào.

33
Chi?n lu?c nhi?u c?p d? uu tiên
34
Chi?n lu?c di?u ph?i X? s? (Lottery
  • Nguyên t?c  Ý tu?ng chính c?a gi?i thu?t là phát
    hành m?t s? vé s? và phân ph?i cho các ti?n trình
    trong h? th?ng. Khi d?n th?i di?m ra quy?t d?nh
    di?u ph?i, s? ti?n hành ch?n 1 vé "trúng gi?i",
    ti?n trình nào s? h?u vé này s? du?c nh?n CPU

35
Bài t?p
36
Bài t?p
37
Bài t?p
38
  • End Of Chapter 3
Write a Comment
User Comments (0)
About PowerShow.com