Bài giảng Hệ điều hành Máy tính: Lecture 6 do Nguyễn Thanh Sơn biên soạn với mục tiêu chính như: Tại sao 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. Mời các bạn cùng tham khảo!
Định thời CPU (Scheduling) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Mục tiêu Hiểu 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 Ghi chú: slide có dấu * tiêu đề slide dùng để diễn giải thêm BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Một cách phân loại trình Chu kỳ CPU-I/O 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 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Vấn đề cần giải Trong hệ thống multitasking (Đa nhiệm) Tại thời điểm nhớ có nhiều process Tại thời điểm có process thực thi Do đó, cần phải giải quyết vấn đề phân loại lựa chọn process thực thi cho hiệu Cần có chiến lược định thời CPU BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Phân loại định thời new Long-term scheduling suspended ready Long-term scheduling Đường gạch rời: chuyển đổi khơng thiết có Medium-term scheduling ready Short-term scheduling running BK suspended blocked Medium-term scheduling blocked terminated TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Phân loại định thời (tt.) Định thời dài hạn (long-term scheduling): xác định process chấp nhận vào hệ thống Định thời trung hạn (medium-term scheduling): xác định process đưa vào (swap in), đưa khỏi (swap out) nhớ Swap in/out 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 tiếp theo BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Định thời dài hạn Xác định chương trình đưa vào hệ thống để thực thi Quyết định độ-đa-lập-trình (degree of multiprogramming) Nếu nhiều process đưa vào hệ thống Khả mọi process bị block có xu hướng giảm Sử dụng CPU hiệu Mỗi process phân chia khoảng thời gian sử dụng CPU thấp Thường có xu hướng đưa vào tập lẫn lộn CPU-bound process I/O-bound process BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Định thời trung hạn Quyết định việc đưa process vào nhớ chính, hay khỏi nhớ Phụ thuộc vào yêu cầu quản lý việc đa-lập-trình (multiprogramming) Cho phép định thời dài hạn chấp nhận nhiều process số lượng process mà có tổng kích thước chứa vừa nhớ Nhưng nếu có nhiều process làm tăng việc truy xuất đĩa, cần phải lựa chọn độ-đa-lập- trình cho phù hợp Được thực phần mềm quản lý nhớ BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Định thời ngắn hạn Xác định process thực thi tiếp theo, gọi định thời CPU Được kích hoạt có kiện dẫn đến khả chọn process để thực thi 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 Chương tập trung vào định thời ngắn hạn BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính Nội dung cần quan tâm Định thời hệ thống có processor (uniprocessor scheduling): quyết định việc sử dụng (một) CPU cho tập process hệ thống Tiêu chí nào? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10 Multilevel Feedback Queue Trong hệ thống Multilevel Feedback Queue, định thời di chuyển process queue tùy theo đặc tính 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ờ qua 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) 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính BK TP.HCM 57 Multilevel Feedback Queue (tt.) Ví dụ: Có hàng đợi Q0 , dùng RR với quantum ms Q1 , dùng RR với quantum 16 ms Q2 , dùng FCFS Giải thuật Công việc vào hàng đợi Q0 Khi đến lượt mình, cơng việc khoảng thời gian milli giây Nếu không kết thúc milli giây, công việc đưa xuống hàng đợi Q1 Tại Q1, tương tự công việc sau chờ cho khoảng thời gian thực thi 16 milli giây Nếu hết thời gian chưa kết thúc bị chuyển sang Q2 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 58 Multilevel Feedback Queue (tt.) 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? Xác định thời điểm thăng cấp cho process? Làm để xác định thời điểm giáng cấp process? Xác định hàng đợi process vào process cần thực thi? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 59 Policy Mechanism * Rất quan trọng định thời phân phối tài nguyên Policy Điều (what) nên (hay cần) làm Mechanism Làm (how) để làm điều Ví dụ Policy: tất người dùng cần công Mechanism: sử dụng round robin Policy: cơng việc trả tiền cao có độ ưu tiên cao Mechanism: sử dụng giải thuật preemptive BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 60 Định thời hệ thống multiprocessor* Nếu có nhiều CPU thực việc chia tải Phức tạp so với định thời processor Làm để chia tải? Asymmetric multiprocessor Một master processor thực định thời cho tất processor lại Symmetric multiprocessor (SMP) Hoặc processor có hàng đợi ready riêng định thời riêng Hoặc có hàng đợi ready chung cho tất processors BK Một processor chọn làm scheduler cho processor khác Hoặc processor có định thời riêng tự chọn process từ hàng đợi chung để thực thi TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 61 Processor affinity* Khi process chạy processor, có số liệu cache nhớ cache processor Khi process di dời sang processor khác Cache processor phải repopulated Cache processor cũ phải invalidated vấn đề phí tổn BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 62 Cân tải * Một processor có nhiều tải, xử lý khác lại rảnh Cân tải sử dụng: Push migration: task đặc biệt định kỳ kiểm tra tải tất processors công việc đẩy đến processor rảnh Pull migration: processor rảnh lấy công việc từ processor bận Một số hệ thống (ví dụ Linux) thực hai Cần phải có cân load balancing processor affinity BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 63 Phương pháp đánh giá giải thuật định thời CPU * Deterministic modeling Queuing models 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 Khơng sát thực tế Xây dựng mô chạy thử Định nghĩa trước tập tải (workload) khảo sát performance giải thuật tập tải Khơng tổng quát Mô (simulation) Với tập tải giả (thường sinh tự động) Hoặc tập tải ghi nhận từ thực tế Hiện thực Viết mã giải thuật test hệ thống thực BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 64 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 hệ thống multiprocessor (đọc thêm) Processor affinity cân tải Phương pháp đánh giá giải thuật định thời CPU (đọc thêm) Mơ hình, mơ phỏng, thực BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 65 Một số vấn đề bàn thêm Cách làm tốt adaptive Để thực tối ưu hồn tồn cần phải tiên đốn tương lai (!) Thực tế đa số giải thuật lại cho kết gán độ ưu tiên cao cho process có nhu cầu Vấn đề định thời có xu hướng chuyển sang “tweak and see” Các tiêu chí nên tối ưu? Có nhiều, tùy vào hệ thống, ngữ cảnh mà chọn lựa BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 66 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, SFJ, 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? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 67 Bài tập FCFS: thời gian đợi trung bình 28 milli giây, tính thông số khác BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 68 Bài tập SJF (nonpreemptive): thời gian đợi trung bình 13 milli giây, tính thơng số khác BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 69 Bài tập RR: thời gian đợi trung bình 23 milli giây, tính thơng số khác BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 70 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 71 ... tục chạy BK TP.HCM 25-Aug- 16 Khoa Khoa học & Kỹ thuật Máy tính 22 Dispatch latency Conflict phase: xem p 171 BK TP.HCM 25-Aug- 16 23 Các giải thuật định thời BK TP.HCM 25-Aug- 16 Khoa Khoa học & Kỹ... TP.HCM 25-Aug- 16 Khoa Khoa học & Kỹ thuật Máy tính Phân loại định thời new Long-term scheduling suspended ready Long-term scheduling Đường gạch rời: chuyển đổi không thiết có Medium-term scheduling... Short-term scheduling running BK suspended blocked Medium-term scheduling blocked terminated TP.HCM 25-Aug- 16 Khoa Khoa học & Kỹ thuật Máy tính Phân loại định thời (tt.) Định thời dài hạn (long-term