Mars Pathfinder: What Really Happened?
Năm 1997, sứ mệnh Mars Pathfinder gặp sự cố reset hệ thống do priority inversion: tác vụ thời tiết ưu tiên thấp giữ mutex cần thiết cho tác vụ phân phối dữ liệu ưu tiên cao, nhưng không thể hoàn thành do các tác vụ bảo trì bus ưu tiên trung gian liên tục chiếm ưu tiên. Các kỹ sư đã phát hiện lỗi này trong quá trình thử nghiệm nhưng đã bỏ qua. Hậu quả là hệ thống bị reset liên ảnh hưởng đến nhiệm vụ. Giải pháp là kích hoạt priority inheritance trong VxWorks cho mutex, cho phép tác vụ ưu tiên thấp tạm thời kế thừa mức ưu tiên cao hơn để mở khóa nhanh hơn.
Bài viết này giúp lập trình viên hiểu về hiện tượng priority inversion và cách khắc phục nó trong hệ thống thực tế với VxWorks.

