设计任务管理子系统 - wolai 笔记
在实际系统中,许多对象之间往往存在相互依赖关系。
设计工作的一项重要内容就是,确定哪些是必须同时动作的对象,哪些是相互排斥的对象。进一步设计任务管理子系统。
系统总有许多并发行为,需按照各自行为的协调和通信关系,划分各种任务(进程),简化并发行为的设计和编码。
确定各类任务,把任务分配给适当的硬件和软件去执行
根据动态模型分析、定义并发行。

1.分析并发性

1.1并发对象:

  • 无交互行为的对象
  • 同时接受事件的对象

1.2定义任务

检查各个对象的状态图,找没并发对象的路径(任何时候路径中只有单个对象是活跃的),称控制线
通过分离出控制线设计任务

1.3 并发任务的分配方案

  • 每个任务分配到独立的处理器
  • 分配到相同处理器,通过操作系统提供并发支持

2.设计任务子系统

任务管理部件一般在信息系统中使用较少;在控制系统中应用较多。

2.1事件驱动型

睡眠任务(不占用CPU),某个事件发生,任务被触发,醒来做相应处理,又回到睡眠状态。

2.2时钟驱动型任务

按特定时间间隔去触发任务进行处理。如某些设备需要周期性的采集数据。

2.3确定优先任务

高优先级,分离成独立任务,保证时间约束

2.4确定关键任务

严格可靠性,分离考虑,精心设计和编码,严格测试。

2.5确定协调任务

三个以上任务,引入协调任务,控制封装任务间协调。

2.6尽量减少任务数

任务多,设计复杂、不易理解、难维护

2.7确定资源需求

计算系统载荷,每秒处理业务数,处理一个业务花费时间,估算所需CPU(或其他固件)处理能力。


Comment