Chuong04 Process 1 Khoa KTMT Chöông IV Ñònh thôøi CPU Khaùi nieäm cô baûn Caùc boä ñònh thôøi ‟ long term, mid term, short term Caùc tieâu chuaån ñònh thôøi CPU Caùc giaûi thuaät ñònh thôøi ‟[.]
Chương IV: Định thời CPU Khái niệm Các định thời ‟ long-term, mid-term, short-term 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) vaø Shortest Remaining Time First (SRTF) ‟ Priority Scheduling ‟ Round-Robin (RR) ‟ Highest Response Ratio Next (HRRN) ‟ Multilevel Queue ‟ Multilevel Feedback Queue Khoa KTMT Mục tiêu Hiểu được: – Tại phải định thời – Các tiêu chí định thời – Một số giải thuật định thời Khoa KTMT 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, có process thực thi Do đó, cần phải giải vấn đề phân chia, lựa chọn process thực thi cho hiệu chiến lược định thời CPU Định thời CPU ‟ Chọn process (từ ready queue) thực thi ‟ Với multithreaded kernel, việc định thời CPU OS chọn kernel thread chiếm CPU Khoa KTMT Các định thời new Long-term scheduling suspended ready Long-term scheduling Medium-term scheduling ready Short-term scheduling running suspended blocked Khoa KTMT Medium-term scheduling blocked terminated Các định thời Long-term scheduling ‟ Xác định chương trình chấp nhận nạp vào hệ thống để thực thi ‟ Điều khiển mức độ multiprogramming hệ thống ‟ Long term scheduler thường cố gắng trì xen lẫn CPU-bound I/O-bound process Medium-term scheduling ‟ Process đưa vào (swap in), đưa khỏi (swap out) nhớ ‟ Được thực phần quản lý nhớ thảo luận phần quản lý nhớ Khoa KTMT 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 có kiện/interrupt sau xảy ra: ‟ t thời gian (clock interrupt) ‟ Ngắt ngoại vi (I/O interrupt) ‟ Lời gọi hệ thống (operating system call) ‟Chương Signal tập trung vào định thời Khoa KTMT ngắn hạn 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 Khoa KTMT Các tiêu chuẩn định thời CPU User-oriented ‟ Thời gian đáp ứng (Response time): khoảng thời gian process nhận yêu cầu đến yêu cầu đáp ứng (timesharing, interactive system) cực tiểu ‟ Thời gian quay vòng (hoàn thành) (Turnaround time): khoảng thời gian từ lúc process nạp vào hệ thống đến process kết thúc cực tiểu ‟ Thời gian chờ (Waiting time): tổng thời gian process đợi ready queue cực tiểu System-oriented ‟ Sử dụng CPU (processor utilization): định thời cho CPU bận tốt cực đại ‟ Công (fairness): tất process phải đối xử ‟ Thông lượng (throughput): số process hoàn tất công việc đơn vị thời gian cực đại Khoa KTMT Hai yếu tố giải thuật định thời Hàm chọn lựa (selection function): dùng để chọn process ready queue thực thi (thường dựa độ ưu tiên, yêu cầu tài nguyên, đặc điểm thực thi process,…), ví dụ „ w = tổng thời gian đợi hệ thống „ e = thời gian phục vụ „ s = tổng thời gian thực thi process (bao gồm “e”) Khoa KTMT Hai yếu tố giải thuật định thời (tt) Chế độ định (decision mode): chọn thời điểm thực hàm chọn lựa để định thời Có hai chế độ ‟ Không trưng dụng (Non-preemptive) Khi trạng thái running, process thực thi kết thúc bị blocked yêu cầu I/O ‟ Trưng dụng (Preemptive) Process thực thi (trạng thái running) bị ngắt nửa chừng chuyển trạng thái ready hệ điều hành Chi phí cao non-preemptive đánh đổi lại thời gian đáp ứng tốt trường hợp process độc chiếm CPU lâu Khoa KTMT 10 ... burst CPU burst I/O burst CPU burst moät chu kyø CPU- I/O Process Arrival Time Service Time 2 4 5 I/O burst … wait for I/O CPU burst Service time = thời gian process cần CPU chu kỳ CPU- I/O... ready Long-term scheduling Medium-term scheduling ready Short-term scheduling running suspended blocked Khoa KTMT Medium-term scheduling blocked terminated Caùc định thời Long-term scheduling ‟... nhớ Khoa KTMT 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