合肥建网站公司,做商城网站需要备案什么域名,做淘宝客必须建网站吗,wordpress主题轉中文嵌入式实时系统的任务设计主要为任务函数的设计、任务优先级的安排、任务的数据结构设计#xff0c;任务之间的同步与通信设计。 一#xff0e;任务函数的设计 任务函数按任务结构可分为单次执行任务、周期执行任务和事件触发任务#xff0c;各任务的主要差异点如下#xf…嵌入式实时系统的任务设计主要为任务函数的设计、任务优先级的安排、任务的数据结构设计任务之间的同步与通信设计。 一任务函数的设计 任务函数按任务结构可分为单次执行任务、周期执行任务和事件触发任务各任务的主要差异点如下 单次执行任务执行完任务后进入休眠状态一般是从任务调度中删除自己 周期执行任务执行完任务后进入等待状态等待时间为周期时间当执行周期小于一个时钟节拍或者不是时钟节拍的整数倍时可设计为定时器中断触发任务 事件触发任务等待事件触发后再执行任务 二任务优先级的安排 任务优先级一般按以下顺序由高到低安排 中断关联性 紧迫性 关键性 周期性 快捷性 传递性 实际优先级设计应留有余地以至于将来做功能扩充时不必对原有优先级做大幅度调整。考虑到优先级继承情况不应将任务的优先级安排得太紧密。 三任务的数据结构设计 任务的数据结构分为与操作系统有关的数据结构和与操作系统无关的数据结构与操作系统有关的数据结构可在操作系统配置中进行裁剪与操作系统无关的数据结构要注意作用域局部变量还是全局变量 四任务之间的同步与通信 在操作系统的管理下任务间不允许相互调用需通过同步与通信机制来进行协调可参考多任务实时系统的同步与通信。具体可分为行为同步、资源同步和数据通信。 对于任务调用的公共函数有二个处理方法 ①互斥调用执行时间短设置开关中断执行时间长则配置信号量 ②可重入设计不使用全局资源 1. 行为同步 ①中断与任务间的单向同步通过信号量或消息邮箱同步 ②两个任务间的单向同步通过信号量同步当控制方优先级高于被控制方优先级时控制方在发出信息后调用延时函数挂起自身让低优先级的被控制任务得以尽快运行 ③两个任务间的双向同步设立交汇点任务A在交汇点向B发送消息并等待B回复B到达交汇点后等待A发送消息在收到消息后回复A。其执行过程如下 若任务A优先级高于任务B任务A先运行到达交汇点后发送消息给任务B等待B回复在A等待的时候B进入运行状态B到达交汇点后收到A发送的消息B给A回复消息高优先级任务A被激活离开交汇点A被挂起后B离开交汇点。 若任务A优先级低于任务B任务B先运行到达交汇点后等待A发送的消息在B等待的时候A进入运行状态A到达交汇点后发送消息给任务B并等待B回复B收到A的消息后给A回复高优先级任务B先离开交汇点B被挂起后A收到回复离开交汇点。 ④两个以上任务同步一个任务使用事件标志组 ⑤多个任务相互同步用一个初始值为0的全局变量作为签到计数器每个任务先从签到计数器的当前值判断是否是最后一个到达任务如果是就清零签到计数器并向其他任务发出同步信号如果不是就通过将签到计数器加1来进行签到然后等待同步信号挂起 2. 资源同步 ① 关中断 ② 关调度 ③ 互斥信号量 ④ 计数信号量 3. 数据通信 ① 全局变量没有行为同步数据量小的情况下 ② 内存数据块没有行为同步数据量大的情况下 ③ 消息邮箱有行为同步通信双方执行频度相同下适用在发送消息方为中断处理程序时消息保存有全局变量、静态局部变量和将消息内容冒充指针发送的方法后二种方法较优 ④ 消息队列适用于以下情况消息双方至少一方没有稳定的执行周期通信双方执行周期不同转载于:https://www.cnblogs.com/yueze/p/7243750.html