1. Trang chủ
  2. » Thể loại khác

ĐỊNH THỜI CPU

70 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Định Thời CPU
Định dạng
Số trang 70
Dung lượng 787,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Medium-term schedulingMedium-term Short-term scheduling... First Come First Served 2/5 Process Burst time ms... First Come First Served 4/5... Shortest Job First 3/3... Shortest Remainin

Trang 1

NH TH I CPU

Trang 4

V n ấ đề ầ c n gi i quy t ả ế

■ Trong các h th ng multiprogramming / multitaskingệ ố

● T i m t th i i m trong b nh có nhi u processạ ộ ờ đ ể ộ ớ ề

● T i m i th i i m ch có m t process ạ ỗ ờ đ ể ỉ ộ được th c thiự

● Do ó, cân phai giai quyêt vân ê phân lo i và l a chon process đ ̀ ̉ ̉ ́ ́ đ ̀ ạ ự ̣

th c thi sao cho ự được hiêu qua nhât (̣ ̉ ́  tiêu chí nh th i) C n có đị ờ ầ

chiên ĺ ượ đ ̣c inh th i CPUờ

Trang 5

Medium-term scheduling

Medium-term

Short-term scheduling

Trang 6

Phân lo i các ho t ạ ạ độ ng nh th i (2/2) đị ờ

Đị nh th i dài h n ờ ạ (long-term scheduling): xác nh các process m i đị ớ

(new) nào đượ đưc a vào hàng đợ ẳi s n sàng

● Thường ch có trong batch systemỉ

Đị nh th i trung h n ờ ạ (medium-term scheduling): xác nh process nào đị

c a vào (swap in), a ra kh i (swap out) b nh chính

● Swap in/out có th t n ể ố đến vài giây th i gian ờ ⇒ chu k nh th i ỳ đị ờ

trung h n có th là vài phútạ ể

Đị nh th i ng n h n ờ ắ ạ (short-term scheduling): xác nh process nào đị

c th c thi ti p theo

Trang 7

nh th i dài h n

■ Ảnh hưởng đến độ đ - a-l p-trình ậ (degree of multiprogramming: s quá ố

trình ang trong b nh )đ ở ộ ớ

■ N u càng nhi u process ang trong b nh thì kh n ng ế ề đ ở ộ ớ ả ă m iọ

process b block có xu hị ướng gi mả

● S d ng CPU hi u qu h nử ụ ệ ả ơ

● Nh ng m i process ư ỗ được phân chia kho ng th i gian s d ng ả ờ ử ụ

CPU nh h nỏ ơ

■ Thường có xu hướng đưa vào m t t p l n l n các CPU-bound ộ ậ ẫ ộ

process và I/O-bound process

Trang 8

nh th i trung h n

■ Quy t nh vi c ế đị ệ đưa process (không ph i process tr ng thái ả ở ạ new) 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 a-l p-trình (multiprogramming)ụ ộ ầ ả ệ đ ậ

● Cho phép b nh th i dài h n ch p nh n (admit) nhi u process ộ đị ờ ạ ấ ậ ề

h n s lơ ố ượng process mà có t ng kích thổ ướ được c ch a v a ứ ừ

Trang 9

● 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

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

Trang 11

Tiêu chí nh th i (1/4) đị ờ

Độ ợ l i CPU (CPU utilization)

● Kho ng th i gian CPU b n, t 0% ả ờ ậ ừ đến 100%

● C n gi cho CPU càng b n càng t tầ ữ ậ ố

Th i gian ch ờ ờ (waiting time)

● Th i gian m t process trong hàng ờ ộ ở đợi ready

Trang 12

Tiêu chí nh th i (2/4) đị ờ

Thông n ng ă (throughput)

● S lố ượng process hoàn t t trong m t ấ ộ đơn v th i gianị ờ

Th i gian áp ng ờ đ ứ (response time)

● Th i gian t lúc có yêu c u c a ngờ ừ ầ ủ ười dùng (user request) đến khi

có áp ng đ ứ đầu tiên

● Thường là v n ấ đề ớ v i các I/O-bound process

Trang 13

Tiêu chí nh th i (3/4) đị ờ

Th i gian quay vòng ờ (turnaround time)

● Th i gian ờ để ộ m t process hoàn t t, k t lúc vào h th ng ấ ể ừ ệ ố

Trang 15

Có th làm ể đượ c?

■ T t c các tiêu chí không th ấ ả ể đượ ố ư đồc t i u ng th i vì có m t s tiêu ờ ộ ố

chí liên quan nhau

Trang 16

Tiêu chí nh th i t các góc nhìn (1/2) đị ờ ừ

■ Hướng đến ngườ ử ụi s d ng (user-oriented)

● Th i gian quay vòngờ

 Th i gian t lúc submission ờ ừ đế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 áp ngờ đ ứ

 C n quan tâm v i các h th ng giao ti p (interactive system)ầ ớ ệ ố ế

Trang 18

Hai thành ph n c a chi n l ầ ủ ế ượ đị c nh th i (1/2) ờ

Hàm l a ch n ự ọ (selection function)

● Xác nh process nào trong ready queue s đị ẽ được th c thi ti p ự ế

theo Thường theo các tiêu chí như

w = tông th i gian ̉ ờ đợi trong h thôngệ ́

e = th i gian ã ờ đ được phuc vu ̣ ̣

s = tông th i gian th c thi cua process (bao gôm ca tr ̉ ờ ự ̉ ̀ ̉ ị e)

Trang 19

Hai thành ph n c a chi n l ầ ủ ế ượ đị c nh th i (2/2) ờ

Ch ế độ quy t nh ế đị (decision mode)

Trang 21

Non-preemption và preemption (1/2)

■ Hàm l a ch n có th ự ọ ể được th c thi khi có quá trìnhự

(1) chuyên t trang thai running sang waiting ̉ ừ ̣ ́

(2) chuyên t trang thai running sang readỷ ừ ̣ ́

(3) chuyên t trang thai waiting, new sang readỷ ừ ̣ ́

(4) kêt thuc th c thi ́ ́ ự

■ Chi n lế ượ đ ̣c inh th i ờ non-preemptive: ch th c thi hàm l a ch n trong ỉ ự ự ọ

trường h p 1 và 4 (quá trình running n u b ng t s ti p t c running ợ ế ị ắ ẽ ế ụ

sau ó)đ

■ Chi n lế ượ đ ̣c inh th i ờ preemptive: ngoài trường h p 1 và 4 còn th c ợ ự

thi thêm hàm l a ch n trong trự ọ ường h p 2 ho c 3 (ho c c hai)ợ ặ ặ ả

Trang 22

Non-preemption và preemption (2/2)

■ Hi n th c ch ệ ự ế độ quy t nh nào khó h n? T i sao?ế đị ơ ạ

■ Preemptive scheduling: hai lo i hi n th cạ ệ ự

Trang 23

■ Dispatcher s chuy n quy n i u khi n CPU v cho process ẽ ể ề đ ề ể ề được

ch n b i b 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 ả đến v trí thích h p (chính là program counter trong PCB) ị ợ

trong chương trình ng d ng ứ ụ để quá trình ti p t c th c thiế ụ ự

■ Công vi c này gây ra phí t nệ ổ

Dispatch latency: th i gian dispatcher c n t lúc d ng m t ờ ầ ừ ừ ộ

process đến lúc m t process khác ti p t c ch yộ ế ụ ạ

Trang 24

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

■ Hàm l a ch n: ch n process trong hàng ự ọ ọ ở đợi ready lâu nh tấ

■ Ch ế độ quy t nh: nonpreemptiveế đị

● M t process s ộ ẽ được th c thi cho ự đến khi nó block ho c k t thúcặ ế

■ FCFS thường được hi n th c b ng m t FIFO queueệ ự ằ ộ

Trang 25

First Come First Served (2/5)

Process Burst time (ms)

Trang 26

First Come First Served (3/5)

■ Th i gian ph c v trung bình =ờ ụ ụ

■ Thông n ng =ă

■ Th i gian quay vòng =ờ

Trang 27

First Come First Served (4/5)

Trang 28

First Come First Served (5/5)

Nh n xétậ

■ FCFS “không công b ng” v i process có CPU burst ằ ớ ng nắ vì nó 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 ờ ờ ớ ờ ầ ụ ụ ớ

c s d ng CPU i u này ng ngh a v i vi c FCFS “ u tiên” các

process thu c d ng CPU bound.ộ ạ

■ Câu h i: Li u có x y ra trỏ ệ ả ường h p ợ trì hoãn vô h n nh ạ đị (starvation hay indefinite blocking) v i gi i thu t FCFS?ớ ả ậ

■ FCFS thường được s d ng trong các h th ng bó (batch system)ử ụ ệ ố

Trang 30

Shortest Job First (SJF) (1/3)

■ Đố ới v i m i process, c n bi t ỗ ầ ế độ dài c a CPU burstủ

■ Hàm l a ch nự ọ : ch n process có ọ độ dài CPU burst nh nh tỏ ấ

Trang 31

Shortest Job First (2/3)

Process Th i i m ờ đ ể đến Burst time (ms)

Trang 32

Shortest Job First (3/3)

Trang 33

D oán th i gian s d ng CPU (1/2) ự đ ờ ử ụ

(Th i gian s d ng CPU chính là ờ ử ụ độ dài c a CPU burst)ủ

■ Trung bình có tr ng s các CPU burst o ọ ố đ được trong quá khứ

■ Gi thi t: nh ng CPU burst càng m i càng ph n ánh g n hành vi c a ả ế ữ ớ ả ầ ủ

process trong tương lai

■ Phương pháp trung bình hàm m ũ (exponential averaging)

Trang 34

D oán th i gian s d ng CPU (2/2) ự đ ờ ử ụ

dài CPU burst

Trang 35

Shortest Job First

Nh n xétậ

■ SJF s d ng u tiên ng m nh: công vi c ng n nh t ử ụ ư ầ đị ệ ắ ấ đượ ưc u tiên

trước

● Nh ng công vi c thu c lo i I/O bound thữ ệ ộ ạ ườ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 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 trợ ường time-sharing khi không dùng

preemption

● Các CPU bound process có “độ ư u tiên” th p, nh ng m t process ấ ư ộ

không th c hi n I/O có th ự ệ ể độc chi m CPU n u nó là process ế ế đầu tiên vào h th ngệ ố

Trang 36

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

■ Ch ế độ quy t nh c a SJF: ế đị ủ non-preemptive

■ Phiên b n ả preemptive c a SJF:ủ

● N u m t process m i ế ộ ớ đến mà có độ dài CPU burst nh h n th i ỏ ơ ờ

gian c n CPU ầ còn l iạ c a process ang th c thi, thì preempt ủ đ ự

process ang th c thiđ ự

● Cách làm này còn được g i là ọ Shortest-Remaining-Time-First

(SRTF)

Trang 37

Shortest Remaining Time First (2/4)

Trang 38

Shortest Remaining Time First (3/4)

■ Th i gian ph c v trung bình =ờ ụ ụ

■ Thông n ng =ă

■ Th i gian quay vòng =ờ

P1 P2 P3 P2 P4 P1

Trang 39

Shortest Remaining Time First (4/4)

Nh n xétậ

■ Tránh trường h p process có th i gian th c thi dài ợ ờ ự độ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 h n SJF ờ ố ơ

■ Process có th i gian th c thi ng n có ờ ự ắ độ ư u tiên cao

■ Có th d n ể ẫ đến starvation

Trang 40

Priority Scheduling

■ M i process ỗ được gán m t ộ độ ư u tiên

■ CPU s ẽ được c p cho process có ấ độ ư u tiên cao nh tấ

■ Ch ế độ quy t nh:ế đị

● Preemptive

● Non-preemptive

Trang 41

Gán độ ư u tiên

■ SJF: độ ư u tiên là th i-gian-s -d ng-CPU-d - oánờ ử ụ ự đ

■ Gán độ ư u tiên còn có th d a vào:ể ự

● Yêu c u v b nhầ ề ộ ớ

● S lố ượng file đượ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 nh : s ti n ngầ ư ố ề ười dùng tr khi th c thi ả ự

công vi cệ

Trang 42

Priority Scheduling

■ V n ấ đề: trì hoãn vô h n nh – process có ạ đị độ ư u tiên th p có th ấ ể

không bao gi ờ được th c thiự

■ Gi i pháp: ả aging – độ ư u tiên c a process ủ đượ ăc t ng theo th i gianờ

Trang 43

Round Robin (RR) (1/4)

■ Hàm l a ch n: gi ng FCFSự ọ ố

2 1

3 4 5

6 7

8

Trang 47

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) trong khi th c thi.ự

Số lần ngưng/tiếp tục quá trình

Trang 48

Quantum time và th i gian quay vòng ờ

■ Th i gian quay vòng trung bình không ch c s ờ ắ ẽ được c i thi n khi ả ệ

quantum l nớ

Trang 49

Quantum time cho Round Robin*

Nh n xétậ

■ Khi th c hi n process switch thì OS s s d ng CPU ch không ph i ự ệ ẽ ử ụ ứ ả

process c a ngủ ười dùng (OS overhead, phí t n):ổ

● D ng th c thi process, l u 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 thộ ước c a quantum time (còn g i là ủ ọ

time slice), và hàm ph thu c này không ụ ộ đơn gi nả

● Time slice ng n thì áp ng nhanhắ đ ứ

 V n ấ đề: có nhi u chuy n ng c nh Phí t n s caoề ể ữ ả ổ ẽ

● Time slice dài h n thì throughput t t h n (do gi m OS overhead) ơ ố ơ ả

Trang 50

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, thì phí t n (OS overhead) chi m 5 / (20 + 5) = 20%ổ ế

● N u quantum = 500 ms, thì phí t n ch còn ế ổ ỉ ≈ 1%

 Nh ng n u có nhi u ng d ng interactive thì s th y á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ộ ậ ệ ự ọ

■ Quantum time nên l n trong tớ ương quan so sánh v i th i gian cho ớ ờ

process switch

● Ví d v i 4.3 BSD UNIX, quantum time là 1 giâyụ ớ

Trang 51

Round Robin

■ N u có ế n process trong hàng đợi ready, và quantum time là q, nh ư

v y m i process s l y 1/ậ ỗ ẽ ấ n th i gian CPU theo t ng kh i có kích ờ ừ ố

thướ ớc l n nh t là ấ q

● S không có process nào ch lâu h n (ẽ ờ ơ n 1)q đơn v th i gianị ờ

■ RR s d ng m t gi thi t ng m là t t c các process ử ụ ộ ả ế ầ ấ ả đề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ó ể ử ụ ế ố độ

u tiên khác nhau

ư

Trang 52

Round Robin: nh ượ đ ể c i m

■ Các process d ng CPU-bound v n còn ạ ẫ được “ u tiên”ư

● Ví d : ụ

 M t I/O-bound process s d ng CPU trong th i gian ng n h n ộ ử ụ ờ ắ ơ

quantum time và b ị blocked để đợi I/O Và

 M t CPU-bound process ch y h t time slice và liên t c quay ộ ạ ế ụ

tr v hàng ở ề đợi ready queue, thường trở ước các I/O bound process ã b blocked.đ ị

Trang 53

Multilevel Queue Scheduling (1/3)

Trường h p các quá trình có th ợ ể được phân thành nhóm, ví d : ụ

interactive và batch

■ Hàng đợi ready s ẽ được chia thành nhi u hàng ề đợi riêng r Ví d :ẽ ụ

foreground (cho công vi c c n giao ti p)ệ ầ ế

background (cho công vi c d ng bó)ệ ạ

■ M i hàng ỗ đợ ẽi s có gi i thu t nh th i riêng Ví d :ả ậ đị ờ ụ

● foreground: dùng RR

● background: dùng FCFS

Trang 54

Multilevel Queue Scheduling (2/3)

■ Định th i c n ph i th c hi n ờ ầ ả ự ệ gi a các hàng ữ đợ ới v i nhau

● Theo cách c nhố đị (fixed priority scheduling) – ví d : ph c v t t ụ ụ ụ ấ

c các process c a foreground r i m i ả ủ ồ ớ đến background

 Có kh n ng x y ra trì hoãn vô h n nh (starvation)ả ă ả ạ đị

● Chia th i gianờ (time slice) – m i hàng ỗ đợ ẽ đượ ấi s c l y m t kho ng ộ ả

s d ng CPU nh t nh ử ụ ấ đị để đị 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)

Trang 55

Multilevel Queue Scheduling (3/3)

Trang 56

Multilevel Feedback Queue (1/3)

■ Trong h th ng ệ ố Multilevel Feedback Queue, b nh th i có th di ộ đị ờ ể

chuy n process gi a các queue tùy theo ể ữ đặc tính c a nó ủ được quan sát

 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 ộ đợi có độ ư u tiên th p h nấ ơ

● N u m t process ch qua lâu trong m t hàng ế ộ ờ ộ đợi có độ ư u tiên

th p, nó s ấ ẽ được di chuy n lên hàng ể đợi có độ ư u tiên cao h n ơ

(aging, giúp tránh starvation)

Trang 57

Multilevel Feedback Queue (2/3)

đượ ộ quantum là 8 ms N u không ế tr CPUả trong 8 ms, công

vi c s ệ ẽ đượ đưc a xu ng ố đuôi hàng đợi Q1

● T i Qạ 1, công vi c s ệ ẽ được cho m t ộ quantum là 16 ms N u ế công

Trang 58

Multilevel Feedback Queue (3/3)

■ Multilevel Feedback Queue được xác nh b i các thông sđị ở ố

● Có bao nhiêu hàng đợi?

● V i m i queue s d ng gi i thu t nh th i nào?ớ ỗ ử ụ ả ậ đị ờ

● Khi nào th ng c p m t process?ă ấ ộ

● Khi nào giáng c p m t process?ấ ộ

Trang 60

Chính sách và c ch (2/2) * ơ ế

■ Đố ới v i quá trình

● Chính sách

 Khi nào thì nh th i quá trình? đị ờ

 Quá trình nào được ch y?ạ

● C chơ ế

 Làm th nào ế để chuy n ng c nh? Dispatcherể ữ ả

 Làm th nào ế để ả b o v (protect)? Qu n lý b nhệ ả ộ ớ

● Ví dụ

Trang 61

 Ho cặ có m tộ hàng đợi ready chung cho t t c processorsấ ả

– M t processor ộ được ch n làm scheduler cho các processor ọ

Trang 62

Processor affinity *

■ Khi m t process ch y trên m t processor, có m t s d li u ộ ạ ộ ộ ố ữ ệ được cache trên b nh cache c a processorộ ớ ủ

■ Khi m t process ộ được di d i sang m t processor khácờ ộ

● Cache c a processor m i ph i ủ ớ ả được repopulated

● Cache c a processor c ph i ủ ũ ả được invalidated

⇒ v n ấ đề phí t nổ

Trang 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 ộ đặc bi t s nh k ki m tra t i trên t t ệ ẽ đị ỳ ể ả ấ

c các processors và công vi c s ả ệ ẽ đượ đẩ đếc y n processor r nhả

Pull migration: processor r nh s l y công vi c t processor ả ẽ ấ ệ ừ

Trang 64

Ph ươ ng pháp ánh giá gi i thu t nh th i CPU * đ ả ậ đị ờ

● S d ng queuing theory ử ụ để phân tích gi i thu tả ậ

● S d ng nhi u gi thi t ử ụ ề ả ế để ph c v vi c phân tíchụ ụ ệ

Trang 65

T ng k t ổ ế

■ S th c thi c a m t processự ự ủ ộ

■ B nh th i ch n m t process t hàng ộ đị ờ ọ ộ ừ đợi ready

● Dispatcher th c hi n switchingự ệ

■ Các tiêu chí nh th i (thđị ờ ường xung đột nhau)

● Độ ợ l i CPU, th i gian ch , th i gian áp ng, thông n ng,…ờ ờ ờ đ ứ ă

■ Các gi i thu t nh th iả ậ đị ờ

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

■ Định th i trên h th ng multiprocessor (ờ ệ ố đọc thêm)

● Processor affinity và cân b ng t iằ ả

■ Phương pháp ánh giá gi i thu t nh th i CPU (đ ả ậ đị ờ đọc thêm)

Trang 66

M t s v n ộ ố ấ đề bàn thêm

■ Cách làm t t nh t là adaptiveố ấ

■ Để ự th c hi n t i u hoàn toàn thì c n ph i tiên oán úng tệ ố ư ầ ả đ đ ương lai (!)

● Th c t thì a s các gi i thu t l i cho k t qu gán ự ế đ ố ả ậ ạ ế ả độ ư u tiên cao

nh t cho các process có nhu c u ít nh tấ ầ ấ

● V n ấ đề đị nh th i có xu hờ ướng chuy n sang “tweak and see” ể

■ Các tiêu chí nào nên t i u?ố ư

● Có r t nhi u, tùy vào h th ng, ng c nh mà ch n l aấ ề ệ ố ữ ả ọ ự

Ngày đăng: 19/04/2022, 07:19

w