Autosar Os新手入门

AUTOSAR OS 按照功能职责可划分为8 大核心模块,各模块相互协作,共同实现实时操作系统的完整功能。这些模块在 AUTOSAR 规范中被明确定义,确保不同厂商的 OS 实现具备一致性和兼容性。以下会根据各模块进行详细说明:

任务管理模块(Task Management)

任务

Autosar Os中的任务有两种:基本任务拓展任务

基本任务(Basic Task)
  • 特点:执行完后自动进入挂起态,不能等待事件(无 "等待态")。
  • 适用场景:简单的周期性任务(如 "LED 闪烁""日志打印")。
  • 生命周期:激活 → 运行 → 终止(挂起)。
扩展任务(Extended Task)
  • 特点 :可通过WaitEvent进入等待态,事件触发后自动激活,适合复杂逻辑。
  • 适用场景:需要等待外部信号的任务(如 "等待 CAN 报文接收后处理")。
  • 关键区别:拥有 "等待态",可通过事件(Event)驱动状态转换。

Tsak和OS-Application的关系

OS-Application的定义:Os-Application(简称 "应用")是 AUTOSAR OS 中最小的隔离单元,本质是一组相关资源的集合,包含:任务(如 "传感器采集任务""控制逻辑任务");中断服务程序(ISR,如 CAT2 中断);资源(如专用内存缓冲区、硬件接口);计数器、闹钟等时间资源。

Task必须从属于某个Os-Application,不能独立存在。

一个Os-Application可以包含多个Task任务(如 "自动驾驶应用" 包含 "环境感知任务""决策任务""控制任务"),这些任务共享该应用的资源(如内存区域、权限),但受限于应用的隔离边界。

Os-Application的分类

Os-Application又可分为可信和不可信。

二者区别如下:

可信os-app:可调用所有 OS 服务,可访问其他应用的资源,安全限制少

不可信os-app:禁止调用特权服务,仅能访问自身专属的内存区域,调用 OS 服务时需通过 "陷阱机制"(Trap)由内核代劳,防止越权操作。

当一个os-app是可信时,并且系统通过显式配置对其授予了跨应用访问权限时,它可以访问其他 Os-Application 的资源。

中断管理模块(Interrupt Management)

Autosar Os中断分为两类:一类中断和二类中断。

任何中断的优先级都比任务高

Category 1(CAT1):快速响应中断

核心特点:

执行时间极短(通常微秒级),仅做最基础的硬件操作(如读取寄存器、清除标志);

禁止调用任何 OS 服务(如ActivateTask、GetResource),不能依赖 OS 调度;

优先级最高,不可被任务或 CAT2 中断抢占。

适用场景:对实时性要求极高的硬件响应(如电机过流保护、电源故障)。

Category 2(CAT2):可调度中断

核心特点:

可执行稍复杂的逻辑(如数据缓存、触发任务激活);

允许调用部分 OS 服务(如ActivateTask、ClearPendingInterrupt);

优先级低于 CAT1,但高于任务,可被 CAT1 中断抢占。

时间管理模块(Time Management)

计数器(Counter):系统的 "时钟"

计数器是单调递增的整数变量,由硬件定时器驱动,按固定频率递增(如每 1ms 加 1),为系统提供时间基准。

关键特性

计数周期:两次递增的时间间隔(如 1ms),由硬件定时器决定,精度固定;

溢出处理:达到MaxAllowedValue后归零,可配置OverflowHook处理溢出事件;

可读性:应用可通过 API 读取当前值(如GetCounterValue)。

计数器分类

系统计数器:OS 核心计数器(如SystemCounter),为调度表、时序保护提供基准;

用户计数器:应用自定义计数器(如SensorCounter),用于特定功能的定时。

计数器与闹钟的关系

一对一 / 多对一:一个计数器可关联多个闹钟(如SensorCounter可绑定 "采集闹钟" 和 "校验闹钟");

依赖关系:闹钟必须绑定到一个计数器,无法独立工作;

生命周期:计数器停止时,关联的闹钟也停止触发。

闹钟(Alarm):时间的 "触发器"

闹钟是基于计数器的定时触发器,当计数器达到预设值时,自动执行指定动作(如激活任务、设置事件)。

资源管理模块(Resource Management)

相关推荐
Trouvaille ~3 小时前
【Linux】理解“一切皆文件“与缓冲区机制:Linux文件系统的设计哲学
linux·运维·服务器·操作系统·进程·文件·缓冲区
SPFFC1893803305313 小时前
抗干扰磁环排线 | Magnetic Ring Flat Cable - 高磁导率EMI抑制解决方案
服务器·数码相机·车载系统·机器人·音频·智能音箱·智能电视
添砖java‘’1 天前
Linux信号机制详解:从产生到处理
linux·c++·操作系统·信号处理
元亓亓亓1 天前
考研408--操作系统--day9--I/O设备(上)
考研·操作系统·i/o·408
码界奇点1 天前
基于Gin+GORM+Casbin的权限管理系统设计与实现
车载系统·毕业设计·gin·源代码管理
法欧特斯卡雷特2 天前
如何解决 Kotlin/Native 在 Windows 下 main 函数的 args 乱码?
后端·操作系统·编程语言
码界奇点2 天前
基于Golang与Vue3的全栈博客系统设计与实现
开发语言·后端·golang·车载系统·毕业设计·源代码管理
小林up2 天前
【MIT-OS6.S081作业-4-2】Lab4-traps-Backtrace
操作系统·xv6
fakerth2 天前
【OpenHarmony】USB服务组件
操作系统·openharmony
悄悄敲敲敲2 天前
Linux:信号(二)
linux·操作系统·信号