CHƯƠNG CHƯƠNG 4: L 4: L Ậ Ậ P L P L Ị Ị CH BI CH BI Ể Ể U CPU U CPU CPU CPU Scheduling Scheduling 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 N N Ộ Ộ I DUNG I DUNG Các khái niệmcơ sở Các tiêu chuẩnlậplịch biểu Các thuật toán lậplịch biểu Lậplịch biểu đa processors Lậplịch biểuthờigianthực (Real-Time Scheduling) Các ví dụ HĐH Đánh giá thuật toán 5.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 C C Á Á C KH C KH Á Á I NI I NI Ệ Ệ M CƠ S M CƠ S Ở Ở Sử dụng CPU cực đạinhận đượcbởi đachương Chu kỳ CPU-I/O (CPU–I/O Burst Cycle) – sự thựchiện quá trình gồmchukỳ thựchiệnCPU vàchờ I/O Sự phân tán CPU burst 5.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 DÃY LUÂN PHIÊN C DÃY LUÂN PHIÊN C Á Á C CHU K C CHU K Ỳ Ỳ CPU V CPU V À À CHU CHU K K Ỳ Ỳ I/O I/O 5.5 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 BI BI Ể Ể U Đ U Đ Ồ Ồ TH TH Ờ Ờ I GIAN CHU K I GIAN CHU K Ỳ Ỳ CPU CPU 5.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 B B Ộ Ộ Đ Đ Ị Ị NH TH NH TH Ờ Ờ I CPU I CPU Chọn trong các quá trình sẵn sàng một quá trình và cấp CPU cho nó Quyếtdịnh lậplịch biểuCPU xảyrakhimột quá trình : 1. Chuyểntừ trạng thái running sang trạng thái waiting 2. Chuyểntừ trạng thái running sang trạng thái ready 3. Chuyểntừ trạng thái waiting sang trạng thái ready 4. Kết thúc Lậplịch biểu cho 1 và 4 là không trưng dụng (nonpreemptive) Lậplịch biểucònlạilàtrưng dụng (preemptive) 5.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 B B Ộ Ộ ĐI ĐI Ề Ề U V U V Ậ Ậ N N Module điềuvậnchuyển điềukhiển CPU cho quá trình đượcchọn bởibộđịnh thờingắnhạn, bao gồm: z Chuyểnngữ cảnh z Chuyển sang phương thúc user z Nhảy đếnvị trí đúng trong chương trình người dùng để bắt đầu lạichương trình này Tiềm ẩn điềuvận (Dispatch latency) –thờigianbộđiềuvậnngưng một quá trình và khởi động một quá trình khác 5.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 C C Á Á C TIÊU CHU C TIÊU CHU Ẩ Ẩ N L N L Ậ Ậ P L P L Ị Ị CH BI CH BI Ể Ể U U Sự sử dụng CPU: Làm cho CPU bậnrộnnhư có thể Năng lựctruyền qua (throughput): số quá trình hoàn tấtsự thựchiệncủa chúng trong một đơnvị thờigian Thời gian quay vòng (Turnaround time) – lượng thờigian thựchiệnmột quá trình Thờigianchờ (Waiting time) – lượng thờigianmột quá trình phảichờ trong hàng đợi ready Thờigianđáp ứng (Response time) – lượng thờigiantừ khi mộtyêucầu được đệ trình đếnkhiđáp ứng đầutiên đượcsinhra 5.9 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 C C Á Á C TIÊU CHU C TIÊU CHU Ẩ Ẩ N T N T Ố Ố I ƯU I ƯU Max sự sử dụng CPU Max throughput Min turnaround time Min waiting time Min response time 5.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 First First - - Come, First Come, First - - Served (FCFS) Served (FCFS) Process Burst Time P 1 24 P 2 3 P 3 3 Giả sử các quá trình đếntheothứ tự: P 1 , P 2 , P 3 Biểu đồ Gantt cho lịch biểu: Waiting time: đốivới P 1 = 0; P 2 = 24; P 3 = 27 Waiting time trung bình: (0 + 24 + 27)/3 = 17 P 1 P 2 P 3 24 27 300 [...]... background (batch) Mỗi hàng đợi có thuật toán lập lịch biểu riêng của nó foreground – RR background – FCFS Lập lịch biểu được làm giữa các hàng đợi Lập lịch biểu ưu tiên cố định (phục vụ tất cả quá trình trong foreground sau đó mới đến các quá trình trong background) Có thể gây nên chết đói Lát thời gian: mỗi hàng đợi nhận một lượng thời gian CPU nhất định để lập lịch biểu cho các quá trình của nó (ví dụ 80%... 2005 5.23 Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU HÀNG ĐỢI ĐA MỨC Operating System Concepts – 7th Edition, Feb 2, 2005 5.24 Silberschatz, Galvin and Gagne ©2005 HÀNG ĐỢI PHẢN HỒI ĐA MỨC Mỗi quá trình có thể di chuyển giữa các hàng đợi Bộ lập lịch biểu hàng đợi phản hồi đa mức được xác định bởi các tham số sau: Số hàng đợi Các thuật toán lập lịch biểu cho mỗi hàng đợi Phương pháp xác định khi... milliseconds Q2 – FCFS Lập lịch biểu Một công việc mới được sắp vào hàng đợi Q0, ở đó nó được lập lịch biểu RR với time quantum = 8 miliseconds, nếu quá trình chua kết thúc sau 8 miliseconds, nó được chuyển sang hàng đợi Q1 Trong Q1 công việc được phục vụ theo RR với time quantum 16 miliseconds Nếu nó vẫn chua hoàn tất, nó sẽ được chuyển sang Q2 Trong Q2 quá trình được lập lịch biểu FCFS Operating System... – 7th Edition, Feb 2, 2005 5.17 Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU ƯU TIÊN Mỗi quá trình được gán cho một số ưu tiên (một số nguyên) CPU được cấp cho quá trình với độ ưu tiên cao nhất (thông thường số ưu tiên nhỏ = độ ưu tiên cao) Trưng dụng Không trưng dụng SJF là lập lịch biểu ưu tiên trong đó quá trình có chu kỳ CPU tiên đoán ngắn nhất có độ ưu tiên cao nhất Vấn đề: Sự chết đói –... của nó Sử dụng các độ dài này để lập lịch biểu quá trình với thời gian ngắn nhất Hai sơ đồ: Không trưng dụng: mỗi khi CPU được gán cho một quá trình, nó không bị trưng dụng đến tận khi hoàn tất chu kỳ CPU của nó Trưng dụng: Nếu một quá trình mới đến có chu kỳ CPU ngắn hơn thời gian còn lại của quá trình đang thực hiện, trưng dụng CPU của quá trình đang thực hiện, cấp CPU cho quá trình mới đến Sơ đồ... Feb 2, 2005 5.14 Silberschatz, Galvin and Gagne ©2005 XÁC ĐỊNH ĐỘ DÀI CHU KỲ CPU KẾ TIẾP Chỉ có thể ước lượng độ dài Sử dụng độ dài cùa các chu kỳ CPU trước đó, ước lượng độ dài chu kỳ CPU kế tiếp theo trung bình mũ: - tn = độ dài chu kỳ CPU thứ n - τn = độ dài ước lượng chu kỳ CPU thứ n - α: 0 ≤ α ≤ 1 - độ dài ước lượng chu kỳ CPU thứ n+1 được xác định: τ n +1 = α tn + (1 − α )τ n Operating System Concepts... 2005 5.27 Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU ĐA Processors Phức tạp hơn Các processors thuần nhất Chia sẻ nạp Đa xử lý phi đối xứng – chỉ một processor truy xuất các cấu trúc dữ liệu hệ thống làm giảm nhẹ sự cần thiết chia sẻ dữ liệu Operating System Concepts – 7th Edition, Feb 2, 2005 5.28 Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU THỜI GIAN THỰC Các hệ thời gian thực cứng... trình khác Operating System Concepts – 7th Edition, Feb 2, 2005 5.29 Silberschatz, Galvin and Gagne ©2005 CÁC VÍ DỤ HĐH Solaris scheduling Windows XP scheduling Linux scheduling Operating System Concepts – 7th Edition, Feb 2, 2005 5.30 Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU Solaris 2 Operating System Concepts – 7th Edition, Feb 2, 2005 5.31 Silberschatz, Galvin and Gagne ©2005 BẢNG ĐIỀU VẬN... Silberschatz, Galvin and Gagne ©2005 LẬP LỊCH BIỂU Linux Hai thuật toán: time-sharing và real-time Time-sharing Ừu tiên dựa trên tín dụng: quá trình với tín dụng cao nhất được chọn kế tiếp Tín dụng bị trừ khi ngắt đồng hồ xảy ra Khi tín dụng = 0, quá trình khác được chọn Khi tất cả các quá trình có tín dụng = 0, lập lại tín dụng Dựa trên các nhân tố bao gồm độ ưu tiên và lịch sử Real-time Real-time mềm... , P3 , P1 Biểu đồ Gantt cho lịch biểu: P2 0 P3 3 P1 6 30 Waiting time đối với P1 = 6; P2 = 0; P3 = 3 Average waiting time: (6 + 0 + 3)/3 = 3 Tốt hơn nhiều so với trường hợp trước Hiệu ứng đoàn xe: quá trình ngắn đi sau quá trình dài Operating System Concepts – 7th Edition, Feb 2, 2005 5.11 Silberschatz, Galvin and Gagne ©2005 Shortest-Job-First (SJF) Kết hợp với mỗi quá trình độ dài chu kỳ CPU của nó . niệmcơ sở Các tiêu chuẩnlậplịch biểu Các thuật toán lậplịch biểu Lậplịch biểu đa processors Lậplịch biểuthờigianthực (Real-Time Scheduling) Các ví. CHƯƠNG CHƯƠNG 4: L 4: L Ậ Ậ P L P L Ị Ị CH BI CH BI Ể Ể U CPU U CPU CPU CPU Scheduling Scheduling 5.2 Silberschatz, Galvin