Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,16 MB
Nội dung
ĐỊNH THỜI CPU Mục tiêu SV giải thích Tại 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 Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Vấn đề cần giải Ví dụ: tối đa độ lợi CPU hệ thống multiprogramming / multitasking Trong nhớ có nhiều process đồng thời Khi process phải đợi (vd đợi hoàn tất yêu cầu I/O), hệ điều hành cấp phát CPU cho trình khác thay để CPU chạy khơng (idle) Vấn đề: lựa chọn process thực thi cho “hiệu quả” - tối ưu tiêu chí cho trước Cần có chiến lược định thời CPU Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Phân loại trình Quá trình thực thi qua nhiều chu kỳ thực thi CPU đợi I/O CPU burst I/O burst CPU-bound process có thời gian sử dụng CPU nhiều thời gian sử dụng I/O I/O-bound process dùng phần lớn thời gian để đợi I/O Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn CPU-bound process: CPU burst dài Nhân ma trận I/O-bound process: CPU burst ngắn emacs emacs Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Các trạng thái trình – nhắc lại Sơ đồ chuyển trạng thái trình – sơ đồ trạng thái new admit dispatch ready exit terminated running interrupt I/O or event completion I/O or event wait waiting Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Mở rộng trạng thái trình Làm để điều chỉnh số lượng q trình nhớ chính? Swap out / swap in trình (cần phân biệt với paging!) Cơ chế Swap out: đem q trình từ nhớ đĩa Swap in: đem q trình từ đĩa vào nhớ Chọn trình để swap out / swap in Chính sách Hai trạng thái cho trình suspended ready suspended blocked Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Mở rộng trạng thái trình new suspended ready ready running suspended blocked blocked terminated Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Phân loại hoạt động định thời (1/2) new Long-term scheduling suspended ready Medium-term scheduling ready Short-term scheduling running suspended blocked Medium-term scheduling blocked terminated Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Phân loại hoạt động định thời (2/2) Định thời dài hạn (long-term scheduling): xác định process (new) đưa vào hàng đợi sẳn sàng Thường có batch system Định thời trung hạn (medium-term scheduling): xác định process đưa khỏi (swap out) hay đưa vào (swap in) nhớ Swap out / in tốn đến vài giây thời gian chu kỳ định thời trung hạn vài phút Định thời ngắn hạn (short-term scheduling): xác định process thực thi Định thời CPU SinhVienZone.com https://fb.com/sinhvienzonevn Định thời dài hạn Ảnh hưởng đến độ-đa-lập-trình (degree of multiprogramming: số lượng trình nhớ) Nếu nhiều process nhớ khả mọi process bị block có xu hướng giảm Sử dụng CPU hiệu Nhưng process phân chia khoảng thời gian sử dụng CPU nhỏ Thường có xu hướng đưa vào tập lẫn lộn CPU-bound process I/O-bound process Định thời CPU SinhVienZone.com 10 https://fb.com/sinhvienzonevn Multilevel Queue Scheduling (2/3) Định thời Multilevel Queue Scheduling cần phải thực hàng đợi với Theo cách cố định (fixed priority scheduling) – ví dụ: phục vụ tất process foreground đến background Process hàng đợi “cao” preempt process hàng đợi “thấp” Có khả xảy trì hỗn vơ hạn định (starvation) process hàng đợi có độ ưu tiên thấp Chia thời gian (time slice) – hàng đợi lấy khoảng sử dụng CPU định để định thời cho process Ví dụ: 80% cho foreground (dùng RR) 20% cho background (dùng FCFS) Định thời CPU SinhVienZone.com 60 https://fb.com/sinhvienzonevn Multilevel Queue Scheduling (3/3) Ví dụ phân nhóm q trình Độ ưu tiên cao System processes Interactive processes Batch processes Student processes Độ ưu tiên thấp Định thời CPU SinhVienZone.com 61 https://fb.com/sinhvienzonevn Multilevel Feedback Queue (1/3) Trong hệ thống sử dụng Multilevel Feedback Queue, định thời di chuyển process ready queue tùy theo đặc tính quan sát Ví dụ: Nếu process sử dụng CPU lâu, bị di chuyển sang hàng đợi có độ ưu tiên thấp Nếu process chờ lâu hàng đợi có độ ưu tiên thấp, di chuyển lên hàng đợi có độ ưu tiên cao (aging, giúp tránh starvation) Ví dụ: Windows NT/XP/Vista Định thời CPU SinhVienZone.com 62 https://fb.com/sinhvienzonevn Multilevel Feedback Queue (2/3) Ví dụ: Có hàng đợi Q0 , dùng RR với q = ms Q1 , dùng RR với q = 16 ms Q2 , dùng FCFS Giải thuật Process vào hàng đợi Q0 Khi đến lượt, process quantum ms Nếu không trả CPU vòng ms, process đưa xuống cuối hàng đợi Q1 Tại Q1 , process cho quantum 16 ms Nếu khơng trả CPU trước hết quantum bị chuyển xuống Q2 Công việc hàng đợi “cao” preempt công việc hàng đợi “thấp” Định thời CPU SinhVienZone.com 63 https://fb.com/sinhvienzonevn Multilevel Feedback Queue (3/3) Multilevel Feedback Queue xác định thơng số Có hàng đợi? Với queue sử dụng giải thuật định thời nào? Khi thăng cấp process? Khi giáng cấp process? Định thời CPU SinhVienZone.com 64 https://fb.com/sinhvienzonevn Chính sách chế (1/2) Một nguyên lý thiết kế hệ điều hành: Tách biệt sách (policy) chế (mechanism) Chính sách Lược đồ định cần phải làm (ví dụ để tối ưu tiêu chí đó) Cơ chế Cơng cụ để thực sách Định thời CPU SinhVienZone.com 65 https://fb.com/sinhvienzonevn Chính sách chế (2/2) Định thời q trình Chính sách Khi định thời trình? Quá trình chạy? Cơ chế Làm để chuyển ngữ cảnh? Dispatcher Ví dụ: Chính sách: FCFS Cơ chế: dispatcher Ưu điểm: ví dụ Thay đổi loại tải cơng việc (workload) cần thay đổi sách Thay đổi HW platform cần thay đổi dispatcher Định thời CPU SinhVienZone.com 66 https://fb.com/sinhvienzonevn Tổng kết Sự thực thi process Bộ định thời chọn process từ hàng đợi ready Dispatcher thực 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 CPU SinhVienZone.com 67 https://fb.com/sinhvienzonevn Bài tập Hệ thống đa chương gồm có q trình A & B hệ thống thực tác vụ sau: - Nạp A vào nhớ 10s, sau q trình A thực thao tác tính tốn 5s, phút để thực in kết - Nạp B vào nhớ 15s, B thực tính tốn 20s, 62 s để in Biết trình A nạp vào nhớ Hãy tính tỷ lệ % thời gian sử dụng đĩa, CPU máy in Định thời CPU SinhVienZone.com 68 https://fb.com/sinhvienzonevn Bài tập Process Burst Time P1 10 P2 29 P3 P4 P5 12 Tất đến thời điểm Xét giải thuật FCFS, SJF, RR với quantum time = 10 Giải thuật cho thời gian đợi trung bình nhỏ nhất? thơng cao nhất? thời gian quay vòng trung bình process nhỏ nhất? Định thời CPU SinhVienZone.com 69 https://fb.com/sinhvienzonevn Có q trình A, B,C thực tác vụ theo thứ tự sau: thực tính tốn, u cầu I/O lặp lại Thời gian lần thực A,B,C 10ms, 10ms, 45ms Thời gian lần thực tác vụ I/O trình A,B,C 20ms Quan sát sự thực thi trình 150ms tính độ lợi sử dụng CPU với hai giải thuật Round Robin (quantum = 20ms) FCFS Định thời CPU SinhVienZone.com 70 https://fb.com/sinhvienzonevn Bài tập SJF (non-preemptive): thời gian đợi trung bình 13 ms, tính thơng số khác Định thời CPU SinhVienZone.com 71 https://fb.com/sinhvienzonevn Bài tập RR: thời gian đợi trung bình 23 ms, tính thơng số khác Định thời CPU SinhVienZone.com 72 https://fb.com/sinhvienzonevn Bài tập Định thời CPU SinhVienZone.com 73 https://fb.com/sinhvienzonevn Bài tập Process Burst Time Arrival time Priority P1 10 P2 29 2 P3 P4 P5 12 Xét giải thuật FCFS, SJF, SRTF, Priority, RR với quantum time = 10 Giải thuật cho thời gian đợi trung bình nhỏ nhất? thơng cao nhất? thời gian quay vòng trung bình process nhỏ nhất? Định thời CPU SinhVienZone.com 74 https://fb.com/sinhvienzonevn ... CPU SinhVienZone. com https://fb .com/ sinhvienzonevn CPU-bound process: CPU burst dài Nhân ma trận I/O-bound process: CPU burst ngắn emacs emacs Định thời CPU SinhVienZone. com https://fb .com/ sinhvienzonevn... CPU SinhVienZone. com https://fb .com/ sinhvienzonevn Mở rộng trạng thái trình new suspended ready ready running suspended blocked blocked terminated Định thời CPU SinhVienZone. com https://fb .com/ sinhvienzonevn... thời CPU SinhVienZone. com 19 https://fb .com/ sinhvienzonevn Có thể làm được? Tất tiêu chí khơng thể tối ưu đồng thời có số tiêu chí liên quan Định thời CPU SinhVienZone. com 20 https://fb .com/ sinhvienzonevn