5/5 - (1 bình chọn)

AUTOSAR OS Hệ Điều Hành: Memory Protection

Memory Protection

Memory Protection là một dịch vụ bảo vệ để ngăn chặn các chương trình thực thi như Task/ISR truy cập trái phép vào Data, Code, và Stack Session. Memory Protection chỉ khả dụng trên các bộ xử lý cung cấp hỗ trợ phần cứng cho bảo vệ bộ nhớ.
• Code: Flash
Code Session có thể là riêng tư đối với một OS-Application hoặc được chia sẻ giữa tất cả các OS-Application (sử dụng thư viện chia sẻ). Nếu không sử dụng Code Protection, việc thực thi mã không đúng có thể dẫn đến vi phạm bộ nhớ, thời gian, hoặc dịch vụ.
• Data: Flash (const), Ram (bss, data)
OS-Application có thể có Data Session riêng tư, và Task/ISR cũng có thể có Data Session riêng tư. Data Session riêng tư của OS-Application được chia sẻ giữa tất cả các Task/ISR thuộc OS-Application đó.
• Stack: Ram
OS-Application bao gồm nhiều Task và ISR. Theo định nghĩa, stack của những đối tượng này chỉ thuộc về các đối tượng chủ sở hữu, do đó không cần chia sẻ dữ liệu stack giữa các đối tượng ngay cả khi chúng thuộc cùng một OS-Application. Memory Protection đối với stack của Task và ISR hữu ích chủ yếu vì hai lý do sau:
1. Memory Protection phát hiện các tình huống lỗi, như tràn stack (stack overflow) hoặc thiếu stack (stack underflow) cho Task hoặc ISR, nhanh chóng hơn so với việc giám sát stack (Stack Monitoring).
2. Để đáp ứng một số ràng buộc an toàn, nó cung cấp sự bảo vệ giữa các thành phần cấu thành và OS-Application.

Memory Protection
Memory Protection

Điều Kiện và Ràng Buộc

1. Phải chọn Scalability là SC3 hoặc SC4.
2. Chỉ có thể sử dụng khi phần cứng hỗ trợ.
o Trong trường hợp Infineon AURIX, điều này được định nghĩa trong Trap Class 1 (Internal Protection Traps).
3. Chỉ bảo vệ được các đối tượng do hệ điều hành quản lý.
o Ví dụ: Không bảo vệ đối với library.

Memory Access Violation

1. Xảy ra khi chương trình thực thi (Task/ISR) truy cập vào một vùng nhớ (Code, Data, Stack) mà không có quyền.
2. Khi Memory Access Violation xảy ra, tiến hành các biện pháp xử lý:
o Gọi ProtectionHook(E_OS_PROTECTION_MEMORY).

Quyền truy cập theo loại của Application

1. Trusted OS-Application
o Có thể truy cập vào Data của các Application khác và OS Module.
2. Non-Trusted OS-Application
o Có thể truy cập vào Code và Data của chính nó.
o Không được phép ghi vào Data của các Application khác và OS Module.
o Có thể bị chặn truy cập đọc vào Data của các Application khác và OS Module.

Xem thêm Chuyên Mục

Autosar OS

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây