大型有限状态机系统中的定时器设计
李光中国电子科技集团公司第54研究所石家庄050081
中图分类号T内16.2文献标识码A
1引言
有限自动机(FiniteAutonlataMachine)是计算机科学的重要基石,它在软件开发领域内通常被称作有限状态机(FiniteStateMachine),是一种应用非常广泛的软件设计模式。有限状态机的作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。
有限状态机最基本的概念是事件(Event)引起状态(State)的转换(Tlansition),并执行某些动作(Action)。在有限状态机模型的实现中,定时器有着相当重要的作用。许多状态的生存期是有时间限制的。例如,一个等待接受对端数据的状态如果在指定时间内没有收到有效数据必须作时超处理。
在系统负载容量很大的设备系统设计中常用到有限状态机。在这样的系统中,管理的用户端口数量可能在数千个以上,每个端口相对独立,各自接收外部输人并完成动作和状态转换。
2大系统对定时器需求的特点
大型系统通常选用实时操作系统,操作系统本身就提供了定时器功能调用。但是这些功能调用往往不能满足应用系统对定时器的要求。
·对于应用任务来说,时超(Timeout)事件应该与其他事件的输人方式,比如采用消息或邮件,以便与其他外部输人等同处理。而操作系统提供的定时器功能一般是在时超时设置一个信号(signal),执行挂接的程序,这样时超事件与其他事件处理流程有区别,不利于程序整体规划;
·为了保证系统的稳定性,每一个非稳定状态都要有时超处理,也就是如果在规定时间内收不到预期消息,状态将发生迁移。根据系统容量,所管理的数千个端口在都可能处于非稳定状态,在进入新状态时需要申请定时器,对定时器的需求相当大;
·定时器时间量级需求多种多样,可能是百毫秒级的,也可能是分钟级以上的,每个定时器需要的时长、精度也不同;
·时超消息通知需要附加信息。同一个任务所处理的端口不同,处在不同的状态,申请的定时器也不同。如果时超事件到来时状态已经发生转移,则时超事件无效。所以申请时必须要携带必要的附加参数,接收到时超事件时核对参数。针对这些特点,在大型系统设计时创建一个独立的定时器管理任务是非常必要的。
3.定时器任务的设计实现
3.1定时器任务的功能模块
如图1所示,定时器任务主要包括两部分:定时器处理任务和为其他任务提供的操作定时器的应用程序接口函数(API)。
相关文章
- 2023-12-06阴极弧离子镀磁过滤器
- 2022-07-17光纤密封转接的氦质谱检漏技术研究
- 2023-08-17计量光栅空间位姿参数光场输出模型与仿真
- 2021-12-05基于ARM的2M测试系统
- 2022-01-20LabVIEW在全自动点胶机中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。