AUTOSAR OS Hệ Điều Hành: Service Protection
Bảo vệ Dịch vụ
Service (Dịch vụ) đề cập đến API của hệ điều hành. OS-Application có thể tương tác với các mô-đun của hệ điều hành thông qua Service này, và điều quan trọng là việc gọi các dịch vụ này không được làm hỏng các mô-đun của hệ điều hành.
Bảo vệ Dịch vụ giúp ngăn chặn các hư hỏng này trong quá trình runtime. Đối với các trường hợp mà OSEK không bao gồm, trạng thái lỗi của OSEK OS sẽ được áp dụng.
Trong bảng dưới đây, “C” là viết tắt của “Checked in Extended status by E_OS_CALLEVEL

Ví dụ
Liên quan đến Bảo vệ Dịch vụ, có nhiều trường hợp cần xem xét. OS-Application thực hiện các cuộc gọi API.
1. Trường hợp truyền tham số không hợp lệ cho OS API
o Trả về E_OS_ID hoặc E_OS_VALUE.
2. Trường hợp gọi OS API từ ngữ cảnh không phù hợp
o Ví dụ: Gọi ActivateTask() trong StartupHook().
o Trả về E_OS_CALLEVEL.
3. Trường hợp sử dụng OS API theo cách không được định nghĩa
o Ví dụ: Task kết thúc mà không gọi TerminateTask(void) hoặc ChainTask(TaskID).
→ Trả về E_OS_MISSINGEND.
o Ví dụ: Cat2ISR kết thúc với ngắt bị khóa hoặc tài nguyên được phân bổ.
→ Trả về E_OS_DISABLEINT / E_OS_RESOURCE.
4. Trường hợp hạn chế đối với Non-Trusted OS-Application
o Ví dụ: Bỏ qua cuộc gọi ShutdownOS từ Non-Trusted OS-Application.
5. Trường hợp truy cập đối tượng thuộc về OS-Application khác
o Ví dụ: Nếu không có quyền truy cập, trả về E_OS_ACCESS.
OSEK OS đã cung cấp một số Bảo vệ Dịch vụ thông qua mã trạng thái được trả về từ các cuộc gọi dịch vụ, và đây chính là nền tảng của Bảo vệ Dịch vụ. Nói cách khác, Bảo vệ Dịch vụ chỉ được áp dụng trong trạng thái mở rộng của OSEK OS. Tuy nhiên, OSEK OS không bao gồm tất cả các trường hợp đã được mô tả ở trên. Ngoài trạng thái mở rộng bắt buộc, còn có các yêu cầu bảo vệ bổ sung có thể được áp dụng cho các trường hợp này.
Xem thêm Chuyên Mục





