Bảo vệ Thời gian
Trong hệ thống Real-time, lỗi thời gian xảy ra khi Task hoặc Interrupt không đạt được Deadline trong quá trình thực thi. Tuy nhiên, AUTOSAR OS không cung cấp Deadline Monitoring cho việc bảo vệ thời gian. Deadline Monitoring không đủ để xác định chính xác Task / ISR gây lỗi thời gian trong hệ thống AUTOSAR.
Task / ISR không liên quan có thể gây ra lỗi thời gian bằng cách cản trở hoặc chặn Task / ISR đang thực thi quá lâu. Trong trường hợp này, nguyên nhân của lỗi hệ thống là từ Task / ISR không liên quan, và lỗi thời gian được phát hiện khi Task / ISR đang chạy không đạt được Deadline. Do đó, Task / ISR không đạt Deadline không nhất thiết là nguyên nhân của lỗi đang chạy; đó chỉ là điểm phát hiện lỗi thời gian nhanh nhất.
Nguyên nhân
Lỗi thời gian xảy ra trong hệ thống Real-time khi Task hoặc ISR không đạt được Deadline.
→ Insufficient (Không đủ)!!
→ Deadline không đạt được của TASK/ISR không phải lúc nào cũng là nguyên nhân của vấn đề!!
Deadline Monitoring cho các Task không đạt Deadline có thể dẫn đến việc sử dụng chứng cứ lỗi không chính xác. Vấn đề được giải thích rõ hơn qua hình ảnh dưới đây.
Xem xét cấu hình của hệ thống sau:
Nếu tất cả các Task đã sẵn sàng thực thi vào thời điểm 0, bạn có thể dự đoán Task tiếp theo sẽ được thực thi và đảm bảo rằng tất cả các Task có thể đạt được Deadline.

Xem xét Trường hợp Task A và Task B hoạt động không chính xác
Khi Task A và Task B hoạt động không đúng cách, ta có thể nhận thấy rằng:
Task A và Task B đang thực thi lâu hơn thời gian quy định và Task B đến sớm hơn 2 Tick so với thời gian quy định. Dù Task A và Task B đều đáp ứng được Deadline, nhưng Task C không thể đáp ứng Deadline do sự chậm trễ của Task A và Task B. Đây là hiện tượng Fault Propagation.
Fault Propagation xảy ra khi lỗi từ các phần không liên quan trực tiếp gây ra lỗi trong các phần hệ thống hoạt động đúng.

Các loại Timing Fault được định nghĩa trong AUTOSAR
Trong hệ điều hành AUTOSAR OS, việc liệu Task hoặc ISR có đáp ứng được Deadline trong một hệ điều hành Fixed Priority Preemptive OS như thế nào được xác định bởi các yếu tố sau:
1. Thời gian thực thi của Task / ISR trong hệ thống
2. Thời gian chặn khi Task / ISR chiếm tài nguyên chia sẻ hoặc vô hiệu hóa ngắt
3. Khoảng cách giữa các Task / ISR trong hệ thống
AUTOSAR OS kiểm soát các yếu tố này trong môi trường runtime để đảm bảo Timing Protection an toàn và chính xác. Hệ thống cũng thực hiện xử lý lỗi khi xảy ra Timing Fault để đảm bảo hoạt động đúng thời gian.
1. Execution Budget
• Đảm bảo một mức trên cố định gọi là Execution Budget cho thời gian thực thi của Task / ISR (CAT 2) để ngăn chặn lỗi thời gian (Execution Time Protection).
o Khi thời gian thực thi của Task / ISR (CAT 2) vượt quá giới hạn Execution Budget, lỗi sẽ xảy ra.
o Gọi ProtectionHook(E_OS_PROTECTION_TIME).
2. Lock Budget
• Đảm bảo một mức trên cố định gọi là Lock Budget cho thời gian khóa của Task / ISR (CAT 2) để ngăn chặn lỗi thời gian (Locking Time Protection).
o Khi thời gian chặn của Task / ISR (CAT 2) do khóa tài nguyên chia sẻ / vô hiệu hóa ngắt vượt quá giới hạn Lock Budget, lỗi sẽ xảy ra.
o Gọi ProtectionHook(E_OS_PROTECTION_LOCKED).
3. Time Frame
• AUTOSAR OS bảo đảm một thời gian tối thiểu gọi là Time Frame để ngăn chặn lỗi thời gian (Inter-Arrival Time Protection).
o Khi Inter Arrival Time giữa các Task / ISR ngắn hơn Time Frame (tức là quá thường xuyên kích hoạt), lỗi sẽ xảy ra.
o Gọi ProtectionHook(E_OS_PROTECTION_ARRIVAL).
o Phát hiện các ngắt xảy ra quá thường xuyên so với dự đoán.
o Phát hiện các Task / ISR không khớp với chu kỳ thiết kế.





