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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mở rộng trạng thái trình new suspended ready ready running suspended blocked blocked terminated Định thời CPU CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Đị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 CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 60 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 61 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 62 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 63 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 64 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 65 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 66 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 67 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 68 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 69 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 70 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 71 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 72 https://fb.com/tailieudientucntt Bài tập Định thời CPU CuuDuongThanCong.com 73 https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com 74 https://fb.com/tailieudientucntt ... https://fb .com/ tailieudientucntt 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. .. Định thời CPU CuuDuongThanCong. com 39 https://fb .com/ tailieudientucntt Dự đoán thời gian sử dụng CPU (2/2) Độ dài CPU burst đo Độ dài CPU burst dự đốn, với a = ½ 0 = 10 Định thời CPU CuuDuongThanCong. com. .. tăng theo thời gian Định thời CPU CuuDuongThanCong. com 48 https://fb .com/ tailieudientucntt Round Robin (RR) (1/4) Hàm lựa chọn: giống FCFS Định thời CPU CuuDuongThanCong. com 49 https://fb .com/ tailieudientucntt