Bài giảng Hệ điều hành - Chương 5: Định thời CPU cung cấp cho người học các kiến thức: Khái niệm cơ bản, các bộ định thời, các tiêu chuẩn định thời CPU, các giải thuật định thời,... Mời các bạn cùng tham khảo.
Chương Định thời CPU -6.1- Nội dung 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) Round-Robin (RR) Shortest Job First (SJF) Shortest Remaining Time First (SRTF) Highest Response Ratio Next (HRRN) Multilevel Queue Multilevel Feedback Queue Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.2- https://fb.com/tailieudientucntt Khái niệm Trong hệ thống multi-tasking – 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 Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.3- Các định thời new Long-Term scheduling suspended ready Long-Term scheduling M edium -Term scheduling ready Short-Term scheduling running suspended blocked M edium -Term scheduling blocked term inated Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.4- https://fb.com/tailieudientucntt Các hàng đợi định thời Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.5- 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 – Sự chuyển đổi dựa cần thiết để quản lý multiprogramming – Được thực phần quản lý nhớ thảo luận phần quản lý nhớ Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.6- https://fb.com/tailieudientucntt Short-Term Scheduling Xác định process ready queue chiếm CPU để thực thi (do gọi định thời CPUCPU 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: – – – – clock interrupt I/O interrupt operating system call, trap signal Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.7- Các tiêu chuẩn định thời CPU User-oriented – Response Time: khoảng thời gian process nhận yêu cầu đến yêu cầu đáp ứng (time-sharing, interactive system) → cực tiểu – 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 – Waiting Time: tổng thời gian process đợi ready queue → cực tiểu System-oriented – processor utilization: định thời cho CPU bận tốt → cực đại – fairness: tất process phải đối xử – throughput: số process hoàn tất công việc đơn vị thời gian → cực đại Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.8- https://fb.com/tailieudientucntt 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”) Chế độ định (decision mode): chọn thời điểm thực hàm chọn lựa để định thời Có hai chế độ – Nonpreemptive Khi trạng thái running, process thực thi kết thúc bị blocked yêu cầu I/O – 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 Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.9- Khảo sát giải thuật định thời load store add store read from file C PU burst w aitforI/O I/O burst inc store w rite to file w aitforI/O C PU burst I/O burst C PU burst w aitforI/O I/O burst Process Arrival Service Tim e Tim e 2 4 5 … load store add store read from file chu kyø CPU-I/O Service time = thời gian process cần CPU chu kỳ CPU-I/O Process có service time lớn CPU-bound process Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.10- https://fb.com/tailieudientucntt First-Come First-Served (FCFS) Hàng đợi Ready hàng đợi kiểu FIFO Selection function: process đợi lâu ready queue chọn thực thi Decision mode: non-preemptive – Process thực thi đến kết thúc bị blocked I/O 15 10 20 P1 P2 P3 P4 P5 Process thực I/O độc chiếm CPU Các process I/O-bound (ít CPU-burst) không ưu tiên process CPU-bound (nhiều CPU-burst) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.11- Shortest Job First (SJF) Selection function: process có độ dài CPU burst nhỏ chọn thực thi Decision mode: non-preemptive I/O-bound process ưu tiên so với CPUbound process Yêu cầu: phải ước tính CPU-burst process 10 15 20 P1 P2 P3 P4 P5 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.12- https://fb.com/tailieudientucntt Ước tính độ dài CPU Burst Độ dài CPU Burst ước tính xấp xỉ dùng phép tính trung bình hàm mũ (exponential average) dựa độ dài CPU-burst trước tn = độ dài thực CPU burst thứ n τn+1: giá trị ước đoán CPU burst (n + 1) α, ≤ α ≤ Độ dài ước tính CPU burst thứ n+1 laø: τ n + = α tn + (1 − α )τ n Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.13- Ước tính độ dài CPU Burst (t.t) Khai triển công thức: τ n +1 = α tn + (1 − α )τ n = α tn + (1 − α )α tn−1 + (1 − α ) ατ n −1 n −1 = α ∑ (1 − α )itn− i + (1 -α )nτ i= Giá trị τ1 không ước tính mà thường gán = α=0 ⇒τn+1 = τn ⇒ không quan tâm đến “quá khứ” α=1 ⇒τn+1 = tn ⇒ quan tâm đến “ngày hôm qua” α=1/2 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.14- https://fb.com/tailieudientucntt Ví dụ ước tính độ dài CPU Burst Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.15- Nhận xét giải thuật SJF Có thể xảy tình trạng “chết đó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 (interractive) 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 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.16- https://fb.com/tailieudientucntt Shortest Remaining Time First Tương tự SJF decision mode preemptive Yêu cầu: phải ước tính CPU-burst cuûa process 10 15 20 P1 P2 P3 P4 P5 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.17- Round Robin (RR) Mỗi process nhận đơn vị nhỏ thời gian CPU (time slice, quantum time), thông thường từ 10-100 msec để thực thi Sau khoảng thời gian đó, process bị đoạt quyền trở cuối hàng đợi ready Nếu có n process hàng đợi ready quantum time = q process phải chờ đợi (n-1)*q đơn vị thời gian Hiệu suất – Nếu q lớn: RR ⇒ FCFS – Nếu q nhỏ (q không nhỏ phải tốn chi phí chuyển ngữ cảnh) Thời gian chờ đợi trung bình giải thuật RR thường lớn thời gian đáp ứng nhỏ Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.18- https://fb.com/tailieudientucntt RR với Time Quantum = ¾ Thời gian turn-around trung bình cao so với SJF có thời gian đáp ứng trung bình tốt ¾ Ưu tiên CPU-bound process I/O-bound process thường sử dụng thời gian CPU, sau phải blocked đợi I/O CPU-bound process tận dụng hết quantum time, sau quay ready queue ⇒ xếp trước process bị blocked Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.19- Time Quantum vaø Context Switch Process tim e = 10 C ontext Sw itch 12 1 10 10 0 Q uantum 10 6 10 Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.20- https://fb.com/tailieudientucntt 10 Quantum vaø response time Quantum time phải lớn thời gian dùng để xử lý clock interrupt (timer) thời gian dispatching Nên lớn thời gian tương tác trung bình (typical interaction) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.21- Highest Response Ratio Next 10 15 20 P1 P2 P3 P4 P5 RR = tim espentw aiting + expected servicetim e expected servicetim e Chọn process có giá trị RR (Response Ratio) lớn Các process ngắn ưu tiên (vì service time nhỏ) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.22- https://fb.com/tailieudientucntt 11 Multilevel Queue Scheduling Hàng đợi Ready chia thành nhiều hàng đợi riêng biệt theo số tiêu chuẩn – Đặc điểm yêu cầu định thời process – Foreground (interactive) vaø background process Process gán cố định vào hàng đợi, hàng đợi sử dụng giải thuật định thời riêng Hệ điều hành cần phải định thời cho hàng đợi – Fixed priority scheduling: phục vụ từ hàng đợi có độ ưu tiên cao đến thâp Vấn đề: có starvation – Time slice : hàng đợi nhận khoảng thời gian chiếm CPU phân phối cho process hàng đợi khoảng thời gian Ví dụ: 80% cho hàng đợi foreground định thời RR 20% cho hàng đợi background định thời giải thuật FCFS Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.23- Multilevel Queue Scheduling Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.24- https://fb.com/tailieudientucntt 12 Multilevel Feedback Queue Vấn đề multilevel queue – process chuyển từ hàng đợi sang hàng đợi khác ⇒ khắc phục chế feedback: cho phép process di chuyển cách thích hợp hàng đợi khác Multilevel Feedback Queue – Phân loại processes dựa đặc tính CPU-burst – Sử dụng decision mode preemptive – Sau khoảng thời gian đó, I/O-bound process interactive process hàng đợi có độ ưu tiên cao CPU-bound process queue có độ ưu tiên thấp – Một process chờ lâu hàng đợi có độ ưu tiên thấp chuyển đến hàng đợi có độ ưu tiên cao (cơ chế niên hạn - aging) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.25- Multilevel Feedback Queue (t.t) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.26- https://fb.com/tailieudientucntt 13 Multilevel Feedback Queue (t.t) Định thời Multilevel-feedback-queue đòi hỏi phải giải vấn đề sau – Số lượng hàng đợi thích hợp? – Dùng giải thuật định thời hàng đợi? – Làm để xác định thời điểm cần chuyển process đến hàng đợi cao thấp hơn? – Khi process yêu cầu xử lý đưa vào hàng đợi hợp lý nhất? Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6.27- So sánh giải thuật Giải thuật định thời tốt ? Câu trả lời phụ thuộc yếu tố sau: – System workload – Sự hỗ trợ phần cứng dispatcher – Sự tương quan trọng số tiêu chuẩn định thời response time, hiệu suất CPU, throughput, – Phương pháp định lượng so sánh Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6.28- https://fb.com/tailieudientucntt 14 ... Đại Học Bách Khoa Tp.HCM -6 . 5- 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... niên hạn - aging) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6 . 2 5- Multilevel Feedback Queue (t.t) Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM CuuDuongThanCong.com -6 .2 6- https://fb.com/tailieudientucntt... CPU Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa Tp.HCM -6 . 3- Các định thời new Long-Term scheduling suspended ready Long-Term scheduling M edium -Term scheduling ready Short-Term scheduling