Hiện tượng đảo độ ưu tiên (Priority inversion phenomenon)

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 81 - 83)

Trong lập lịch preemtive được điều khiển bởi độ ưu tiên cố dịnh và các tài nguyên quan trọng được bảo vệ với kỹ thuật loại trừ lẫn nhau, hiện tượng đảo độ ưu tiên có thể xẩy ra. Để minh hoạ vấn đề này, chúng ta hãy xét một tập tác vụ được tạo nên bởi 4 tác vụ {τ1, τ2,τ3,τ4 } có độ ưu tiên giảm dần. Tác vụ τ2 và τ4 chia sẻ tài nguyên quan trong R1, việc truy xuất tài nguyên này là loại trừ lẫn nhau. Chúng ta cùng tập trung vào thời gian phản hồi của tác vụ τ2. Dãy lập lịch (scheduling sequence) được cho ở hình 3.8. Tác vụ có độ ưu tiên thấp nhất τ4 bắt đầu thực thi đầu tiên và sau một khoảng thời gian nó đi vào miền găng sử dụng tài

nguyên R1. Khi tác vụ τ4 ở trong miền găng, tác vụ có độ ưu tiên cao hơn τ2 được giải phóng và tước quyền (preempt) tác vụ τ2. Trong khi thực thi τ2, thì τ3 được giải phóng. Nhưng τ3 có độ ưu tiên thấp hơn nên phải đợi. Khi tác vụ τ2 cần đi vào miền găng, cùng với tài nguyên quan trọng R1 được chia sẻ với τ4, nó nhận ra rằng R1 đang được nắm giữ bởi τ4. Vì thế nó bị khoá. Tác vụ có độ ưu tiên cao nhất có thể được thực thi là τ3. Vì thế tác vụ τ3 lấy được bộ xử lý và chạy.

Trong quá trình thực thi, tác vụ có độ ưu tiên cao nhất τ1 thức. Vậy là tác vụ

τ3 bị ngưng và bộ xử lý được cấp phát cho τ1. Khi kết thúc thực thi τ1, τ3 có thể quay trở lại tiếp tục thực thi cho tới khi nó kết thúc. Giờ tác vụ có độ ưu tiên thấp nhất τ4 tước quyền trong miền găng của nó giờ có thể tiếp tục thực thi. Nó tiếp tục thực thi cho tới khi giải phóng tài nguyên R1 cho tác vụ có độ ưu tiên cao hơn τ2. Khi đó τ2 quay trở lại thực thi do đã nắm giữ dược tài nguyên cần thiết R1 cho hoạt động của nó.

Hình 3.8: Ví dụ về hiện tượng đảo ngược độ ưu tiên.

Cần phải phân tích ví dụ này một cách chi tiết. Thời gian bị khoá tối đa của tác vụ τ2 có thể phải trải qua phụ thuộc vào khoảng thời gian của các miền găng

tác vụ khác là τ3 có độ ưu tiên thấp hơn và không chia sẻ tài nguyên nào với τ2 tham gia làm tăng thời gian bị khoá. Tình huống này gọi là đảo ngược độ ưu tiên, mâu thuẫn với đặc tả lập lịch và có thể gây ra lỡ thời hạn như trong ví dụ ở phần 9.2. Trong trường hợp này, thời gian bị khoá của mỗi tác vụ không thể bị giới hạn trừ khi một giao thức cụ thể nào đó được sử dụng và có thể dẫn tới thời gian phản hồi không kiểm soát của mỗi tác vụ.

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 81 - 83)