Download - Hedieuhanh
Hệ điều hành
Nhóm 8:
Lương Công Nam
Triệu Thị Kim Khoa
Lê Bá Tuấn Anh
Nguyễn Thị Thanh Thảo
Bài 8, trang 54
Giả sử một hệ điều hành áp dụng giải thuật điều phối Multilevel feedback với 5 mức ưu tiên(giảm dần). Thời lượng quantum dành cho hàng đợi cấp 1 là 0.5s. Mỗi hàng đợi cấp thấp hơn sẽ có thời lượng quantum dài gấp đôi hàng đợi ứng với mức ưu tiên cao hơn nó. Một tiến trình khi vào hệ thống sẽ được đưa vào hàng đợi mức cao nhất và chuyển dần xuống hàng đợi bên dưới sau mỗi lượt sử dụng CPU. Một tiến trình chỉ có thể thu hồi CPU khi đã sử dụng hết thời gian quantum dành cho nó. Hệ thống có thể thực hiện các tác vụ theo lô hoặc theo tương tác, và mỗi tác vụ lại có thể theo hướng xử lí hay hướng nhập xuất.
a) Giải thích tại sao hệ thống này hoạt động không có hiệu quả?
b) Cần phải thay đổi (tối thiểu) như thế nào để hệ thống điều phối các tác vụ với những bản chất khác biệt như thế tốt hơn?
Chiến lược điều phối với nhiều mức ưu tiên
ĐộƯu
Tiên
Gi mả
Chiến lược điều phối với nhiều mức ưu tiên
Nguyên tắc:- Phân lớp các tiến trình tùy theo độ ưu tiên của chúng để có cách
thức điều phối thích hợp cho từng nhóm.
- Danh sách sẵn sàng được phân tách thành các danh sách riêng biệt theo cấp độ ưu tiên, mỗi danh sách là những tiến trình có cùng độ ưu tiên và được áp dụng một giải thuật điều phối thích hợp.
- Ngoài ra còn có giải thuật điều phối giữa các nhóm (không độc quyền và sử dụng độ ưu tiên cố định).
- Một tiến trình thuộc về danh sách ở cấp độ ưu tiên thứ i sẽ chỉ được cấp phát CPU khi các danh sách ở cấp độ ưu tiên lơn hơn i đã trống.
Cách tổ chức này sẽ làm giảm chi phí điều phối, nhưng lại thiếu linh động và có thể dẫn đến trình
trạng “đói CPU”
Điều phối Multilevel Feedback Cải tiến, khắc phục nhược điểm không mềm dẽo của giải thuật điều
phối với nhiều mức độ ưu tiên
- Multilevel feedback cho phép một tiến trình di chuyển giữa các hàng đợi.
- Nếu một tiến trình dùng quá nhiều CPU thì nó sẽ được di chuyển tới hàng đợi có độ ưu tiên thấp hơn.
- Tương tự, một tiến trình chờ quá lâu trong hàng đợi có độ ưu tiên thấp hơn có thể di chuyển tới hàng đợi có độ ưu tiên cao hơn.
Nói chung, một bộ định thời hàng đợi phản hồi nhiều cấp được định nghĩa bởi các tham số sau:
- Số lượng các cấp ưu tiên- Giải thuật điều phối có từng danh sách ứng với một cấp ưu
tiên- Phương pháp xác định thời điểm di chuyển một tiến trình lên
danh sách có độ ưu tiên cao hơn.- Phương pháp xác định thời điểm di chuyển một tiến trình lên
danh sách có độ ưu tiên thấp hơn.
- Phương pháp sử dụng để xác định một tiến trình mới được đưa vào hệ thống sẽ thuộc danh sách ứng với độ ưu tiên nào.
Điều phối Multilevel Feedback
Có 5 mức độ ưu tiên:
Cấp 0
Cấp 1
Cấp 2
Cấp 3
Cấp 4
Q 2 =1
Q 1=0.5
Q 3 =2
Q 4=4
Q 5 =8
CPU
CPU
CPU
CPU
CPU
Có 5 mức độ ưu tiên: 0, 1, 2, 3, 4.
Mức 0: q= 0.5 Mức 1: q= 1 Mức 4: q= 8
Mức 2: q= 2 Mức 3: q= 4
Một tiến trình khi vào hệ thống sẽ đưa vào hàng đợi mức cao nhất và sau mỗi lần sử dụng CPU thì đưa xuống dần hàng đợi bên dưới
Một tiến trình bị thu hồi CPU khi hết thời gian quantum dành cho nó
Hệ thống có thể thực hiện theo lô hoặc tương tác, mỗi tác vụ lại có thể hướng xử lí hay nhập xuất.
a) Tại sao hệ thống này hoạt động không hiệu quả?
b) Cần phải thay đổi(tổi thiểu) như thế nào để hệ thống điều phối các tác vụ tốt hơn?
Tóm tắt bài toán
Câu a: Tại sao hệ thống này hoạt động không hiệu quả
Giải thuật điều phối multilevel feedback (GT/54)
Phân tích bài toán
Giải thuật có độ ưu tiên cao nhất cho các tiến trình có chu kỳ CPU 0.5 ms hay ít hơn và tiếp theo là 1.5 3.5 7.5 15.5 ms
Xử lý theo lô có thể trì hoãn thời gian đáp ứng
Xử lý tương tác đòi hỏi phải đáp ứng tức thời
Phân tích bài toán
Hướng xử lý : dùng ít lần, nhưng mỗi lần dùng thời gian đủ dài
Hướng xuât/ nhập: nhiều lượt sử dụng cpu, mỗi lượt trong thời gian khá ngắn
Đánh giá dựa trên 1. Turn around time 2. Waiting time
Câu a: Tại sao hệ thống này hoạt động không hiệu quả
Xử lý theo lô
Xử lý tương tác
Hướng xử lý
Hướng xuất nhập
Hướng xử lý
Hướng xuất nhập
Giải thuật điều phối multilevel feedback (GT/54)
Có thể trì hoãn thời gian
Đáp ứng tức thời
Được xử lý liền, nhưng không cần thiết, làm việc dư
Nhiều lần chuyển đổi ngữ cảnh, thời gian chờ cao, thời gian lưu lại hệ
thống cao, tạm chấp nhận được
Tốt , chấp nhận được
Nhiều lần chuyển đổi ngữ cảnh, thời gian
chờ cao, thời gian lưu lại hệ thống cao,
không thể chấp nhận được
Câu b: Cần thay đổi ( tối thiểu ) như thế nào để hệ thống điều phối các tác vụ trên tốt hơn
1) Điều chỉnh lại thời gian quantum của từng hàng đơi cho thích hợp
2) Khi tiến trình mới phát sinh thì phải được đưa vào hàng đợi có độ ưu tiên thích hợp.
Ví dụ : tiến trình xử lý theo lô thì cho vào hàng đợi 3,4. Còn tiến trình xử lý tương tác thì phải được đưa vào hàng đợi 0, 1, 3 ( việc phân loại tính chất của tiến trình là do “ bộ điều phối tác vụ”.
Tài liệu tham khảo
• Slide bài giảng HĐH cô Trần Hạnh Nhi + Giáo trình (Đại học khoa học tự nhiên TPHCM)
• Slide bài giảng HĐH thầy Trần Sơn Hải – ĐH Sư Phạm TPHCM
• http://en.wikipedia.org/wiki/Multilevel_feedback_queue
Thảo luận
Xử lý tương tác• Là xử lý thực hiện từng phần, phần xử lý bởi con người và bởi
máy tính được thực hiện xen kẽ nhau. Con người dẫn dắt các tiến trình xử lý, có thể ngắt và tham gia vào các tiến trình xử lý. Trong tiến trình xử lý tương tác, máy tính đóng vai trò trợ giúp tích cực.
• Phương thức được lựa chọn cho các hệ thống phải xử lý nhiều thông tin có mối quan hệ phức tạp với nhau, khó mô tả bằng các công thức, các phương trình toán học. Con người phải thường xuyên vận dụng những kinh nghiệm công tác của mình vào trong tiến trình xử lý.
• Sự hồi đáp đòi hỏi phải tức thời
Xử lý theo lô• Là tiến trình tập hợp những thông tin sẵn có hoặc tạo ra thông
tin mới theo định kỳ. Các công việc xử lý theo lô có thể tự động chạy mà không cần sự can thiệp ở ngoài vào ( con người). Ví dụ về xử lý theo lô là lập báo cáo định kỳ hàng tuần, hang tháng.Phương thức xử lý theo lô thích hợp với những tiến trình xử lý thông tin mà trong đó:- Việc truy cập thông tin diễn ra định kỳ.- Khuôn dạng và kiểu dữ liệu hoàn toàn xác định.- Thông tin khá ổn định trong khoảng thời gian giữa hai tiến trình xử lý liên tiếp.
• Sự hồi đáp có thể trì hoãn trong một thời gian chấp nhận được
Tính hướng xuất nhập của tiến trình
• Khi 1 tiến trình nhận được CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu xuất nhập
• Hoạt động của tiến trình như thế thường bao gồm nhiều lượt sử dụng cpu, mỗi lượt trong thời gian khá ngắn
Tính hướng xử lý của tiến trình
• Khi một tiến trình được nhận cpu , nó có khuynh hướng sử dụng cpu đến khi hết thời gian danh cho nó.
• Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng cpu, nhưng mỗi lượt trong thời gian đủ dài
Ví dụ: Thuật toán điều phối với 3 hàng đợi ứng với 3 cấp độ ưu tiên, mỗi hàng áp dụng RR với 1 thời gian q.
Cấp 0
Cấp 1
Cấp 2
Q 2 =1
Q 1=0.5
Q 3 =2
CPU
CPU
CPU
Ví dụ: Thuật toán điều phối với 3 hàng đợi ứng với 3 cấp độ ưu tiên, mỗi hàng áp dụng RR với 1 thời gian q.
Áp dụng thuật toán RR cho cấp 0
Cấp 0 C B A
Q 1=0.5CPU
Thời điểm IO 121
Tiến trình ABC
Tồng thời gian 634
Thời gian I/O 422
Sau khi tất cả tiến trình ở cấp 0 kết thúc thì tiến trình ở cấp 1 mới bắt đầu.Tương tự, áp dụng RR cho cấp 1 và cấp 2