任务 任务2 任务3 任务1 任务2 多任务系统 示意图 内核代 内核教据 任务的分类 口按照到达情况的可预测性,任务可以划 分为 令周期任务( periodic task) 今非周期任务 口按照重要程度,可分为: 今关键任务( critical task) 今非关键任务( noncritical task)
11 任务1 任务2 任务3 内核 内核代码 内核代码 内核数据 内核数据 栈栈 数据数据 任务 控制块 任务 控制块 代码代码 栈栈 数据数据 任务 控制块 任务 控制块 代码代码 栈栈 数据数据 任务 控制块 任务 控制块 代码代码 任务1 任务2 任务3 多任务系统 示意图 任务的分类 按照到达情况的可预测性,任务可以划 分为: 周期任务(periodic task) 非周期任务 按照重要程度,可分为: 关键任务(critical task) 非关键任务(noncritical task)
任务的分类 口周期任务与非周期任务 周期任务每隔一个固定的时间间隔就会执行 次 飞行器可能需要每隔100ms获得一次关于飞行器 的速度、高度和姿态数据,控制传感器获取这些 数据就需要通过周期任务来进行。 今非周期任务执行的间隔时间则为不确定的。 移动通信设备中的通信任务,该任务只有在需要 进行通信的情况下才会得到执行。 非周期任务分为: o sporadic task:有最小到达间隔时间限制 o aperiodic task:没有到达时间限制 任务的分类 口关键任务与非关键任务 今关键任务 为需要得到及时执行的任务,否则将出现灾难性 的后果 0飞行器中用于处理生命支持系统和稳定性控制系统的 任务 今非关键任务 如果没有得到及时执行,则不会产生严重后果
12 任务的分类 周期任务与非周期任务 周期任务每隔一个固定的时间间隔就会执行 一次。 • 飞行器可能需要每隔100ms获得一次关于飞行器 的速度、高度和姿态数据,控制传感器获取这些 数据就需要通过周期任务来进行。 非周期任务执行的间隔时间则为不确定的。 • 移动通信设备中的通信任务,该任务只有在需要 进行通信的情况下才会得到执行。 • 非周期任务分为: o sporadic task:有最小到达间隔时间限制 o aperiodic task:没有到达时间限制 任务的分类 关键任务与非关键任务 关键任务: • 为需要得到及时执行的任务,否则将出现灾难性 的后果 o 飞行器中用于处理生命支持系统和稳定性控制系统的 任务 非关键任务: • 如果没有得到及时执行,则不会产生严重后果
任务参数 口任务参数: 优先级( priority) 心周期( period) 计算时间( computation time) 心就绪时间( ready time) 今截止时间( deadline) 口任务的优先级 ◆表示任务对应工作内容在处理上的优先程度 优先级越高,表明任务越需要得到优先处理 假行—生挑案特螯潮楚台盒友谢囊蜀挑有高的优先 任务的优先级分为静态优先级和动态优先级 喜變生雯化务的优先被确定后,在系统运行过程中将 花南先:系轨运行过程中,任务的优先氧是可以动态变 任务参数 口周期 ◆周期任务所具有的参数,表示任务周期性执行的间 隔时间 口任务的计算时间 任务在揸定要件环培下被完警执行所需要的时间, 由于任务每次执行的软件环境的差异性,导致任务 在各次具体执行过程中的计算时间各有不同 通常用最坏情况下的执行时间( worst case time) 或是需要的最长执行时间来表示,也可用统计时间 statistical time)来表示
13 任务参数 任务参数: 优先级(priority) 周期(period) 计算时间(computation time) 就绪时间(ready time) 截止时间(deadline) 任务的优先级 表示任务对应工作内容在处理上的优先程度 优先级越高,表明任务越需要得到优先处理 • 飞行器中处理稳定性控制的任务,就需要具有较高的优先 级,一旦执行条件得到满足,应及时得到执行 任务的优先级分为静态优先级和动态优先级。 • 静态优先级:任务的优先级被确定后,在系统运行过程中将 不再发生变化; • 动态优先级:系统运行过程中,任务的优先级是可以动态变 化的。 任务参数 周期 周期任务所具有的参数,表示任务周期性执行的间 隔时间 任务的计算时间 任务在特定硬件环境下被完整执行所需要的时间, 也被称为是任务的执行时间(execution time)。 由于任务每次执行的软件环境的差异性,导致任务 在各次具体执行过程中的计算时间各有不同。 通常用最坏情况下的执行时间(worst case time) 或是需要的最长执行时间来表示,也可用统计时间 (statistical time)来表示
任务参数 今任务的就绪时间 任务具备了在处理器上被执行所需要的条件时的时间 令任务的截止时间 意味着任务需要在该时间到来之前被执行完成 截止时间可以通过绝对截止时间( absolute deadline)和相对 截止时间( relative time)两种方式来表示 相对截止时间为任务的绝对截止时阿减去任务的就绪时间 截止时间可以分为强截止时间( hard deadline)和弱截止时间 ( soft deadline)两种情况 o具有骚截止时阿的任务即为关健任务,如果截止时间不能得 满足,就会出现严重的后果 0拥有关键任务的实时系统又被称为强实时( hard real-time)系 统,否则称为弱实时( soft real-time)系统 第二节 任务管理 务状态与壹近 宜南任务 俭务控制块 务如换 务队列 先級蚀圈算法 几制
14 任务参数 任务的就绪时间 • 任务具备了在处理器上被执行所需要的条件时的时间 任务的截止时间 • 意味着任务需要在该时间到来之前被执行完成。 • 截止时间可以通过绝对截止时间(absolute deadline)和相对 截止时间(relative time)两种方式来表示 o 相对截止时间为任务的绝对截止时间减去任务的就绪时间。 • 截止时间可以分为强截止时间(hard deadline)和弱截止时间 (soft deadline)两种情况: o 具有强截止时间的任务即为关键任务,如果截止时间不能得到 满足,就会出现严重的后果。 o 拥有关键任务的实时系统又被称为强实时(hard real-time)系 统,否则称为弱实时(soft real-time)系统。 第二节 任务管理 任务状态与变迁 空闲任务 任务控制块 任务切换 任务队列 优先级位图算法 任务管理机制
任务状态与变迁 口任务拥有的资源情况是不断变化的,导致 任务状态也表现出不断变化的特性。 口不同的实时内核实现方式对任务状态的定 义不尽相同,但是都可以概括为三种基本 的状态 等待( waiting):任务在等待某个事件的发 生 就绪( ready):任务等待获得处理器资源; 执行( running):任务获得处理器资源,所 包含的代码内容正在被执行。 任务状态与变迁 口在单处理器系统中: 今任何时候都只有一个任务在CPU中执行 如果没有任何事情可做,就运行空闲任务执行空操作 ◆任何一个可以执行的任务都必须处于就绪状态 调度程序从任务的就绪队列中选择下一个需要执行的任务。 处于就绪状态的任务拥有除CPU以外的其他所有需要的资 源 心任务还可能处于等待状态 如任务在需要等待O设备或其他任务提供的数据,而数据 又还没有到达该任务的情况下,就处于等待状态
15 任务状态与变迁 任务拥有的资源情况是不断变化的,导致 任务状态也表现出不断变化的特性。 不同的实时内核实现方式对任务状态的定 义不尽相同,但是都可以概括为三种基本 的状态: 等待(waiting):任务在等待某个事件的发 生; 就绪(ready): 任务等待获得处理器资源; 执行(running):任务获得处理器资源,所 包含的代码内容正在被执行。 任务状态与变迁 在单处理器系统中: 任何时候都只有一个任务在CPU中执行 • 如果没有任何事情可做,就运行空闲任务执行空操作 任何一个可以执行的任务都必须处于就绪状态 • 调度程序从任务的就绪队列中选择下一个需要执行的任务。 • 处于就绪状态的任务拥有除CPU以外的其他所有需要的资 源。 任务还可能处于等待状态 • 如任务在需要等待I/O设备或其他任务提供的数据,而数据 又还没有到达该任务的情况下,就处于等待状态