Mục tiêu của bài giảng Hệ điều hành - Chương 4: Định thời CPU là giúp người học hiểu được các khái niệm cơ bản về định thời, biết được các tiêu chuẩn định thời CPU, hiểu được các giải thuật định thời,... Mời các bạn cùng tham khảo nội dung chi tiết.
Chương 4: Định thời CPU - CuuDuongThanCong.com https://fb.com/tailieudientucntt Câu hỏi ôn tập Process control block (PCB) chứa thơng tin gì? Các tác vụ tiến trình? Tại phải định thời, có loại định thời? CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Mục tiêu Biết khái niệm định thời Biết tiêu chuẩn định thời CPU Hiểu giải thuật định thời Vận dụng giải thuật định thời để làm tập mô CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Nội dung Các khái niệm định thời Các định thời Các tiêu chuẩn định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Priority Scheduling CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Nội dung Các khái niệm định thời Các định thời Các tiêu chuẩn định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Priority Scheduling CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Khái niệm Trong hệ thống multitasking Thực thi nhiều chương trình đồng thời làm tăng hiệu suất hệ thống Tại thời điểm, hệ thống đơn xử lý (single-processor system) có process thực thi; process khác phải chờ xử lý rảnh tái định thời lại Cần phải giải vấn đề phân chia, lựa chọn process thực thi cho hiệu Phải có chiến lược định thời CPU, tức để đưa process vào thực thi CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Nội dung Các khái niệm định thời Các định thời Các tiêu chuẩn định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Priority Scheduling CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Các định thời (tt) Long-term scheduling Medium-term scheduling (Xem lại slide chương 3) CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Các định thời (tt) Short-term scheduling Xác định process ready queue chiếm CPU để thực thi (còn gọi định thời CPU, CPU scheduling) Short term scheduler gọi với tên khác dispatcher Bộ định thời short-term gọi process: (1) Chuyển từ trạng thái running tới waiting (2) Chuyển từ trạng thái running tới ready (3) Chuyển từ waiting tới ready (4) Kết thúc CuuDuongThanCong.com https://fb.com/tailieudientucntt Định thời CPU Dispatcher Dispatcher chuyển quyền điều khiển CPU cho process chọn định thời ngắn hạn Bao gồm: Chuyển ngữ cảnh (sử dụng thông tin ngữ cảnh PCB) Chuyển chế độ người dùng Nhảy đến vị trí thích hợp chương trình ứng dụng để khởi động lại chương trình (chính program counter PCB) Cơng việc gây phí tổn Dispatch latency: thời gian mà dispatcher dừng process khởi động process khác CuuDuongThanCong.com 10 https://fb.com/tailieudientucntt Định thời CPU Preemptive SJF (SRTF) Ví dụ 1: Process Arrival TimeBurst Time P1 P2 P3 P4 Ví dụ 2: Gantt Chart P1 P2 P3 P2 P4 P1 11 16 Average waiting time = (9 + + + 2)/4 = CuuDuongThanCong.com 29 Process Arrival TimeBurst Time P1 P2 P3 P4 https://fb.com/tailieudientucntt Định thời CPU Nhận xét giải thuật SJF Có thể xảy tình trạng “đói” (starvation) process có CPU-burst lớn có nhiều process với CPU-burst nhỏ đến hệ thống Cơ chế non-preemptive không phù hợp cho hệ thống time sharing (interactive) Giải thuật SJF ngầm định độ ưu tiên theo burst time Các CPU-bound process có độ ưu tiên thấp so với I/O-bound process, process không thực I/O thực thi độc chiếm CPU kết thúc CuuDuongThanCong.com 30 https://fb.com/tailieudientucntt Định thời CPU Nhận xét giải thuật SJF (tt) Tương ứng với process cần có độ dài CPU burst Hàm lựa chọn: chọn process có độ dài CPU burst nhỏ Chứng minh được: SJF tối ưu việc giảm thời gian đợi trung bình Nhược điểm: Cần phải ước lượng thời gian cần CPU process Giải pháp cho vấn đề này? CuuDuongThanCong.com 31 https://fb.com/tailieudientucntt Định thời CPU Nhận xét giải thuật SJF (tt) (Thời gian sử dụng CPU độ dài CPU burst) Như để ước lượng CPU burst tiếp theo? Trung bình tất CPU burst đo khứ Nhưng thông thường CPU burst phản ánh đúng hành vi process tương lai Một kỹ thuật thường dùng sử dụng trung bình hàm mũ (exponential averaging) n 1 t n 1 n Với n 1 tn 0≤a≤1 : giá trị ước lượng độ dài CPU burst thứ n +1 : giá trị thật độ dài CPU burst thứ n Nếu chọn a = ½ có nghĩa trị đo đượct n trị dự đoán n xem quan trọng CuuDuongThanCong.com 32 https://fb.com/tailieudientucntt Định thời CPU Dự đoán thời gian sử dụng CPU Độ dài CPU burst đo Độ dài CPU burst dự đốn, với a = ½ 0 = 10 CuuDuongThanCong.com 33 https://fb.com/tailieudientucntt Định thời CPU Nội dung Các khái niệm định thời Các định thời Các tiêu chuẩn định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Priority Scheduling CuuDuongThanCong.com 34 https://fb.com/tailieudientucntt Định thời CPU Priority Scheduling Mỗi process gán độ ưu tiên CPU cấp cho process có độ ưu tiên cao Định thời sử dụng độ ưu tiên có thể: Preemptive Nonpreemptive CuuDuongThanCong.com 35 https://fb.com/tailieudientucntt Định thời CPU Priority Scheduling (tt) SJF giải thuật định thời sử dụng độ ưu tiên với độ ưu tiên thời-gian-sử-dụng-CPU-dựđoán Gán độ ưu tiên dựa vào: Yêu cầu nhớ Số lượng file mở Tỉ lệ thời gian dùng cho I/O thời gian sử dụng CPU Các u cầu bên ngồi ví dụ như: số tiền người dùng trả thực thi công việc CuuDuongThanCong.com 36 https://fb.com/tailieudientucntt Định thời CPU Priority Scheduling (tt) Vấn đề: trì hỗn vơ hạn định – process có độ ưu tiên thấp khơng thực thi Giải pháp: làm (aging) – độ ưu tiên process tăng theo thời gian CuuDuongThanCong.com 37 https://fb.com/tailieudientucntt Định thời CPU Priority Scheduling (tt) Ví dụ: Gantt chart Average waiting time = (6 + + 16 + 18 + 1)/5 = 8.2 CuuDuongThanCong.com 38 https://fb.com/tailieudientucntt Định thời CPU Nội dung Các khái niệm định thời Các định thời Các tiêu chuẩn định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Priority Scheduling CuuDuongThanCong.com 39 https://fb.com/tailieudientucntt Định thời CPU Câu hỏi ôn tâp Có định thời? Kể tên? Nêu tiêu chí định thời? Nêu ưu điểm nhược điểm giải thuật định thời FCFS, SJF, SRTF, Priority? CuuDuongThanCong.com 40 https://fb.com/tailieudientucntt Định thời CPU Bài tập Sử dụng giải thuật FCFS, SJF, SRTF, Priority để tính giá trị thời gian đợi, thời gian đáp ứng thời gian hoàn thành trung bình CuuDuongThanCong.com 41 https://fb.com/tailieudientucntt Định thời CPU Bài tập (tt) Sử dụng giải thuật FCFS, SJF, SRTF, Priority để tính giá trị thời gian đợi, thời gian đáp ứng thời gian hồn thành trung bình CuuDuongThanCong.com 42 https://fb.com/tailieudientucntt Định thời CPU Kết thúc chương 4-1 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Định thời CPU Khái niệm Trong hệ thống multitasking Thực thi nhiều chương trình đồng thời làm tăng hiệu suất hệ thống Tại thời điểm, hệ thống đơn xử lý (single-processor system) có process... xảy tình trạng “đói” (starvation) process có CPU-burst lớn có nhiều process với CPU-burst nhỏ đến hệ thống Cơ chế non-preemptive không phù hợp cho hệ thống time sharing (interactive) Giải thuật... CPU chu kỳ CPU-I/O Process có service time lớn CPU-bound process CuuDuongThanCong.com 18 https://fb.com/tailieudientucntt Định thời CPU Các giải thuật định thời First-Come, First-Served (FCFS)