1. AUTOSAR OS 构 架 概 述 2. AUTOSAR OS 在 AUTOSAR 构 架 中 的 位 置 3. AUTOSAR OS 概 念 3.1 任 务 管 理 3.1.1 任 务 类 别 任 务 分 为 两 个 类 别 : · 基 础 任 务 : 只 有 running, suspended, ready三 个 状 态 。 基 础 任 务 在 三 种情况下释放处理 器资源: 任 务 结束;操作系统切换到高优先级任务 ;中 断发生导致处理 器切换到一个 中 断服务 程序 ISR。 · 拓展任 务 : 较之基 础 任 务 , 多了一个 waiting 状 态 。拓展任 务 被允许调用系统服务 WaitEvent。 3.1.2 任 务 状 态 及转换 任 务 状 态 running 在 任 何时间点只 有 一个 任 务 能处于 running 状 态 , CPU 将会被分 配到该任 务 , 该任 务 的 指令将被执行。 ready 所有 的 任 务 要转换为 running 状 态 都必须先处于 ready状 态 , 处于ready状 态 的 任 务 只 需等待分 配处理 器就能转换为 running 状 态 。调度器决定哪一个ready状 态 的 任 务 将是下一个 执行的 任 务 。 suspended 处于 suspended 的 任 务 是被动的 , 可以被激活。 waiting 处于 waiting 状 态 的 任 务 将不能继续执行, 它将等待至少一个 事件发生。 任 务 转 换 activate: 一 个 新 的 任 务 被 设 置 成 ready状 态 通 过 一 个 系 统 服 务 。 AUTOSAR 操 作 系统 将 确 保 任 务 从 第 一 条 指 令 开 始 执 行 。 ( 在 多 重 激 活 情 况 下 , 任 务 激 活 不 会 立 即 改 变 任 务 状 态 。 如 果 任 务 不 是 suspended 状态 , 激 活 只 会 被 记 录 , 晚 些 时 候 被 执 行 。 ) start: 一 个 ready任 务 被 调 度 器 选 择 去 执 行 。 preempt: 调 度 器 决 定 去 执 行 另 一 个 任 务 , 使 得 running 任 务 进 入 ready状 态 。 terminate: running 任 务 通 过 调 用 系 统 服 务 导 致 它 的 状 态 转 换 为 suspended 状 态 。 ( 注 : 任 务 只 自 己 结 束 自 己 ) 以 下 两 个 状 态 转 换 为 拓 展 任 务 特 有 wait: 通 过 一 个 系 ...