多任务操作系统

2024-09-10

多任务操作系统(精选12篇)

多任务操作系统 篇1

弹药调度系统是保障武器装备作战效能发挥重要组成部分, 快速、安全、可靠的弹药调度是现代作战保障的重要内容。调度任务具有流程复杂、批次量大[1]等特点, 正确评估调度系统完成任务的能力, 对战时指挥决策及保障资源的安排具有重要意义。

任务成功概率是装备在规定任务剖面内能完成任务的概率, 是任务成功性的度量指标, 也是重要的装备保障性评估指标。当前任务成功概率评估模型多是针对单系统开展研究, 系统组成结构串联或是并联, 根据系统部件的可修复情况和修复时间分布给出任务成功概率计算公式[2—4]。文献[5, 6]给出了多种任务特点及要求情况下可修系统的任务成功概率评估模型。对多阶段任务则是研究备件保障水平对任务成功概率的影响[7—10]。网络计划技术非常适用于复杂系统的分析, 其中主要的PERT技术主要考虑工序的时间取值对任务工期的影响[11,12], 没有考虑工序单元故障及修复情况;GERT模型根据概率有多个不同的引出端[13,14], 能够很好地描述流程中活动之间的关系及状态转移, 但不适用于逻辑关系要求严格的系统可靠性问题。多数方法研究保障系统本身的可靠性及维修策略问题, 而对保障任务组成及复杂度关注不够。

鉴于此, 本文基于流水网络计划技术提出一种较为通用的任务成功概率评估仿真方法, 面向多任务要求, 在考虑系统故障及维修资源的基础上, 处理诸如弹药调度系统等此类复杂系统的任务可靠性评估问题。

1 面向多任务的调度系统分析

弹药调度系统具有显著的网络计划性质, 多任务调度过程可理解为流水网络计划的任务分段处理, 但时距关系要求严格。分析其特征如下。

(1) 调度系统由多个相互独立的分系统组成, 分系统之间工作不交叉, 都可独自进行调度任务, 只是在管理系统的统一布置下并行工作。

(2) 分系统具有相同的工序组成, 逻辑关系相同并且要求严格, 分系统按照工序关系组成调度网络计划图, 流水网络计划以此为基础。

(3) 根据资源人员等限制, 确定某些分系统参与调度工作, 最后一个分系统完成任务后才算所要求调度任务的结束。

(4) 根据任务批次量及参与调度的分系统数量, 合理分配调度任务, 工作过程中可根据状态实时调整任务分配。

(5) 分系统中工序单元故障服从一定的分布, 可通过更换件等维修工作进行完全修复, 即故障后恢复为初始完整的功能状态。

(6) 暂不考虑修复失败的情况。

通常的解析方法针对的是串 (并) 联系统的单任务成功性, 或是单部件中多任务的成功性。而弹药调度系统由于其网络结构复杂, 且任务批次量多, 尤其是工序自由时差的存在导致工序单元故障率分布函数取值范围各相不同, 系统的故障率分布函数几乎不可整合, 特别是当工序单元分布函数不同的情况下更是如此。故而采用Monte Carlo仿真方法进行任务成功概率评估, 根据各工序单元分布产生随机数, 以此计算所需数据进行统计分析。

2 基于流水网络计划的任务总工期

2.1 分系统时间参数计算

一般流水网络计划是将一个任务计划分解为多个阶段实施, 以利于工程任务连续紧凑地进行。其区别于网络计划技术的特点是工序间存在时距关系, 即某工序只需其紧前工序开始一段时间后即可实施, 而不需要其完全结束, 如图1所示。

满足时距方程的网络计划才具有流水关系, 方程如下:

式 (1) 中, Ki, i+1为开始时距 (Ki, i+1>0) ;Ji, i+1为结束时距 (Ji, i+1>0) ;ti为活动的持续时间 (ti>0) ;i为活动的代号 (i≥0) 。

而调度任务本身具有多阶段性质, 单个调度分系统任务计划的实施由多个相同的任务流程组成, 每个任务流程都具有相同逻辑顺序关系的网络图, 依照约束条件多个任务流程顺次展开, 最后一个任务流程完成时整个任务计划才算结束。只是其时距关系相对较为严格, 同一流程的工序只有在紧前工序完成后方可开始, 需要对一般流水网络计划的时距方程加上Ki, i+1≥ti条件, 关系如图2所示。此时的工序显然也满足时距关系, 这里仍称作流水网络计划技术。

在此时距关系基础上计算流水网络计划的时间参数, 这里仍以网络计划通常使用的参数作为对象;但需做出调整。假设参与调度任务的分系统共计M个, 第m个调度分系统负责Qm个批次量的任务。双代号网络计划图有n个工作节点组成, 第q个任务流程的工序i-j的时间参数以此表示为:工序持续时间Dm, qi-j、工序最早开始时间Em, qS, i-j、工序最早完成时间Em, qF, i-j、网络计划工期Tm, qp、工序最迟完成时间Lm, qF, i-j、工序最迟开始时间Lm, qS, i-j、工序总时差Tm, qF, i-j等。由于约束条件的变化, 对多任务流程的流水网络计划时间参数的通用计算公式进行修正。

2.1.1 工序最早开始 (完成) 时间

此参数不仅受同一任务流程下其紧前工序的约束, 也受限于前一任务流程的同一工序的完成时间。

(1) 网络计划起始工序:

(2) 其他工序:

式 (3) 中, Em, qS, h-i为工序i-j的各项紧前工序h-i的最早开始时间;Dm, qh-i为工序i-j的紧前工序h-i的持续时间;Em, q-1F, i-j为工序i-j的前一流程的最早完成时间。

计算从网络计划的起节点开始, 各任务流程顺着箭线方向依次逐项计算。

多任务流程的工序最早完成时间计算方法与单流程的网络计划相同, 公式为

2.1.2 网络计划工期

单个调度分系统的任务完成工期为最后一个任务流程的最后一道工序的完成时间, 本文流水网络计划中属于无规定工期情况, 各任务流程的计划工期即等于计算工期Tm, qc=max{Em, qF, i-n}, 其中Em, qF, i-n为第q个流程以终节点为完成节点的工序i-n的最早完成时间。显然此调度分系统的网络计划工期为Tmp=Tm, Qmc。则各任务流程的计划工期为不耽误下一流程完工的完成时间:

2.1.3 工序最迟完成 (开始) 时间

与最早开始时间类似, 受到其紧后工序和下一任务流程中同一工序的最迟开始时间约束。

(1) 以终节点为完成节点的工序:

(2) 其他工序:

多任务流程的工序最迟开始时间计算方法与单流程相同, 公式为

2.1.4 工序总时差

工序总时差表示该工序可以利用的机动时间, 这里仍用单流程计算公式

需要说明的是, 多任务流程工序总时差不仅对其本流程紧前紧后工序有影响, 而且影响到了其他流程工序的可利用时间。正是此参数的存在导致了不同工序相同的故障恢复时间对本分系统任务总工期的影响不同。流水网络计划中, 以各工序最迟开始时间为实际执行时间, 此时可充分利用总时差进行准备工作及任务间的休整。

2.2 总工期确定

基于单个调度分系统流水网络计划时间参数的计算, 确定整个调度任务的总工期。由2.1节可知, 只要确定了调度分系统各任务流程的工序持续时间Dm, qi-j, 就可计算出此系统的任务工期, 因此可将其表示为工序持续时间集合的函数形式:

式 (10) 中, 所有流程工序持续时间集合, 而各任务流程工序时间参数集合

整个调度任务中所有调度分系统全部完成工作后任务才算完成, 亦即是任务总工期由最后完成任务的分系统工期决定, 表示为

2.3 任务分配调整方法

由于各调度分系统组成结构相同, 对每批次调度任务的相同工序持续时间可认为是无差别的, 在任务进展顺利 (即系统各阶段无故障现象发生) 时, 分系统工期与任务批次量有关。此种情况下调度系统可靠性达到100%, 依据对式 (11) 的最小化原则即可确定各分系统的任务批次量。然而, 调度任务风险就是由系统不可预测的故障所造成的, 分析任务成功性则是考虑可能出现的系统故障对任务总工期的影响。

可以设定各分系统的同一工序i-j的故障修复时间为Ri-j。为方便计算操作, 调度任务进行时若分系统m的第q批次任务流程中某工序i-j发生故障, 可任务此时的工序持续时间增加了修复时间的增量, 表示为

考虑修复时间的分系统可形成新的工序持续时间集合, 若任务批次量不作调整, 则其工期表示为。发生故障的情况下, 分系统工期可能显著延长, 必要的情况下则需要向其他分系统转移尚未开始的任务, 其工期又与调度任务量有关, 修正分系统工期表示函数为

设定各分系统的任务量为Q=[Q1…Qm…QM], 依据式 (10) 得到的工期值, 各分系统任务量调整方法如图3所示。

在这种情况下, 以整个调度任务总工期最小化为目标, 以动态调整各分系统的任务批次量为手段来调整调度过程中个别工序故障造成的影响, 在实际可操作情况下获得了任务总工期及各分系统任务量。

3 任务成功概率计算模型

3.1 任务成功率模型

弹药调度的任务成功性表现为调度系统设定保障资源的情况下按时完成规定任务的可能性, 对应的任务成功概率是指其规定任务剖面中成功完成的概率。则可定义弹药调度系统任务成功概率为其任务成功完成总次数与任务执行总次数的比值, 应用蒙特卡罗仿真方法可以简化任务成功概率的计算, 即任务成功概率PMCS=成功完成任务的总次数/仿真总次数。

由第2节的计算可知, 调度任务成功性与上级下达的调度时间有直接关系, 这里要求的调度时间表示为TR, 第w次仿真的任务完成工期为T (w) 。显然, 当T (w) ≤TR时任务成功, 否则失败。统计得出在共计W次仿真中, 按升序关系出现的任务完工期有T=[T1T2…Tc…], 对应出现的频数为N=[N1N2…Nc…], 即有∑Nc=W, 表示其出现概率为P=[P1P2…Pc…]。以要求调度时间TR确定截断位置c', 即当c≤c'时Tc≤TR, 当c>c'时Tc>TR。根据以上描述, 则可得到仿真方法下与TR有关的任务成功概率模型:

式 (14) 表示了任务成功概率与任务要求调度时间的关系, 在加上第2节中考虑到的计划工期与流水网络计划中工序持续时间及故障修复时间的关系, 任务成功概率仿真方法如实反映了调度系统结构组成及可靠性对调度任务的影响。

3.2 仿真操作方法

3.2.1 随机数产生方法

蒙特卡洛仿真的基础工作即是产生合理的随机数, 就本文而言需要产生调度各分系统所有任务流程下的工序持续时间, 以及在此基础上根据工序单元的可靠性分布产生故障点, 进一步修复时间也可随机产生。

设总的调度任务批次量为Q, 各分系统的任务量为Q=[Q1…Qm…QM], 由于调度过程中不可预测故障的出现, Q是动态调整的。而对于每一次仿真过程而言, 各分系统工序的持续时间一旦产生之后就是固定的, 不可随任务量的增减而改变。这里为保证操作方便, 在第w次仿真过程中, 对每个分系统m的工序i-j持续时间都产生Q个, 即, 任务工期计算过程中, 根据分系统的任务量取其前Qm个进行运算, 可保证Qm≤Q。具体的数值根据工序的持续时间分布随机产生。

随机产生的时刻点落在范围内, 表示该工序单元此阶段任务过程中出现故障, 则应用公式 (12) 处理其持续时间。需要说明的是, 由于故障均可通过更换备件等措施予以排除, 可认为单元“修复如新”, 即其累计工作时间需要从0重新开始算起。

以上的相关随机数产生方法确定了各调度分系统的时间参数, 只是的维数全为总任务批次量Q, 通过任务工期的计算及任务量的调整, 可最终确定此次仿真过程中的任务总工期及各分系统的任务量。

3.2.2 仿真流程

根据随机数产生方法及通用Monte Carlo方法, 基于仿真过程的多任务调度系统任务成功概率评估流程如下。

步骤1:设定仿真次数W、调度批次量Q、参与调度的分系统数量M, w=1;

步骤2:产生各分系统工序的Q维持续时间集合, 以此为基础产生随机故障点, 修正持续时间集合为

步骤3:确定各分系统任务量Q=[Q1…Qm…QM];

步骤5:如果需要根据2.3节方法调整Q, 转步骤3, 否则转步骤6;

步骤6:若w<W, w=w+1转步骤2, 否则转步骤7;

步骤7:统计总工期为Tc的次数Nc, 获取各总工期值出现的频率P=[P1P2…Pc…];

步骤8:根据式 (14) 得到任务成功概率与要求调度时间的关系PMCS (TR) ;

步骤9:结束。

3.3 几类情况考虑

考虑到调度系统工序持续时间分布、故障概率分布、修复时间分布以及保障资源配置对任务成功性的影响, 将调度任务可能遇到的情况分为以下几类。

3.3.1 Ⅰ类情况

此类情况属于无故障条件下的任务调度, 调度系统各设施设备可靠性极高, 或设定任务下故障现象不可能发生。则仿真过程中只需确定工序持续时间, 根据均衡化原则确定调度任务分配方案, 以任务总工期最小化为目标静态确定调度时间。

3.3.2 Ⅱ类情况

通常情况下需要考虑工序可能的故障情况。工序单元的可靠性函数与其累计工作时间有关, 实际情况中必须考虑发生故障情况下的调度任务风险。由于故障发生的不可预测性, 工序故障修复时间显然影响了此分系统的任务工期, 进而可能影响调度任务总工期。若分系统的任务工期由于故障而显著延长, 则需随时调整任务分配方案, 仿真过程中这是个动态过程。进一步可讨论工序故障修复持续时间的取值, 通过其分布函数同样随机产生式 (12) 中的Ri-j。

3.3.3 Ⅲ类情况

以上两种情况下没有考虑维修资源的限制, 而有些情况下维修小组数量级备件数量会限制到故障的即是修复。此类情况下可能会出现两种结果: (1) 维修小组的限制, 倘若某工序故障时所有的维修小组已经处于忙的状态, 则修复时间Ri-j还需加上等待时间; (2) 备件数量的限制, 如果某工序故障时缺乏相应备件, 则其处于不可修复状态, 此分系统只能完成本工序之后业已开始的任务, 之前的乔杜批次量需要调整给其他分系统。

4 算例

某调度系统包括6个工序逻辑关系相同的分系统, 网络计划关系如图5所示。系统中各工序执行小组兼有维修职责, 故可不考虑维修资源对任务进度的影响, 显然属于Ⅱ类情况。下面对调度任务批次量为Q=20的任务成功概率进行仿真分析。

工序持续时间采用三时估计法确定, 其概率分布可认为是正态分布, 分布形状可由乐观时间a、最可能时间m和悲观时间b确定, 计算公式:期望、方差。工序单元故障率服从指数分布F (t) =1-e-t/λ, 故障修复时间认为是固定的。相关时间参数见表1, 时间单位为同一量纲。

仿真次数设置为W=10 000, 图6所示为当参与调度任务的分系统数量为3时的一次仿真结果, 进度条中间的数字表示此分系统的第几批次任务, 3个分系统的任务批次量依次为7、7、6, 调度时间由分系统1决定, 进度条中浅颜色为故障修复时间。调度任务成功概率随要求调度时间的变化情况如图7所示。

当参与调度的分系统数量不同时, 对应的任务成功概率及要求任务工期显然不同, 图8所示为任务成功概率分别为99.9%、99.0%和90.0%时不同分系统数量对应的要求任务工期大小。参与调度的分系统数量要求越多, 需要的资源及人员也就越多, 此参数的意义在于可供指挥决策人员综合任务工期、可靠性要求以及调度资源来确定调度方案。

5 总结

从弹药调度系统执行多任务情况出发, 分析提取了此类复杂系统的特征。应用流水网络计划技术确定了分系统固定任务下的进度时间参数, 在确定任务总工期的基础上建立了任务成功概率仿真模型。此模型具有广泛的通用性, 工序单元可服从不同的可靠性函数, 甚至只需知道工序持续时间及故障时间的取值规则和范围便可进行仿真分析, 系统结构越复杂越能体现其优越性。此方法给出了几类不同保障情形下的应用形式, 正确评估了复杂多任务下的任务成功概率, 为弹药调度方案的制定及保障资源的优化配置提供决策依据。

摘要:正确评估弹药调度系统的任务成功概率, 作为装备可靠性分析的重要内容, 是制定装备保障方案和优化配置保障资源的重要依据。针对多任务调度系统的复杂性, 以流水网络计划为框架, 计算分系统调度进度时间参数。考虑工序单元故障及修复时间的情况下动态调整分系统的任务量, 最终确定任务总工期。以此将任务总工期作为任务成功概率的比较数据, 根据工序持续时间及故障时间分布产生随机数据, 应用蒙特卡洛方法对仿真结果进行统计分析, 建立了任务成功概率评估模型。并且分析了几类维修资源配置情形下的仿真操作方法, 提高了评估方法的实际应用能力。最后, 通过一个算例验证评估方法的有效性和实用性。

关键词:多任务,任务成功概率,流水网络计划,工期,蒙特卡罗法

多任务操作系统 篇2

【关键词】相控阵雷达;天线;多任务;测试系统;设计方法

近场天线测试系统作为相控阵雷达天线性能测试的主要手段,该系统随着相控阵天线技术的完善,其测试效率也不断提升。基于应用需求,近场天线测试系统实现多任务测试是发展的主要趋势,目前该系统也已经被广泛的推广应用。

一、相控阵雷达天线概述

相控阵雷达包括有源电子扫描阵列雷达、无源电子扫描阵列雷达,其主要是通过改变天线表面的阵列波束合成形式,进而改变波束扫描方向的雷达。此类型的雷达天线的侦测范围较为广泛,利用电子扫描,能够快速的改变波束方向,精准的测量目标信号。

二、近场天线测试系统建设功能需求分析

近场天线测试系统设计,需要做好软件需求分析,此系统功能需求如下:1)要能够满足全测试周期可配置,以及软件通用化需求。此功能需求的实现,责任需要构建众多数据源输入接口,配置通信协议以及软件界面等,面向各类相控阵天线测试,进而达到通用化需求目标。2)实现多任务测试。相控阵雷达天线的不断发展,使得传统的单任务测试方法,已经难以满足天线测试需求,基于此进行多任务测试方法设计,在测试探头单独扫描条件下,采取高密度测试方法,即多个频率与波束等,实现高效测试。

三、相控阵雷达天线近场多任务测试系统设计方法

多任务测试系统主要是利用软件,进行测试参数预设,包括测试频率、波束角度、扫描架运用范围等。利用数据处理软件,进行分解转换测试,计算各采样点数据,获取天线方向图性能参数,最后显示图像。3.1架构设计方法相控阵雷达天线近场多任务测试系统架构设计,其是基于构件化设计思想,利用软件构成元素,由标准接口负责提供特定服务,以支持系统开发。系统架构中的构件库,主要分为数据采集类、三维扫描控制补偿类、方向图与数据处理类,构件存在形式为COM、dll等,使用构件管理工具,则能够进行动态加载与管理,进而在系统开发过程中,进行构件注册与复制,实现版本控制。利用GetTypes静态方法,来获取Assembly内的构件类型,判断构件类型,看其是否为构件接口所派生的,若是则运用Activator动态方法,即CreateInstan函数,来获取构件,实现动态加载[1]。3.2多任务设计方法相控阵雷达天线近场多任务测试系统设计时,需要进行多任务设计。相控阵天线的各波束状态,主要是天线波控分系统控制,天线接收波控指令包,由波控分系统进行分解处理,对天线上的波束扫描进行控制。近场天线多任务测试设计,其核心思想是实现天线实时扫面测试,同时控制天线频率与波束等的切换,进而实现实时同步切换。多任务测试系统运行的过程中会产生大量的数据,因此为了避免数据访问冲突,则采取创建多线程的方法,进行数据处理,将其分为数据处理与显示型、接收机测试型、伺服控制型线程。线程创建后,将会独立运行,各线程将会在其自身的时间段内,使用CPU,实现轮流执行与并发执行。3.3系统接口设计方法相控阵雷达天线近场多任务测试系统功能实现,数据源要与数据服务层实现交互,同时还需要确保数据服务层和客户端实现交互。天线近场测试系统主要是利用数据源插件,来封装底层API驱动或者通讯协议,基于标准函数,形成动态链接库,以实现测试的实时性。系统数据服务层的功能为插件容器,当系统运行时能够实现快速配置查找,动态的将插件放入系统构架中,或者从构架中取出,实现系统功能配置。利用TCP网络通信,实现数据服务层和客户端的信息交互,用户可以登录账号,通过身份验证后,完成界面文件下载,由客户端负责发送TCP连接请求,基于通讯协议,进而实现交互。3.4控制器设计相控阵雷达天线近场多任务测试系统控制器设计,主要包括雷控信号仿真电路、GPIB接口电路、信号转换电路与电源等。系统运行前,控制器通过GPIB接口电路,来接收系统中心的指令,记录测试所需要的频率码与波位码等,将其传送给雷控信号仿真电路,基于定时协议,实现解码与缓存。开始测试后,信号电路接收外触发信号,基于各测试点,将雷控与定时信号传送给天线,实现波位切换,同时而仿真电路能够和雷控信号、定时信号协调发出信号。最后协调控制天线测试所需要的各种信号,实现多任务测试[2]。3.3结束语相控阵雷达天线近场多任务测试系统设计,需要合理设计系统架构,以及多任务测试功能、接口设计等,以确保系统能够实现多任务测试与可拓展性,提高天线测试的效率。

参考文献

多任务操作系统 篇3

关键词:气调运输;IxC/OS-Ⅲ;多任务;控制系统

中图分类号:S229 文献标志码:A 文章编号:1002—1302(2016)01—0414—04

气调保鲜控制技术是一种可以综合调节环境温度、相对湿度和气体成分的贮藏保鲜调控方法。国内外学者在气调保鲜控制技术方面进行了深入的研究,主要集中在硬件平台、环境参数特性和集中式控制系统等方面,针对气调控制系统软件和操作系统等内容的研究还比较少。气调保鲜运输技术的发展日益成熟,气调装备的设计与应用也越渐深入,而气调系统的控制较为粗放,急需设计一种稳定、实时处理的控制系统。μC/OS-Ⅲ是一个具有可升级、可固化和基于优先级等特点的实时内核,已广泛应用于工业控制领域。本研究基于液氮充注气调保鲜运输装备相关技术,设计了基于μC/OS-Ⅲ的果蔬气调运输车厢多任务控制系统,并对系统任务的工作流程进行分析,为气调保鲜运输控制系统的研究提供参考。

1果蔬气调运输车厢主要结构

果蔬气调运输车厢由气调、制冷、加湿、通风和控制等系统组成,主要结构框如图1所示。控制系统为嵌入式系统,通过监测厢体内当前的保鲜环境参数(温度、湿度、氧气和二氧化碳体积分数),对比设定值进行运算分析,决策气调、制冷、加湿和通风等系统的工作状态。气调系统由自增压液氮罐、超低温电磁阀、汽化器、进气和排气电磁阀组成,超低温电磁阀通电使液氮由自增压液氮罐以恒定压力流经汽化盘管转变成氮气喷入厢体,开启排气电磁阀实现气体交换,降低厢体内的氧气体积分数;同时开启进气和排气电磁阀,在循环压差的作用下,实现厢体内、外气体的交换,提高氧气体积分数。制冷系统选用机械制冷机组,可实现制冷和融霜功能。加湿系统选用超声波加湿方式,超声波雾化头通电后通过高频振荡将水雾化成细小液滴,提高厢体内相对湿度。通风系统选用直流风机,通电后为厢体提供压差,使气流在厢体内循环流动。

2基于μC/OS-Ⅲ的果蔬气调运输车厢多任务控制系统设计

嵌入式实时操作系统以应用为主要目的,控制嵌入式系统资源的调度、分配和协调并发活动,能极大地提高控制系统的综合性能,具有如下优势:(1)应用程序分解成多任务模块,提高系统的开发效率;(2)多任务独立运行,提高系统的可靠性;(3)多任务协调并发执行,提高系统硬件资源的利用效率。μC/OS-Ⅲ是一个抢占的多任务内核,支持优先级相同的任务轮询调度,可以移植到不同类型的CPU架构,并与应用程序代码一起固化到只读存储器ROM中。μC/OS-Ⅲ提供了实时内核的资源管理、同步和内部任務交流等功能,响应快速的中断源,管理的任务个数不受限制,任务、堆栈、信号量、事件标志组、消息队列、消息数量、互斥信号量、内存分区和定时器等内核对象,可由用户适时分配,优化资源配置。

2.1系统整体结构设计

基于μC/OS-Ⅲ的果蔬气调运输车厢多任务控制系统软件构架如图2所示。利用Micrium移植代码将μC/OS-Ⅲ实时操作系统移植到以STM32为控制核心的控制板上,借助操作系统μC/OS-Ⅲ提供的驱动接口和内部资源,完成外设驱动接口代码,并根据控制系统的目标,生成应用层代码,用以决策系统中各设备的分工及控制要求。

为使应用层代码的结构清晰、任务功能明确和便于实现,将其分成7个工作任务,分别是:(1)数据采集任务;(2)历史数据存储任务;(3)环境参数调控任务;(4)设备工作状态监控任务;(5)人机交互任务;(6)历史数据上传任务;(7)系统调试任务。每个任务在连续自循环中,与其他任务交互信息,分别实现各自的工作目标。各任务问的信息交换过程如图3所示。

2.2系统任务工作流程设计

2.2.1数据采集任务 该任务主要负责采集厢体内保鲜环境和设备工作状态参数,并将其放入预设的全局变量中,以供其他任务查询,具体工作流程如图4所示。数据采集任务接收传感器发送的数据,对该数据进行筛选,筛除因干扰等因素造成偏离真实值的数据,并对数据进行平均值滤波,获取有效数据存入全局变量中。

2.2.2历史数据存储任务 该任务主要负责将系统的工作信息存储到外部FLASH中,便于后续的数据分析、对比和处理,具体工作流程如图5所示。历史数据存储任务通过记录数据存储周期和系统时间,定期并自动存储历史数据,便于操作人员通过选择时间区间调取所需数据。

2.2.3环境参数调控任务 该任务主要负责将厢体内当前的保鲜环境参数(温度、湿度、氧气和二氧化碳体积分数)调控至预设的目标保鲜环境参数,具体工作流程如图6所示。环境参数调控任务通过获取数据采集任务的当前厢体内保鲜环境参数和人机交互任务设定的目标保鲜环境参数等数据,进行数据运算与分析,决策气调、制冷、加湿和通风等系统的工作状态,采用双限值控制策略,使厢体内目标环境参数维持在设定值范围内。

2.2.4设备工作状态监控任务 该任务主要负责电器设备工作状态的监测与预警,实现电气系统在线故障诊断功能,具体工作流程如图7所示。为准确诊断电器设备的工作状态,通过试验确定传感器的合理范围和执行器在不同的工作负荷下的电流大小,绘制电器设备工作参数表,预先存储到系统中。设备工作状态监控任务通过获取电器设备工作参数表中的数据,与当前系统实时采集的传感器和执行器信息进行对比,分析电气系统中各执行器的工作电流是否符合当前工作状态,传感器采集数据是否都在合理范围内。如不在合理范围,则进行声光报警,采取相应限制措施,并及时通知人机交互任务,通过触摸屏清晰、直观地显示故障部件及故障代码。

2.2.5人机交互任务 该任务主要负责显示系统的工作信息和接受相关的控制信息,实现人机之间的交互,具体工作流程如图8所示。人机交互任务通过触摸屏实现显示信息、控制指令和系统时间等内容的实时更新,触摸屏与控制核心STM32采用RS232串口通信协议。

2.2.6历史数据上传任务 该任务主要负责通过串口通讯将存储在外部FLASH中的数据上传至上位机,具体工作流程如图9所示。历史数据上传任务根据操作人员选取的数据记录起始和结束时间,将该时间区间内的所有数据读出到内存中,通过UART通讯接口上传至上位机。

2.2.7系统调试任务 果蔬气调运输控制系统是1个多任务同时运行的多输入、多输出系统,各任务之间相互通讯和耦合,为防止任务冲突,系统外部和内部资源的使用也必须同步。复杂的控制逻辑需要系统具备良好地稳定性、鲁棒性和可靠性,为使系统能更好地运行且便于调试,设计了系统调试任务,主要负责监测系统中其他6个任务的运行情况,并根据其运行状态,采取相应的策略保证系统良好的运行,同时能接受和输出相关的调试信息,提高系统运行性能,具体工作流程如图10所示。

3结论

以气调保鲜运输车厢为试验平台,STM32嵌入式系统为控制核心,引入实时操作系统,设计了基于μC/OS-Ⅲ的果蔬气调运输车厢多任务控制系统,系统包括数据采集、历史数据存储、环境参数调控、设备工作状态监控、人机交互、历史数据上传和系统调试等7个工作任务,各任务间相互通讯和耦合控制。2012年9月,广东省农业机械鉴定站对本装备进行性能检测,检测结果表明:目标环境调节时间为128.2 min,氧气浓度信号采集偏差为0.3%,温度信号采集偏差为0.4%,相对湿度信号采集偏差为-5.9%,控制系统氧气浓度响应时间差为0.9 min,温度响应时间差为7.8 min,相对湿度响应时间差为4.4 min,系统设计合理,性能优越。2013年2月,广东省科学技术厅对本装备进行科学技术成果鉴定,鉴定果蔬气调保鲜运输关键技术与装备整体达到国际先进水平,其中气调保鲜环境综合调控系统居国际领先水平。

多任务操作系统 篇4

1 多平台设计

为了系统使用的方便, 系统设计必然要与网络相连, 既能在PC机上容易看到, 智能手机也要实现相应的功能。安卓应用作为移动平台应用的代表, 开源系统, 包括摩托罗拉、HTC、三星、LG、小米、魅族等手机企业都是基于安卓平台的手机业务, 安卓应用方面的通用性和互联性将在最大程度上得到保持, 同时它有触屏操作、交互少、功能直接等特点, 因此以安卓平台为代表的各色各样的移动互联网应用正越来越受到大家的青睐, 应用设计的研究也越来越多, 因此系统设计了采用互联网+ 手机APP应用方式。

2 任务跟踪

企业在日常布置某项业务时, 业务负责人有时需要随时能看到业务目前的完成情况, 打电话或者一个个询问不是很方便, 这是就需要一个系统便于负责人随时发布, 查询业务目前执行的状态。执行人也可以随时通过网络了解自己需要完成的工作。

3 系统设计与实现

3.1 功能设计

根据业务的要求, 任务跟踪平台整体流程为发起、分配、执行、反馈、完成、验收、关闭7 个流程, 其业务流程图, 见图1。

主要功能如下:

登陆:输入正确的账号和密码登录即可登录, 有一个不符合条件显示账号和密码输入有误, 不能登录。

创建任务:同一个任务名称可添加多个任务事项, 需要填写任务名称、任务事项、要求完成时间、完成标准, 然后选择责任人、验证人, 最后上传相关附件 (会议纪要等) 。

草稿箱:已保存但未提交的任务事项可以在草稿箱中进行二次修改或删除。可以修改任务名称、任务事项、要求完成时间、完成标准, 选择责任人、验证人, 上传为单独任务事项相关附件 (会议纪要等) 。

任务执行:通过任务和任务事项名称包含的文字或者状态搜索任务事项, 查看任务状态, 填写添加情况说明页面, 上传需执行附件页面, 点击提交按钮, 最后打开状态变更页面。

任务验收:可以选择验收通过和不通过并确定。如果验收通过则任务结束, 如果验收不通过任务被打回执行人重新执行。点击提交按钮打开验收结果变更页面。也可以添加验收情况说明和相关验收附件。任务未完成情况下, 点击提醒可催办。

任务关闭:选择关闭或者撤销并确定。关闭的任务无需再关注, 如果任务中途取消可使用撤销选项。点击提交按钮打开关闭页面。添加关闭情况说明和相关关闭附件。任务未完成, 未验收情况下, 点击提醒可催办。

任务查询:填写任务或者任务事项名称关键字, 选择状态、时间、验证人、发起人等。点击查询按钮根据单个或者组合条件查询任务。点击导出按钮导出所有查询到的任务为Excel文件。选择每列任务事项前的选项框。点击批量提醒可同时催办多个选择的任务执行和验收人。

3.2 任务跟踪安卓平台设计要求实现图 (见图2)

4 结语

本文介绍一个跟踪系统的设计与开发, 系统基于互联网+ 安卓平台完成, 实现了任务发起、分配、跟踪、验收、关闭等功能, 系统具有一定的创新性, 符合一定的用户需求。当然系统中还有不足之处, 验收未通过需要说明原因, 能否设定任务完成时间提醒, 任务还差1 ~ 2 天时有个提醒功能对执行人。发布任务的负责人是否能在发布任务时设置, 重要性、完成时间等是否能设置等级, 接收任务的负责人可以根据任务完成时间, 等级等考虑完成任务的排序。

摘要:随着互联网的发展, 人们使用智能手机越来越来, 许多企业也都在移动互联网上有自己的平台。本文根据业务需求, 随时了解任务的目前的状态, 谁负责, 完成的程度和内容, 设计和实现了互联网+APP应用的任务跟踪系统。

关键词:多平台,任务跟踪,安卓系统

参考文献

[1]吴丽淳, 樊爽.基于安卓平台的手机定位软件开发[J].计算机与现代化, 2014 (9) :95-98.

[2]孟濬, 朱天宇.一种基于智能手机的新移动医疗系统模式[J].计算机应用研究, 2013 (7) :2056-2060.

[3]蒋亦奇.基于安卓平台的事件日历系统的设计与实现[D].南京:南京大学, 2013.

多任务操作系统 篇5

【篇一】销售任务没完成检讨书范文

尊敬的销售部经理:

非常抱歉!让您在百忙之中抽出时间批评教育我。此刻,我已深深认识到自己错误的严重,我错了!

我在近一个月的销售手机工作期间存在工作懈怠、疏忽大意、工作积极性不高等问题。这些问题直接导致了我没有完成销售业绩,而且我没有完成的不是一点两点,而是很多额度没有完成。公司下发我这个月完成两万元的销售额,我仅仅完成一万一千多元,还有很大一部分额度没有到限。

面对错误,我感到深深的自责、懊悔,我真的觉得很惭愧,对不起经理日常对我的关心和照顾。经过面壁思过,我已经深刻地决定了,我不能够忍受其他同事对我‘吃闲饭、吃底薪’的诋毁,我一定要有所行动:

首先,我要痛下决心,悬梁刺股地提高自己的销售工作积极性,从内心迸发强大的工作热情,全心全意地投入手机销售工作当中。其次,我要向经理表示一下道歉,就前一阶段拖累大家后退的事情向部门同事道个歉。再有,我要吸取教训,总结经验,吃一切长一智,端正工作态度,改进工作方法,争取创造优良的手机销售工作业绩。

以上就是我的手机销售业绩没完成的检讨书,欢迎批评指正!

【篇二】销售任务没完成检讨书范文

尊敬的领导:

在此,我怀着深深自责、懊悔的心情向您呈递这份服装销售业绩差检讨书。为了深刻检讨,我特地用了整晚的时间在寝室里苦思冥想,终于酝酿出了这样一篇检讨书。

回顾本次错误,我因为个人在工作中不思进取,工作不够努力、工作不掌握技巧所以导致了自己服装销售业绩差,因为我个人的原因,不听取其他人的意见所以销售业绩不佳,岗位薪水不高,销售提成少。面对错误,我感到深深地懊悔与自责。

通过反省,通过反省我意识到了自己的错误,实际上是看到我个人工作能力突出,给予我更好的工作锻炼机会。而我竟然不服从上级领导任命,给领导顶撞对板实在是伤了领导的心。所以说在这个工作的时候我也只顾自己的不顾及整个团队合作的重要性所以说在这个方面我也是欠缺的,所以在以后的工作中我会好好的注意这方面。

此刻我决心向领导好好悔改,并且保证我今后会:首先,接受单位领导的工作任命安排,到新岗位上勤勤恳恳、踏踏实实地工作。其次,我就此次错误向领导递交一份深刻道歉信,给领导一个合理答复。再有,我要到新的工作岗位上尽我所能提高新工作服装销售门店的整体经营业绩,为总公司发展贡献力量。

【篇三】销售任务没完成检讨书范文

尊敬的领导:

我没完成支行领导交给我的任务,在此我怀着万分沉重的心情做出深刻的检讨。

古人常说,“行有不得,反求诸己”,但一开始,我并未能及时地进行自我反省。古人又说,“君子务本、本立而道生”,因此,在自我反省的过程中,一定要把犯错误的根本原因找出来,若是找不到根本原因所在,敷衍了事,于事无补,将来还会犯更多更严重的错误。悔悟后,归结原因如下:

1、责任心不强,工作作风不深入,不踏实。作为一名银行员工,不论有多少理由,都应时刻为了银行着想,听从领导的吩咐,尽职尽责做好我的本职工作。

2、事发后,不能心平气和地面对错误,有逃避的心理。一开始,就想着把很多问题推给别人,而不能立刻想着先从自己身上找原因。为什么不能心平气和呢,因为是“龌龊的面子”在作怪,还强装出一副“此事与己无干”的样子,对事情展开一番“与己无干”的耍赖分析!每每想起当时的嘴脸,心中甚是羞愧。

通过这件事,我重新反思了自己读书学习、做人、做事的态度,感悟到:

3、一个人一生最重要的是做事做人的能力。做人要专注,做事也要专注。做事不专心,一定无法把事情做得圆满,无法清楚地掌握细节。学习就在做人、做事的点点滴滴中。经典绝不是在书本里,而是在做人、做事的点滴中。“学如逆水行舟,不进则退”,读了那么多的书,假如不融会贯通,不与生活结合,就很难有喜悦,就是古人所讲的“学而时习之,不亦乐乎”。

4、“学习最重要的境界是体悟。如果学习中不能体悟,那只是“记问之学”,就好像人吃了东西没有消化,对身体当然就没有帮助,甚至还有害处。”最近,听到一个讲座,讲座里举了一个例子,说某人毕业于某个研究所,有一天,母亲叫他处理点家事,他做完以后,母亲检查后觉得他做得不是很好,就说:“儿子,你怎么连这点小事也做不好?你怎么这么笨。”那人听后,马上脸孔变得非常凶恶,然后接着母亲说了一句话:“我都念到研究所了,你还骂我笨!研究所给了他什么?有没有给他人生的智慧,待人、处世、接物的智慧?只是给了他傲慢,给了他不受教。这点小事没办好,恰恰是学习的机会,但他并没有把握这个机会,反而对母亲的指责和批评很不能接受。事物都有一体两面,不往好处发展,就会自然地向坏处发展。听完讲座,再想想自己,也甚是惭愧!

灾后重建多任务水库建设管理 篇6

关键词:多任务 水库 建设 管理

中图分类号:TV62 文献标识码:A 文章编号:1672-3791(2014)08(a)-0132-02

2008年5月12日,汶川特大地震灾害造成江油市水利工程普遍出现险情和受损。经水利部、四川省水利专家组现场初核,并按震损水利工程计算标准测算,江油市水利工程震损直接经济损失为21.96亿元。其中:水库有溃坝险情15座、高危险情45座、次高危险情127座,直接经济损失1.8亿元;堤防震损50.75 km,直接经济损失0.93亿元;村镇集中供水40处、农村分散式供水工程47740处震损,影响人口47.9万人,直接经济损失1.9亿元;中小型引水河堰8处、山坪塘1.52万口、输水干渠1700 km、输水支斗渠1828 km、渠系重点建筑1.9万处不同程度震损,直接经济损失14.9亿元;水电站受损16座,装机5.26万kW,直接经济损失0.77亿元;提灌站震损974处,水泵电机1082台,装机3.93万kW,直接经济损失1.66亿元。

经过3年的努力,江油市的水利工程灾后重建已经全部完成。现结合江油市水库灾后重建建设管理实际,提出了多任务水库灾后重建建设管理的基本方法和措施。

1 应急抢险

1.1 集结队伍,成立机构

2008年5月12日下午第一波地震一结束,江油市水务局迅速集结干部职工,成立应急指挥中心,安装应急电话,启动自备电源,就近临时办公,并安排老专家坐镇应急指挥中心指挥。

1.2 现场抢险和查灾

江油市水务局共组织成立5个工作组,工作组由水利工程师和乡镇水利员组成,分片深入水库工程现场指导抢险救灾和收集险情情况。

1.3 制定水库抢险基本措施

对出现险情水库制定抢险应急方案,形成了“疏散险情水库下游群众、放水减轻大坝压力、大坝裂缝覆盖、加强观测及预警”四项水库抢险基本措施。

1.4 组织抢险物资

险情发生后,江油市政府及时安排了抢险救灾资金,水务局迅速安排专人组织彩条布、塑料薄膜等应急抢险物资,并分发到各水库,及时解决了抢险物资不足的燃眉之急。

1.5 查灾报灾

现场工作组反馈的数据及时在应急指挥中心得到汇总,并由专人统计、审核,集中上报。2008年5月16日,江油市全市水库险情和受损情况已经上报到了国家防总,为上级安排抢险救灾工作提供了可靠的数据。

1.6 应急抢险方案制定

地震后,黄委、长委专家组及时赶到了江油市,分多个小组奔赴水库现场并制定应急抢险方案,确保了下一步工作的顺利实施。

1.7 实施水库应急抢险整治

为确保受损水库在主汛期前全面完成应急抢险,经上报有关部分批准,水库应急抢险整治不实行招投标制,江油市水务局及时落实多家有资质的施工单位进场施工,确保水库安全度汛。由于应急抢险措施科学、合理、及时,震损水库险情得到及时控制,保障了水库及下游人民群众生命财产的安全。

2 灾后重建

2.1 规划设计

水利灾后重建规划批复后,水库的初步设计得到了河南水利厅的大力支持。包括河南省水利勘测设计研究有限公司在内的6家设计单位派出了200余名工程技术人员派驻江油市,历时100余天完成了187座水库的初步设计并报上级部门批准。在此阶段,江油市水务局主要负责现场向导和收集数据,并参与方案研讨等工作。

2.2 工程招标

水库的招标采用分乡镇打捆招标,一般单个标段以1~3个水库为宜。战旗水库(中型)由于投资规模较大,则按大坝土建、灌浆、管理房分标段招标;向家沟水库(小一型)由于出现了库岸滑坡地质灾害险情,则按枢纽和地灾分标段招标。

2.3 质量管理

震损水库工程质量采取分类、分级管理制度。

由于震损水库受损类型分为溃坝型、高危型和次高危型,故而在质量管理上应分清侧重点。溃坝型和高危型水库由水利工程师直接管理,分配到人,直接参与现场质量控制与管理,一般每人管理1~5个工地;次高位水库由水利工程师组织管理,乡镇水利员参与现场质量控制与管理,水利工程师组织管理1~2个乡镇,乡镇水利员一般每人管理1~5个工地;同时要求监理公司每个工地派驻1~2名现场监理,每个监理标段1~2名总监。

乡镇水利员和监理公司对水利工程师负责,水利工程师对水库指挥部指挥长负责。

江油市187座水库灾后重建已经全面完工,完工水库已经经过了2~4个汛期考验,所有水库至今无一出现工程质量事故和险情。

2.4 进度管理

震损水库工程进度采取统一规划、分步实施的管理制度。

根据震损水库的分类,按溃坝型、高危型和次高危型水库分步实施重建,包括工程设计、招标、工程实施、完工验收和竣工验收。

水库指挥部负责187座水库的前期规划、设计、财评、完工验收和竣工验收,全面负责中型、小(一)型以及溃坝、高危型小(二)水库的招标、工程实施管理。

各乡镇负责次高危小(二)水库立项、招标、工程实施管理。

所有水库的建设进度由水库指挥部统一控制协调,确保了重建任务顺利完成。

2.5 投资管理

江油市187座水库灾后重建立项总投资36300万元,为我市建国以来在水库上的最大一次性投资,如何管好用好这笔资金关系到党的灾后重建政策能否落实、关系到全市人民生命财产安全,关系到参建各方义务与权力的履行。同时也关系到参建的人员个人廉洁问题。

规划阶段:控制投资管理的关键是前期规划与立项,在项目初期,江油市水务局与河南援建的设计单位加强了沟通与联系,所有项目均由双方讨论后才确定最终方案。

招标阶段:水库指挥部安排专业人员全过程参与招标文件编制、财评控制价的编制、审查工作。

实施阶段:指挥部对工程现场计量、签证、索赔等事项统一进行处理,采取1人签证、1人核实确认的方式进行管理。

结算阶段:进度结算由指挥部专人审查,完工结算由水务局组织专家组统一审查后报审计部门审查,最终以审计报告为准办理完工结算;进度结算和完工结算比例均按合同约定执行。

决算阶段:由专人负责水库竣工财务结算办理及送审工作。同时工程人员积极配合办理。

审计阶段:由项目负责人配合审计工作,做好配合与解释工作。

2.6 竣工验收

由于水库数量多,加之周边县市均有重建任务,验收机关需验收上千个项目,故而采取从各县市抽调专家组成验收小组,并按交叉验收的原则进行验收,验收质量和进度达到预期效果。

3 交付使用

工程采取验收一批移交一批的方式,市(县)水务局和地方乡镇政府、水库管理机构及时办理移交手续,责权利分明,确保完建工程在试运行期和后期得到及时管理维护。

4 结语

多任务操作系统 篇7

多阶段任务系统 (PhasedMissionSystem, PMS) 是由多个连续的阶段任务构成的系统。在一个多阶段任务系统中, 整个系统任务被分为若干个阶段连续地执行, 每一个阶段都要实现各自不同的阶段目标, 从而完成预定的系统任务目标。当所有阶段任务都成功完成后, 整个系统任务才算成功实现[1]。比如, 飞机执行一次飞行任务就可以被看成一个多阶段任务:在跑道上滑行, 准备起飞, 上升, 飞行, 降落, 滑行返回航站。与单一阶段任务系统相比, 多阶段任务系统的可靠性分析由于阶段之间的相关性而变得更加复杂[2], 因此对多阶段任务系统失效的分析和研究是非常有意义的。通过对多阶段任务系统定性和定量的分析, 可以找出导致系统失效的原因, 并且计算系统失效的概率。

对于多阶段任务系统可靠性的分析, 目前经常采用的方法主要分为两类:基于组合模型的静态分析方法, 常用的如二元决策图 (BinaryDecisionDiagram, BDD) ;和基于状态空间的动态分析方法, 如马尔可夫链模型。Kim, Alam和Ritcey提出对每个阶段的马尔可夫链独立分析, 其中阶段的初始状态概率来源于上一个阶段的结果, 针对阶段相关的马尔可夫链的状态概率向量的转化, 提出一种有效的重新配置过程[3,4,5]。莫毓昌等用一个五元组分析模型来描述符合马尔可夫再生过程的一般PMS, 利用马尔可夫再生过程理论, 给出一般PMS的阶段内随机过程分析公式和简化计算方法;然后给出一般PMS任务可靠性分析公式和简化计算方法, 可以有效地对一般PMS进行可靠性分析[6]。马尔可夫链的方法存在随着系统规模增大而出现的状态空间组合爆炸的问题, 从而影响了它对系统可靠度的计算效率。

BDD是布尔函数表示的一种图形方式, 可以直观地反映出函数的逻辑结构, 与其他方法相比, BDD在表示布尔表达式时, 占用的计算机空间小, 具有较高的计算效率, 近年来逐渐被应用于多阶段任务系统的可靠性分析中。Dunnett和Andrews给出了一种多阶段任务系统的BDD算法, 该算法先生成每个阶段任务的BDD, 然后再通过阶段代数关系组合得到整个系统的BDD[7]。张涛等提出了一种一次性生成阶段任务系统BDD的快速算法, 在生成的BDD的基础上, 得到系统的结构函数并计算多阶段任务系统的可靠度[8]。陈光宇等对多阶段任务系统可靠性分析的两种方法:二元决策图 (BinaryDecisionDiagram, BDD) 组合式方法和马尔可夫链方法进行了评述, 并提出了对不同状态下的多阶段任务系统的可靠性分析算法[9,10]。OuY提出了基于混合多阶段任务系统的模块化分析方法, 对混合多阶段任务系统中的静态阶段采取组合模型的方法, 对动态阶段采取马尔可夫链的分析方法, 并结合模块化分析的思想, 把多阶段任务系统中的底事件进行模块化处理, 从而简化了分析过程, 综合利用了这两种传统方法的优点[11]。

BDD方法应用的关键是在从故障树向BDD转换时需要对底事件进行排序。最后产生的BDD的节点数很大程度上依赖于输入的底事件的排列次序。因此在构造BDD时, 如何选取它的底事件顺序非常重要。在单一阶段任务系统的分析中, 已经有众多的学者对底事件的排序方法进行了详尽的研究, 主要的排序方法可以分为静态变量排序和渐进式变量排序两大类。静态变量排序还可以进一步分为结构式和加权式两类。结构式排序方法主要是取决于底事件在故障树的位置, 或横向、或纵向依次排序[12,13,14,15,16,17]。

由于多阶段任务系统各阶段之间的相关性, 将单一阶段任务系统BDD的排序方法直接应用于多阶段任务系统中不一定能得到满意大小的BDD。而目前国际上对多阶段任务系统的BDD底事件排序方法的研究仍有待进一步探索。X.Zang等指出了多阶段任务系统底事件排序的重要性, 认为多阶段任务系统的排序应该包括对系统组件的排序和阶段顺序的排序, 提出了两种构造多阶段任务BDD时的阶段排序方法:组件变量排序与阶段顺序相反的倒序排序方法 (backwardordering) , 以及组件变量排序与阶段顺序相同的顺序排序方法 (forwardordering) , 结果显示倒序的排序方法可以生成更小的, 也即是节点更少的BDD[18]。Z.Tang和Dugan也强调了在多阶段任务系统分析中底事件排序的重要性, 并且将一般BDD的排序方法应用到多阶段任务系统的BDD构造中[19]。YuchangMo对多失效模式下的多阶段任务系统底事件排序进行了详细的研究, 在两类基本的排序方式:结构式排序方法和加权式排序方法的基础上, 结合多阶段任务系统的两类阶段排序方法, 提出了四类可用于多失效模式下的多阶段任务系统的底事件排序算法, 并对这四类方法进行了实证分析[20]。但是, 由于多阶段系统的多样性和复杂性, 很难找出一种通用的优化的排序方法。受到近年来多阶段任务系统研究成果的启发, 希望能够从多阶段任务系统自身的结构特点和系统特性出发, 提出一种简单的多阶段任务系统的排序方法。发现共同失效组件和最小相邻组件的排序会对BDD的大小造成影响, 在满足优先考虑共同失效组件和最小相邻底事件相邻排序的基础上, 安排重复次数较多的系统组件较低的排序优先级可以帮助生成较小的BDD, 从而提出了一种新的多阶段任务底事件排序方法。并且通过一个实例体现了这种方法的优势。

1多阶段任务系统BDD排序

1.1研究假设

由于多阶段任务系统的复杂性, 在分析中对研究对象进行如下假设。

(1) 多阶段任务系统是不可修复的 (non-repaired) , 也即如果系统中的某个组件从工作状态变成了失效状态, 那么在以后的任务阶段中它将一直都是失效的状态。

(2) 系统中各个组件之间是功能独立的 (functionalindependent) , 即一个组件的工作或者失效都不会影响其他组件的状态。

(3) 这里考虑的是静态的PMS (static) , 即系统的任何一个阶段的失败都只取决于各组件失败的组合关系, 而和组件失败的先后顺序无关。

(4) PMS是单调的 (coherent) , 即系统中每个组件的工作或者失效都会对系统造成影响, 并且系统的状态不会因为某个组件的失效而变得更好。

1.2底事件排序方法研究

1.2.1排序思想

在多阶段任务系统中, 同一个组件可能重复在多个阶段中出现, 其失效也可能对不同的阶段产生不同的影响;而任何一个阶段任务的失效都会导致整个任务系统的失效。针对多阶段任务系统的这种特点, 提出基于共同失效组件和最小相邻底事件的BDD排序方法, 通过减少重复的BDD节点数和增加可被共享的BDD节点数来帮助生成较小的BDD, 从而可以减少重复组件和对BDD大小的影响, 并且简化BDD的构造过程。共同失效组件 (模块) 的引入不仅可以帮助对多阶段任务系统故障树进行化简, 而且对共同失效组件优先排序也可以帮助减少重复的BDD节点。而通过对最小相邻底事件之间相邻排序, 还可以增加可被共享的BDD节点。与单一阶段任务系统中重复底事件对BDD大小的影响不同, 在PMS中, 某个组件重复的次数越多, 在向BDD转换时用于表示该组件的变量也会越多, 如果对这些变量优先排序, 则会导致BDD构造时生成更多重复而不能共享的节点。所以在多阶段任务系统中, 对于重复次数多的其他组件, 给予其较低的优先级, 便于BDD构造过程中减少重复节点的生成, 并且有利于生成可以共享的BDD子树。

1.2.2原理

(1) 多阶段系统组件的处理方法

为了解决各阶段之间的相关性的影响, 多阶段系统中的每个组件在进行BDD转换的时候由一个变量集合代替[21]。集合中的变量分别代表在各个阶段中出现的该系统组件。假设A为一个k阶段任务系统中的一个组件, 且A在每个任务阶段中都出现, 则A在BDD构造时可以表示为{A1, A2, ..., Ak}。注意各变量之间的关系符合下面的原理 (i<j≤k) :

原理1事件“组件A在第i阶段和第j阶段都是正常工作状态的”与事件“组件A在第j阶段是正常工作状态的”是等价的, 因为在一个不可修复的系统中, 如果组件在某个阶段是正常工作的, 那么它在之前所有的阶段也一定是正常工作的。

原理2事件“组件A在第i阶段和第j阶段都是失效状态的”与事件“组件A在第i阶段是失效状态的”是等价的。组件在某个阶段一旦失效, 由于系统所有组件是不可修复的, 在后面的阶段就不可能从失效状态转变成正常工作状态。也即组件A在第i阶段失效而在第j阶段正常工作是不可能事件。

按照以上的原理, 在构建BDD的时候, 节点Aj的左枝 (Aj=1, 代表A在第j阶段是失效状态) 指向的可能是属于同一组件的变量Ai (如图1) , 即A是在第j阶段之前的某个阶段就失效了;也可能是不同组件的变量Bi (如图2) , 即A是在第j阶段过程中失效的。而Aj的右枝 (Aj=0, 代表A在第j阶段是正常工作状态) 指向的一定是不同组件的变量, 因为该组件在第j阶段是正常工作的意味着该组件在第j阶段之前的所有阶段也肯定是正常工作的。

(2) 阶段排序方式

对PMS系统的底事件排序需要从两个方面进行:系统各组件之间的排序 (componentsordering) 和系统各阶段之间的排序 (phasesordering) 。对于系统各阶段之间的排序, 将采取backwards的阶段排序方式, 并且构造BDD时组件变量是相邻的[22]。仍以组件A为例, 在构造BDD时, A的各变量之间的排序为Aj<…A2<A1。

(3) 重复组件的处理方法

在确定PMS重复组件的排序方法之前, 先对PMS中的组件做一些定义。

定义1共同失效组件 (CommonFailureComponents) 。在PMS中, 如果某个组件在i+1阶段直接导致了整个系统失效, 那么根据原理2, 在i阶段和之前该组件出现过的所有阶段, 该组件失效都将直接导致系统失效。由此还可以引申出共同失效模块的概念, 假设PMS中某棵子树M在i+1阶段的失效直接导致了整个系统失效, 那么在i阶段和之前M出现过的所有阶段, M失效都将直接导致系统失效。子树M称为共同失效模块。

在对PMS故障树构造BDD时, 通过删除一些共同失效组件和共同失效模块可使故障树化简, 从而可以简化BDD的构造过程。具体的化简方法在节1.3中详细介绍。

如图3所示, 组件A在phase2失效会直接导致系统失效, 则A在phase1失效也会导致系统失效, A是共同失效组件。M是共同失效模块。

定义2最小相邻组件是指同时出现在同一个逻辑门 (AND或者OR) 下的两个或两个以上的叶子节点代表的组件。如图3所示, D和E是最小相邻组件, B和C是最小相邻组件。

规则1对于共同失效组件, 若该组件在其最后一次出现的阶段中导致系统失效, 则给予该组件最高的排序优先级。

规则2优先考虑最小相邻组件的排序, 并对PMS中的最小相邻组件进行相邻排序, 在构造BDD的时候更有可能形成可被共享的BDD节点, 从而帮助生成更小的BDD。

规则3在多阶段任务系统中, 在满足其他规则的基础上, 组件重复出现的次数越多, 给予的排序优先级越低。这里重复的次数是以组件在不同阶段出现的次数来计的, 如果在同一个阶段中出现多次仍以出现一次计算。

1.3步骤分析

整个的排序过程是:先对故障树进行化简, 然后按照backward的阶段顺序, 从最后一个阶段开始依次对PMS中的组件进行排序, 最后再确定整个PMS所有的组件排序顺序。

假设多阶段任务系统中有n个组件, 由k个阶段组成;M代表共同失效组件集合;Cp代表某阶段第p个被排序的最小相邻组件集;Oi表示PMS故障树第i阶段的排序结果 (i≤k) 。

步骤1根据共同失效组件和共同失效模块对PMS故障树化简。化简过程如下。

对于共同失效组件A, 假设其在第i+1阶段直接导致系统失效, 则在第1阶段到i阶段的树中, 如果A在或门 (OR) 下, 删去代表A的底事件;如果A在与门 (AND) 下, 则删除代表A的底事件所在的整个与门。此化简方法同样适用于共同失效模块。

由于采取backward的阶段排序方法, 下面从最后一个阶段即第k阶段开始, 对PMS中的各组件进行排序。

步骤2先观察第i个阶段 (i=k, k-1, …, 1) 中有没有共同失效组件, 如果存在共同失效组件, 并且该组件在第i阶段的失效会导致整个系统的失效, 将其加入到共同失效组件集M。否则进行步骤3。

步骤3从第i个阶段故障树的最高层开始, 按照规则2中对最小相邻组件优先进行排序的原则, 从高到低进行遍历寻找最小相邻组件。

(1) 最小相邻组件之间按照重复次数由小到大相邻排序, 若有重复次数相同的, 按照从左到右的顺序排序。可将排序后的最小相邻组件记为集合C1 (c1, c2, …, cm) (m=1, 2, …, n) , 其中c1, c2, …, cm代表最小相邻组件, 且c1<c2<…<cm。<代表“优先于”。

对于c1和cm, 由于在前面各个阶段中还可能存在它们的最小相邻组件, 根据规则2, 为了尽可能地使得最小相邻组件排序相邻, 分别对c1和cm执行向前追踪。观察从第i-1阶段到第1阶段未参与排序的组件中, 有没有和c1最小相邻的组件。如果有, 比较其重复次数和c1的重复次数大小, 若重复次数小于c1, 则加入到集合C1中并且排在c1的前面, 否则暂不排序。若在向前追踪的过程中发现多个重复次数小于c1的相邻组件, 则按照从重复次数少到多的顺序排在c1的前面, 若仍然相同, 按照从左到右的顺序排序。对于cm, 若从第i-1阶段到第1阶段没有参与排序的组件中存在和cm最小相邻的组件, 且重复次数大于cm, 则加入到集合C1中并且排在cm的后面, 否则也暂不排序。若在向前追踪的过程中发现多个重复次数大于cm的相邻组件, 则按照重复次数从少到多的顺序排在cm的后面, 若仍然相同, 按照从左到右的顺序排序。

(2) 对该阶段故障树执行向下追踪, 对没有参与排序的组件, 找出所有的最小相邻组件, 按照上述方法相邻排序。假设该阶段中有p组最小相邻组件集合, 记排序后的最小相邻组件集合为C1, C2, …, Cp。

(3) 将该阶段其余没有参与排序的底事件和C1, C2, …, Cp一起, 按照重复次数的多少从小到大排序, Cp的重复次数按集合中组件重复次数最多的值计算, 用max (Cp) 表示。若有重复次数相同的, 按照在该阶段故障树中出现的层次, 从高到底排序, 若仍然相同, 按照从左到右的顺序排序。这样, 得到底事件排序结果O1。

步骤4对第i-1阶段中没有参与排序的底事件继续进行排序。排序方法同步骤2和步骤3。直到PMS中所有的组件都参与了排序, 得到l组排序结果, 分别用O1, O2, …, Ol表示。

步骤5确定PMS中所有底事件的排序顺序。

首先, 共同失效组件集M中的共同失效组件最优先排序;若集合M中有多个共同失效组件, 按照从左到右的顺序排序。

然后对各个阶段之间的底事件确定排序。

假设在上述的步骤中共得到l组排序 (l≤k) , 分别用O1, O2, …, Ol表示。找出每组排序内所有组件的最大重复次数, 用max (Ol) 表示。按照max (Ol) 的大小, 从小到大对排序组O1, O2, …, Ol进行排序, 若有相等的, 按照排序组的生成顺序即l值的大小, 从小到大进行排序。从而得到最终的PMS组件排序顺序

最后对表示PMS组件的变量采取backward的排序方式, 完成对PMS底事件的排序。

2举例分析

为了更好地理解文中提到的排序方法, 将以一个PMS系统的故障树为例, 如图4, 用文中的排序方法构建BDD。

2.1 PMS底事件排序

步骤1 PMS故障树化简

PMS中存在共同失效组件A, 则删去Phase 3中的A, Phase2中的A及其所在子树以及Phase1中的A及其所在子树。再对共同失效模块M化简, 删去Phase3中的M。对PMS故障树重新整理, 可以得到新的PMS故障树, 如图5。对PMS故障树进行遍历, 得到如表1的系统组件的遍历结果。

步骤2从Phase4开始进行排序

首先观察是不是存在共同失效组件, A是共同失效组件且A的失效将直接导致系统失效, 则将A加入共同失效组件集合M。由于A所在的最高层没有最小相邻底事件, 则向下追踪, 寻找最小相邻底事件。C和F是最小相邻底事件, 且F的重复次数小于C, 则得到该阶段第一个最小相邻组件排序集C1 (F<C) 。对F向前面所有阶段进行追踪, 没有发现F的最小相邻组件。然后再对C向前面所有阶段进行追踪, C在Phase1有最小相邻底事件D, 而D的重复次数和C相同, 暂不排序。至此, 完成本阶段的排序。得到O1{F<C}。

步骤3对Phase3排序

Phase3中没有参与排序的底事件, 也没有共同失效组件和共同失效模块。从Phase3故障树的最高层开始, 从上到下寻找最小相邻底事件。在最高层没有发现最小相邻底事件, 则向下追踪。B和D是相邻底事件, 且重复次数相同, 按照从左到右的排序原则, 得到该阶段第一个最小相邻排序集C1 (B<D) 。剩下没有参与排序的底事件E, 对E和C1进行排序。E重复2次, max (C1) =2即C1的重复次数为2。重复次数相同, 按照从上到下的排序原则, 结果得到O2{E<B<D}。

步骤4此时Phase1中的底事件都已经参与了排序。

步骤5确定底事件的最终排序

共同失效组件A最优先排, 然后对O1, O2排序, max (O1) =2, max (O2) =2, 则O1先排。从而可以得到PMS组件排序为:A<F<C<E<B<D, 而最终的PMS底事件排序顺序为

A4<F2<C4<C1<E3<B3<D3<D1

2.2 PMSBDD构造

按照文中的排序方法对PMS中的底事件进行排序后, 就可以进行BDD的构造, 并对BDD进行化简。一般BDD的简化是通过删除一些多余的节点和相同的子树完成的, 具体化简步骤参见文献[6]。

最后得到一个PMS-BDD, 如图6所示, 它只包括9个节点。

下面, 用单一阶段任务底事件排序中改进的深度优先的排序方法对该例中的PMS进行排序, 构造BDD, 通过对比来展示该方法的优越性。采用改进的深度优先的排序方法, 先排Phase1中的底事件, 按照从Phase1到Phase4的顺序, 并且给重复次数多的组件较高的排序优先级, 对Tree1的排序结果为:C4<C2<C1<D3<D2<D1<E3<E2<B3<B1<A4<A3<A2<A1<F4。化简后的BDD如图7所示, 节点数为16。

可以发现A3、A2、A1、C2、D2、B1、E2在最终的BDD中并没有出现, 这是因为在构造BDD的过程中它们最终都被化简掉了。传统的排序方式构造的BDD中, 共同失效组件A4节点重复出现了两次, 最小相邻组件的B3和D3分别重复出现了2次和3次, 导致最后生成的BDD节点增多;而本文的排序方式构造的BDD中由于把最小相邻底事件B和D相邻排序, 并且把共同失效组件A优先排序, 同时给重复次数较多的C和D较低的排序优先级, 所以构造出的BDD中除了E3节点重复出现两次, 其余的底事件节点都只出现一次, 减少了重复出现的节点数, 增加了可以被共享的BDD节点, 得到的BDD是较优的, 从而可以提高多阶段任务系统可靠性的计算效率。

3结论

本文针对多阶段任务系统 (PMS) 提出了一种新的BDD底事件排序方法。基于BDD的PMS的分析方法是目前备受关注的一种PMS系统可靠性的分析方法, 但是将PMS故障树转化为BDD时, 由于PMS系统多阶段且阶段之间不相互独立, 并且PMS中各阶段的系统组件在BDD中需要以多个节点表示, 使得BDD的构造比较困难。尤其是PMS故障树转化成BDD的过程中, 用来表示PMS中组件的底事件节点较多, 如果没有合适的方法对PMS故障树中的底事件进行排序, 在构造BDD时会非常复杂, 甚至生成非常大的BDD, 从而降低了系统可靠性的计算效率。本文首先通过对PMS故障树结构的分析, 根据共同失效组件和共同失效模块对故障树进行化简, 从而减少了故障树向BDD转化时用来表示PMS组件的底事件节点数, 简化了BDD的构造过程。同时根据最小相邻组件相邻排序, 以及给予重复次数多的节点较低的排序优先级可以增加BDD中共享节点的思想, 对PMS故障树中的底事件进行排序。从而得到PMS故障树底事件的排序顺序, 帮助快速的生成较小的BDD, 提高了PMS系统可靠性计算的效率。本文中提到的方法适用于静态PMS系统可靠性的分析, 并且在当PMS中存在共同失效组件和共同失效模块的时候尤其体现出优越性。文章用了一个多阶段任务系统故障树来展示本文提出的排序方法, 而没有用多个多阶段任务系统故障树进行验证, 这是由于目前获得多阶段任务系统故障树数据库相对困难, 而建立这样一个数据库也是将来多阶段任务系统研究的任务之一。

摘要:近年来, BDD (二元决策图) 的分析方法越来越多地被用于多阶段任务系统可靠性分析中。BDD方法应用的一个关键是在从故障树向BDD转换时需要对底事件进行排序, 所选择的排序顺序将影响构造的BDD的节点数。与单一阶段任务系统相比, 多阶段任务系统的可靠性分析由于阶段之间的相关性而变得更加复杂, 将一般的BDD排序方法直接应用于多阶段任务系统的BDD分析很难得到令人满意大小的BDD。在考虑多阶段任务系统的结构和特性的基础上, 通过共同失效组件对多阶段故障树化简, 提出了基于最小相邻组件优先相邻排序的多阶段任务系统BDD排序方法。通过与一般的排序方法相比较, 这种新方法可以生成更理想的BDD结构。

多任务操作系统 篇8

航天器故障诊断系统比较复杂,由多台服务器构成的分布式系统共同完成。航天器数据量比较大,对数据处理要求精度高,所以要求各个进程具有高可靠性、高效性、各进程之间具有较好的相互协调的工作能力。同时我国空中航天器的数量也在逐年增加,使得对多个航天器的数据处理进程的同时管理更为复杂。若要确保各个任务的时间约束都能够得到满足,同时为了能够更好地管理多个航天器的数据处理进程、及时发现问题,成为航天器故障诊断系统中迫切需要解决的问题。因此,有必要对在轨故障诊断系统的任务调度情况进行分析与研究,该研究成果将为多个航天器的数据处理进程提供一个更为便捷并比较理想的调度模型,使得当多个航天器的数据处理进程的负载过重或进程出现问题时能及时通过动态调度去切换进程,从而提高了数据处理的效率。

航天器在轨故障诊断决策系统的物理结构如图1所示。

在多台服务器参与实际的工作时,由主监控器将巨大的数据处理业务分散到各个服务器上以达到负载均衡,使得有多台服务器同时处理相应的数据,因而能够胜任在新的需求下大量的数据处理任务。在局域网内各服务器模式下,即使以后数据信息量再次增加,也只需要通过任务调度方法或增加服务器的台数来解决。

在航天器故障诊断系统中,首先将任务分为数据归一化、可信度分析、报警和故障诊断四个主要任务模块,各个模块的结构关系如图2所示。

数据预处理任务 是将四种不同格式的数据转化为同一种格式以便接下数据处理。

可信度分析任务 就是给这个遥测数据一个可以信任程度的值。

报警任务 是基于三级门限的报警,不同门限报警程度不一样,分为轻、中、重。报警不是故障诊断的前提重要条件。

故障诊断任务 是对卫星本身内部发生的故障进行分析。

1 问题描述

实现多星故障诊断任务划分必须首先制定调度结构,调度结构是设计优化模型、求解算法的基础。多星故障诊断系统的调度结构必须充分考虑问题特性以及系统在扩展性、可维护性等方面的需求,具体包括:

(1)卫星遥测数据及处理的约束表示 单星故障诊断任务规划只是针对一颗星的遥测数据进行分析。当出现多颗星时,由于不同卫星数据的格式不同以及对遥测数据分析的时间约束也不同,必须在规定的时间内完成,否则会酿成灾难性的后果。很难对多星故障诊断系统的约束进行统一表示,只能考虑其中比较重要的约束,忽略一些次要约束。

(2)系统的可扩展性 随着卫星的性能及数量不断发展,多星故障诊断系统任务规划必须具有良好的可扩展性能,以便于卫星故障诊断系统的动态加载及重构。

(3)调度算法的效率和效果 多星故障诊断系统任务调度具有组合优化问题特征,已被证明为NP-hard问题[1],当任务数量以及卫星数量增多时,问题求解十分困难。多星调度结构必须考虑优化算法的设计,使其可以在一定的时间范围内得到具有一定质量的满意解。另外系统还要考虑成本,以及可维护性等因素。

2 调度结构

文献[2]采用领域工程方法,将多星管理控制系统分为协同调度、业务运作、业务支持三个功能模型,并从软件工程角度,提出多星管理控制体系应采用“表示层/业务逻辑层/数据层”多层分布式结构。本文主要针对多星故障诊断系统的任务调度问题,研究多星故障诊断的调度结构。目前主要采用以下几种调度结构。

2.1 集中式调度结构

集中式调度结构 系统中有一个负责调度的调度主机负责搜集系统负载信息,是集中调度的主体。由它进行求解控制以及与多个计算主机间的信息交互保持同步。该主机维护着一个任务分配表,并且根据系统负载状况来分配任务。其它的主机都是计算主机,计算主机只负责处理遥测数据。如图3所示。

策略的优点 调度主机拥有全局信息,易于进行决策并保持负载平衡,易于跟踪执行情况。算法比较容易实现,适用于结点数目比较少的网络环境,在总线型网络上有比较好的性能。

策略的缺点 在调度主机收集所有主机的信息时,计算主机需要等待,浪费了计算主机的处理能力。

2.2 分层式调度结构

分层式调度结构核心思想 由任务预调度中心根据卫星遥测数据量的多少,将任务预先分配给不同的调度模块,每个调度模块处理一颗星的故障诊断,再由每个调度模块将任务分配给不同的服务器。如图4所示。

其实质上是一种分阶段优化的策略,即将整个任务调度分为两个阶段:

(1)将多星故障诊断任务需求与调度模块服务器处理能力进行映射。

(2)再由各个调度模块,将任务分配到各个服务器上。

策略的优点 优势在于通过任务的预先分配,将多星故障诊断任务调度转化为多个调度模块问题,降低了问题的求解难度。由于每个调度模块只针对一颗星进行故障诊断任务调度,问题规模较小,而且多个卫星的故障诊断任务调度可以并行运行,问题求解的效率很高。

策略的缺点 需要增加额外的调度主机,从而增加了成本。

2.3 分布式调度结构

为了兼顾多星故障诊断系统对扩展性以及求解方面的需求,本文提出一种分布式的调度结构。严格意义上,它是一种特殊的集中式调度结构,如图5所示。

(1)核心调度模块 集中调度的主体,进行求解控制以及与多个扩展模块间的信息交互并保持同步。

(2)可扩展模块 负责对多颗卫星的遥测数据进行故障诊断,当出现增加卫星,同时各个服务器的负载较大时,即可增加服务器的台数来解决。

3 应用实例

为验证多星故障诊断系统任务规划的分布式调度结构的合理性,通过一个包含3颗卫星的故障诊断任务规划实例进行验证。每颗星取10个遥测数据进行分析。优化目标为安排任务的处理代价之和最小,处理器的台数为4。仿真时间段为:2009-05-17 12:00:00—2009-05-17 12:01:00。

禁忌搜索算法是局部邻域搜索算法的推广,在卫星调度领域得到了很多应用[1]。本实例的核心调度模块采用该算法进行求解,算法流程如图6所示。

(1)要针对任务需求,选择可用的遥测数据;

(2)根据卫星发送的遥测数据,得到任务集;

(3)采用禁忌算法求解。

算法的主体部分在核心调度模块,负责收集各个服务器的当前负载情况和任务完成情况及如何将任务分配到各个服务器上。扩展模块主要负责完成由任务调度模块分配给它的任务并实时地向任务调度模块汇报当前的负载信息及进程的状态。

参数设置 设禁忌长度为3,禁忌表为任务在不同处理器上处理的代价矩阵为:

其中pij表示第i个任务在第j台处理器完成所花费的代价,单位为毫秒(ms)。

当两个任务分配给不同的处理器时产生的通信开销矩阵为:

其中Cij表示任务i与任务j之间的通信开销,单位为毫秒(ms)。

初始解x0=[(1,1),(2,2),(3,3),(4,4),(5,1),(6,2),(7,3),(8,4),(9,1),(10,2),(11,3),(12,4)];其中(1,1)表示任务1在处理机1上运行。目标值f(x0)=1883,禁忌表H={1883},候选解集为:{[(2,1),(1,2),(3,3),(4,4),(5,1),(6,2),(7,3),(8,4),(9,1),(10,2),(11,3),(12,4);1885],[(3,1),(2,2),(1,3),(4,4),(5,1),(6,2),(7,3),(8,4),(9,1),(10,2),(11,3),(12,4);1897],[(4,1),(2,2),(3,3),(1,4),(5,1),(6,2),(7,3),(8,4),(9,1),(10,2),(11,3),(12,4);1899],[(6,1),(2,2),(3,3),(4,4),(5,1),(1,2),(7,3),(8,4),(9,1),(10,2),(11,3),(12,4);1857],[(7,1),(2,2),(3,3),(4,4),(5,1),(6,2),(1,3),(8,4),(9,1),(10,2),(11,3),(12,4);1842]}。

调度结果如表1所示。最终生成的计划方案共安排了12个任务,总任务花费代价之和为1556ms。实例中实现了对3颗卫星的遥测数据进行故障分析,并在时间约束范围内完成。当有新的卫星需要进行遥测数据分析时,只需构造其扩展模块,就可以实现卫星数据处理的动态加载。

4 结束语

多星故障诊断系统任务调度必须考虑准确性、可扩展性、可维护性以及计算效率等问题,调度结构十分关键。通过分析集中式以及分布式调度结构的特点,本文采用了分布式调度结构。多星故障诊断系统的任务分配由核心调度模块统一调度并将其分配到相应的处理机上,从而保持了集中式调度模型对系统资源统一规划、计算效果好的优点。还可以进行并行处理,提高了调度效率,并且该系统具有良好的扩展性和可维护性能,有着良好的应用前景。

参考文献

[1]Globus A,Crawford J,Lohn J,et al.Earth Observing Fleets Using Evolutionary Algorithms:Problem Description and Approach[C]//Proceedings of the3rd International NASA Workshop on Planning and Scheduling for Space.IEEE Press,2002.

[2]张学庆,马万权,高朝晖.卫星管理控制体系结构研究[J].无线电工程,2006,36(5):3638.

[3]Cordeau J F,Laporte G.Maximizing the Value of an Earth Observation Satellite Orbit[J].Journal of the Operational Research Society,2005,56(8):962968.

[4]Frnk J,Jonsson A,Morris R,et al.Planning and Scheduling for Fleets of Earth Observing Satellites[C]//Proceedings of the6th Inter-national Symposium on Artificial Intelligence,Robotics,Automation and Space.Montreal,Canada:[s.n.],2002.

多任务操作系统 篇9

VxWorks操作系统是一种强实时性的嵌入式实时操作系统(RTOS),由美国WindRiver公司于1983年设计开发。它拥有高效的实时多任务调度、中断管理、实时的系统资源以及实时的任务间通信等特点,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

本文所讨论的信控系统是我所某系统的分系统之一,以MSM586SEV增强工业型PC104嵌入式计算机作为核心处理器,实现了可视化操作及与多个设备间的通信。结合实际项目的需要,分析了系统各个部件间的通信要求,设计实现了多个任务并发执行,重点给出了数据通信的核心代码,通过精度分析及丢包率测试,证明系统满足实时性的要求。

1 基于VxWorks信控系统的软件设计

1.1 VxWorks的多任务机制

多任务设计能随时打断正在执行的任务,对内外部发生的事件在确定的时间里作出响应。VxWorks实时内核Wind提供了基本的多任务环境。VxWorks有256级任务优先级,为0-255,0为最高优先级,255为最低优先级。在创建任务时,需要分配给任务一个优先级。任务有多种状态:就绪态、挂起态、休眠态和延迟态。当系统函数对某一任务进行操作时,任务从一种状态迁移到另一种状态,从而实现任务之间的切换。多任务机制使任务间的通信显得尤为重要。

1.2 信控系统简介

信控系统的目标是操作员通过可视化的界面远程掌握控制设备工作状态、操作战斗相关命令及与外界分系统进行数据通信。使操作员通过面板的LED灯对系统运行状态进行判断并指示;同时能通过键盘及时实现对外部设备的相应操作并在可视化的界面中显示具体参数;另外,它接收到远程控制命令后,将相应的命令与某系统的其它分系统进行交互通信和控制,各个分系统执行相应的命令信息,执行完毕后将状态反馈给信息控制分系统。

本系统是以PC104嵌入式计算机作为核心处理器,通过16C554串口、82C55A并口、网口与外界分系统进行数据通信,以获得具体的军事参数。

本系统总体电路结构如图1所示。

1.3 信控系统主要任务划分及实现

任务的划分是十分重要的,如果任务太多,必然会增加系统切换任务的开销 ,而人物太少,系统的并行度就降低了,实时性就比较差。

本系统中最主要的是保证数据的通信,即串口与网络的通信,如果把这两种通信划分为两个任务势必会增加两任务间系统切换的开销,而这两种通信对应的时戳是不同的,只要调整好时间完全能在同一任务中执行,因此把这两种通信归为一个任务。而对键盘的实时处理,最好的手段就是触发中断,及时发起相应任务。这就要求它的优先级较高,及时获取系统资源。而两个界面的显示从总体上来看是比较次要的,且是互斥的,可以通过设定优先级及互斥信号量解决。

通过以上分析,本系统根据实际需求将划分为六个主要任务,如表1所示。

本系统首先要保证数据的通信,因此sendAndReceiveData的优先级最高,因为每种数据的通信周期不同,在数据传输等待的同时可以根据任务优先级及信号量发起任务。

以下是主要任务实现的具体细节:

系统初始化 使用init_ds()函数为cf卡存取初始化相关文件系统,调用init_ugl()函数为图形界面初始化windML,对串并口进行初始化操作。(void)intConnect(INUM_TO_IVEC (TIME_INT_NUM),isr,0)函数会使时钟产生一个16Hz的主中断,由于每种通信数据的发送接收周期不同,在接收数据时需要调整好时间。

sendAndReceiveData任务 根据实际功能要求,系统首先要保证数据的通信,所以此任务的优先级最高,为90,它首先执行。首先它通过网络发送接收数据,然后把这些数据根据外设传输周期的不同通信。通过无限循环的程序,调用semTake(syncSem1,WAIT_FOREVER),等待信号量,一旦获取信号量,在时间周期内完成网口通信、串口通信。如此循环,从而实现总体上多种数据传输的同步,提高了系统并行执行的能力。

网口通信主要采用UDP通信协议,由于信控系统与上位机时戳不同,需要实时地对齐时戳和判断丢帧状态,及时处理。串口通信通过调用I/O接口函数write(fd2,&InfoServoSend[i],1)等函数实现。其代码结构如下:

display1任务 主要的数据显示界面。通过调用windML绘图函数,呈现表格及表盘的图形化显示,实时地反映当前数据的通信情况,监控远程设备的工作状态。此任务优先级较低,为130,是在sendAndReceiveData任务执行间隙中运行,保证了数据传输的通畅。

keyboard任务 操作键盘可以完成开关镜盖、切换界面等工作,这就要求系统能实时响应键盘操作。UGL_FOREVER会查询按键操作,每按下相应键,keyboard任务会优先执行,执行完具体操作后会调用taskDelay()函数使任务延迟,给其他任务让行,实现了任务间的切换,保证了按键操作及时执行。任务函数的结构如下:

run任务 对系统进行参数设置界面。其中包括了对参数的修改、设置及保存,通过W键,可以进行两个界面之间的切换,只要将系统初始化时创建的相应二进制信号量获取即可切换界面。针对此种情况,创建了一个实现互斥操作的二进制信号量,通过调用semTake(semBinary2, WAIT_FOREVER)获取信号量,在需要切换界面时获取该信号量即可。

2 多任务测试与精度分析

由于信控系统与上位机时戳滞后了两个周期,因此精度分析过程中需要将时戳对齐,见图2录取报文图。

图中信控系统接收到的一个数据是37428312,而通道台发送的相应数据也是37428312,其他数据也是如此。因此可以看出信控系统可以准确地传输数据,接收到的数据与通道台发送的完全一致,证明了所设计的多任务满足并发执行的要求。

检测多任务信控系统与上位机的连接情况时,需要进行精度分析,由于系统采用62.5ms,信控系统采用“接收并转”机制,因此除了对齐时戳外,在记录系统中还需要进行接收相邻两场时戳差分方式来测试丢包多任务丢包情况,见图3丢包率图。

从图3可以看出,横轴为采样点,采样点为1 000个;纵轴为记录的两个周期时间戳之差;对于采样时间68.75s内,1 000个采样点只出现了一个丢包,信控系统的丢包率近似为1‰,满足系统要求,同时说明多任务机制的信控系统完全满足实时性要求。

3 结 语

VxWorks作为一种可靠高效的嵌入式实时操作系统,被广泛地应用在军事、航空、航天等高精尖领域中。本系统由PC104目标机与电视系统、伺服、通道台、监控进行通信,并根据操作及时发出命令完成信息控制任务,利用VxWorks的多任务机制,满足了军事应用中信息控制的要求,解决了多个任务的协同关系,确保了时分多路下信控系统时序要求,具有很高的军事应用价值。

摘要:介绍信控系统的主要软硬件平台,结合实际工程任务,针对多任务、实时性要求,提出了利用VxWorks多任务机制解决信控系统多任务调度及通信机制的方法,并且给出了在PC104硬件平台下的测试结果。结果表明满足了多任务性与实时性,有很好的实际应用价值。

关键词:VxWorks,多任务调度,信控系统

参考文献

[1]孔祥营,柏桂枝.嵌入式实时操作系统Vxworks及其开发环境Tor-nado[M].北京:中国电力出版社,2005.

[2]王金刚,高伟.VxWorks程序员开发指南[M].北京:清华大学出版社,2003.

[3]罗国庆.VxWorks与嵌入式软件开发[M].北京:机械工业出版社,2003.

[4]周启平,张扬,吴琼.VxWorks开发指南与Tornado实用手册[M].北京:中国电力出版社,2004.

[5]戴娅,何亦征,白英彩.基于VxWorks多任务的无线接收机系统设计与实现[J].计算机应用与软件,2007,24(9):159-161.

[6]苏玉强,刘颖,张磊.VxWorks下的任务监控方法及其应用[J].工业控制计算机,2008,21(2):35-36.

多任务操作系统 篇10

VxWorks是美国Windriver公司设计开发的一种嵌入式实时操作系统 (RTOS) , 实时内核Wind提供了多任务的环境。随着发展, Vxworks稳定、可靠, 且实时性好, 在航空航天、电力电子等领域, 越来越多嵌入式控制设备采用了Vxworks操作系统。

RTOS研究的关键是实时任务调度的设计。RTOS中实时调度技术通常划分为抢占式调度和非抢占式调度, 前者为静态表驱动策略, 后者为优先级驱动策略一种观点提出:抢占式调度算法相对简单, 运算速度快, 实时性好, 高优先级任务可优先保证, 但上下文切换较多。而非抢占式调度虽然上下文切换少, 但通常处理器的资源利用率低。

Liu和Layland两人共同提出的速率单调 (RateMonotonic—RM) 算法是典型的静态调度算法。在一种典动态优先级调度算法是截止期限优先 (EDF) 算法。直到目前, 在实时调度算法领域的研究, 学术界都是在RM或EDF两种算法的基础上发展而来。

RM调度的原理是为每一个任务指定优先级, 周期越短的任务, 优先级越高, 调度最先运行优先级高的任务, 种可预测方法, 要求对任务相关约束参数必需预知, 如执行时间、时序约束、截止期限等。

EDF调度同样为任务指定优先级, 具有最早截止期限的任务赋与最高优先级, 调度最先运行有最早截止期限的任务, 即具有最高优先级的任务。EDF调度的周期任务的优先级是变化的, 对每一个可调度时刻, 将根据变化的任务最早截止期限, 随时改变其优先级。

Vxworks系统的特点是给出了两种任务调度方法:时间片轮转调度和抢占式调度, 后者基于优先级。工程经验显示, 固定优先级调度方法常被采用, 但对于有周期任务存在的SPDA系统, 采用时间片轮转调度的优势是可以保证周期任务的及时运行。由于高实时性要求任务之间不能存在大量数据传输、不便与网络相连, 所以, 任务之间采取Vxworks系统简单的高速的信号量通信方式。

本文提出了一种单CPU下时间片轮转与和优先级抢占相结合的混合调度算法。

2、语音控制系统的功能

该语音控制系统的主要功能是为电力负载提供电源控制管理, 根据人工声音命令和负载设备的电气状态调整电源的通断, 保证电力系统的安全运行。

按照系统功能要求, 其软件的运行流程图如图1所示:

根据上图可将系统分为9个任务, 分别是:

(TASK1) 循环读取环形缓存区 (ReadFor_Order) :人工声音命令被采样数字化后存于环形缓存区中, 对该缓存区进行不间断查询;

(TASK2) 循环发也命令对状态电流值进行索取 (AskFor_Va lu) :通过数据总线不间断向负载发送命令对即时负载状态和电流值进行索取;

(TASK3) 保存电流值, 计算I2t延迟时间 (Save_Data_CountT ime) :将负载通过数据总线传输的状态电流值保存到ROM中, 并监控实时采集的状态电流值变化情况, 发现负载电流值过载时, 计算并关断负载电源的时间;

(TASK 4) 判断串口命令 (Deal_Order) :对读出的人工数据进行解析, 包括去噪、识别等处理;

(TASK 5) 上传状态电流值 (Send_Valu) :根据人工命令将保存在ROM中的当前负载的状态电流值显示于显示屏上;

(TASK 6) 发送开通命令 (Send_Order_1) :根据人工命令控制负载电源的开通;

(TASK 7) 发送断开命令 (Send_Order_2) :根据人工命令控制负载电源的断开;

(TASK 8) 采集模拟及I/O信号量 (For_ADIO) :根据人工命令对外接的模拟信号量和I/O信号量进行采集并显示于显示屏上;

(TASK 9) BIT自检 (BIT) :在系统运行时对一些系统模块进行自检测。

从图中可以看出, 能否及时的执行命令要求操作直接关系着整个电力系统的安全运行。

3、系统多任务调度算法冗) �

3.1 任务优先级的划分

周期任务的优先级的划分遵从的原则如下:H��

(1) 为确保高优先级任务优先抢占临界资源, 采用时间片轮转

调度的任务的优先级原则上为最低;堗) �

(2) 依据周期任务在系统中的重要性划分优先级, 任务越重要, 优先级就越高, 反之则优先级越低。

依据任务的权重, 优先级的划分见下表:

说明:如上表所示, 优先级数值越小, 优先级确越高。ReadFor_Order、BIT和AskFor_Value三个周期命令的优先级相同, 均采用时间片轮转调度。Send_Order_1与Send_Order_2这两个任务不会被同时要求执行的, 可以设置为相同优先级, 图2为调度算法示意图:

3.2 信号量通信

系统运行时, 低优先级的周期任务要比高优先级的非周期任务先运行, 非周期任务等待周期任务执行完时才可以进入排队状态, 具备抢占临界资源的资格, 开始运行, 运行完成之后要再次阻塞, 让出临界资源, 使得周期任务能够运行。这一阻塞/运行/阻塞的过程可以通过信号量的通信机制达到理想的效果。信号量通信示意图如图3所示。

说明:信号量Sem_i的初始状态为不可用 (EMPTY) , 各非周期任务一开始就调用函数semTake (Sem_i) 将自己阻塞, 周期任务在一定的条件下调用函数semGive (Sem_i) 来释放相应的信号量, 使得需要执行的非周期任务进入就绪状态。

4、调度算法仿真测试

仿真实验中周期任务调度非常频繁, 大量调度数据在仿真环境中无法全部存储, 所以, 我们把调度显示图分成两部分, 横轴为时间轴, 纵轴为任务集。图4中, 三个任务的调度算法为时间片轮转调度, 可以看出, 周期任务的时间片轮转调度切换时间非常短;图5显示了高优先级任务抢占调度的情况, 也可以看出, 多任务在抢占资源时切换时间也非常短, 几乎无法分辩。与RM算法不同, 仿真实验中周期任务之间的调度与各任务的执行时间、时序约束以及截止时间等参数没有关系, 需要指出的是, 即使这些参数未知和不稳定, 本系统所用的算法也可以实现高实时性的任务调度。而且在经过3个小时的连续试验中, 系统工作正常。

5、结语

本文描述了一种语音控制系统软件的设计与应用, 着重分析了在Vxworks操作系统中基于系统权重的任务调度算法的实现与仿真。采用信号量通信来激活/阻塞任务, 上下文切换时间在毫秒级, 在3个小时的连续动行中, 系统工作正常, 算法顺利实现系统的高实时性和高稳定性。对于SPDA系统新的功能和更多任务的调度算法设计, 待进一步研究。

参考文献

[1]张友生:系统分析与设计技术, P282:清华大学出版社出版, 2005, ISBN 7302101604, 9787302101604.

[2]道格拉斯, Bruce Powel Douglass, 柳翔.嵌入式与实时系统开发/使用UML、对象技术、框架与模式/计算机科学丛书/Doing HardTime:使用UML、对象技术、框架与模式:机械工业出版社出版, 2005, ISBN 7111155920, 9787111155928.

[3]Liu C L, Layland J.Scheduling algorithms for multiprogrammingin a hard real-time environment[J].J.ACM, 1973, 20 (1) :46-61.

[4]Scott A Brandt, Scott Banachowski, Caixue Lin, et al.Dynamicintegrated scheduling of hard real-time, soft real-time and non-real-time Processes[R].Proceedings of the 24th IEEE Real-TimeSystems Symposium (RTSS 2003) , 2003.

[5]Batptiste P, Pape C L, Nuijten W.Constraint-based scheduling:Applying constraint programming to scheduling problems[M].Boston:Kluwer Academic Publishers, 2001.

[6]Mahmood A.A hybrid genetic algorithm for task schedulingin-multiprocessor real-time systems[J].Studies in Informaticsand Control, 2000, 9 (3) :207-218.

[7]乔颖, 王宏安, 戴国忠.一种新的实时多处理器系统的动态调度算法[J].软件学报, 2002, 13 (1) :51-58.

[8]Peng Liu, Ming Cai, Tingting Fu, and Jinxiang Dong:An EDFInterrupt Handling Scheme for Real-Time Kernel:Design andTask Simulation:Y.Shi et al. (Eds.) :ICCS 2007, Part IV, LNCS4490, pp.969–972, 2007.

[9]Zhou, Lei;Shin, Kang G.;Rundensteiner, Elke A.:Rate-monotonic scheduling in the presence of timing unpredictability:Real-Time Technology and Applications–Proceedings, 1998

多任务操作系统 篇11

关键词:商业银行治理;多任务委托代理;社会责任;激励契约

中图分类号:F830.33 文献标识码:A 文章编号:1003-5192(2012)04-0058-05

Multitask and the Improvement of Commercial Banks’s Incentive Contracts QU Shi-you1, CUI Ying2

(1.Harbin Institute of Technology at Weihai, Weihai 264209, China; 2.School of Management, Harbin Institute of Technology, Harbin 150001, China)

Abstract:Because of the improvement of corporate governance, the protection of creditor and social welfare becomes one of the aims of the executives in commercial banks. More targets lead to the incentives more complex. In the principal-agent framework, analyze the principal-agent relations of commercial banks and the tasks executives taking, establish a multitasking principal-agent model based on the Holmstrom-Milgrom model, and then obtain the optimal conditions .The result indicates that when the supervisory department and social public are unable to achieve the optimal incentives, the administrators endeavors more to pursue profits instead of the risk control and social responsibility. In the long run, if the executives would like to obtain the optimal incentive, they have to keep a constant and stable endeavor on social responsibility.

Key words:corporate governance of commercia banks; multitasking principal-agent; corporate social responsibility; incentive contracts

1 引言公司治理理论中,委托代理理论始终占据重要地位。该理论的中心问题就是委托人如何提供最好的激励契约使得代理人按照委托人的要求完成任务。可见,代理人应完成的任务目标是激励契约履行的目的。与一般企业不同,商业银行具有利益相关者众多、经营目标较多、监管更为严格和信息透明度较差等特殊性,其委托代理关系与代理人应完成的任务亦更为复杂。随着公司治理机制的不断完善,除最大化股东利益和控制风险以保证商业银行稳定经营之外,保护债权人利益以及全社会福利也成为了商业银行高管的任务之一。在更多的任务目标条件下,商业银行激励契约亦需要不断优化。这不但从理论上丰富了激励契约的研究,也有助于提高商业银行公司治理的实践水平。

本文将在委托代理框架下,进一步分析商业银行委托代理关系与高管所承担的任务内容,基于此在Holmstrom-Milgrom模型框架下建立多任务商业银行高管激励契约并求出最优解。

2 文献综述

在过去的研究中,商业银行高管激励与绩效相联系的较多。Barro认为高管薪酬取决于经营绩效,二者存在正相关关系[1]。John & Qian的研究表明,银行业CEO的薪酬-绩效敏感度较低,使契约设计的难度增大[2]。John et al.的研究证明银行CEO的收入-绩效敏感度随着总体杠杆率的升高而下降,随监管加强而上升[3]。随着监管的加强,John et al.[4]、Kane[5]以及Danielsson et al.[6]的研究涉及到风险控制激励的环节。Ang et al.[7]则认为银行监管减少了高管激励薪酬的绝对数量。受2008年经济危机的影响,商业银行监管进一步改革。2009年12月巴塞尔委员会发布了《增强银行体系稳健性》和《流动性风险计量、标准和监测的国际框架》(征求意见稿);2010年12月巴塞尔协议III出台,商业银行受到了更为全面的监管。Cooper等人将监管引入到激励体系中,其研究显示监管对私有银行绩效有显著影响,但对高管薪酬影响不大[8]。Cunat & Guadalupe证明,放松监管对银行和其他金融高管薪酬的水平与结构有显著影响[9]。王兆星认为中国银行业监管当局和银行业应密切关注国际银行监管改革,调整监管政策和经营模式,增强银行体系的稳健性[10]。可见,提高绩效与应对监管、控制风险都已经被引入商业银行高管激励。尤其在激励契约的研究中,黄新飞、张娜[11],吴一平[12],徐冯璐[13]等都将提高绩效作为高管所完成的任务之一。蒋海[14]、邵科[15]则把监管纳入激励契约范畴,将控制风险作为高管所完成的任务之一。

nlc202309040045

随着公司治理的不断完善,履行社会责任已成为了商业银行的经营目标之一。近期有学者对公司治理与商业银行的社会责任进行研究。我国学者黄怀亮基于诱发美国次贷危机的根源,分析了我国商业银行承担社会责任与其稳健经营和国家经济安全之间的关系,指出了强化社会责任的重要性与路径选择[16]。何德旭和张雪兰则主张在我国商业银行治理中逐步推进利益相关者治理以善尽社会责任[17]。Arora & Dharwadkar的研究结果表明,虽然有效的公司治理不鼓励正面和负面的社会责任,但是懈怠和积极的差异会导致更高的正面和更低的负面的社会责任[18]。高管人员在履行社会责任上投入了更多的精力,但是将社会责任纳入激励契约范畴的几乎没有。本文就将社会责任作为高管所需完成的任务之一,进行商业银行激励契约的研究。

3 委托代理关系分析

同其他公司相比,商业银行的公司治理机制具有很强的特殊性。国内外学者Macey & O’Hara[19], Capiro & Levine[20], Arun & Turner[21],李维安和曹廷求[22]等普遍将商业银行治理机制的特殊性归结为:(1)利益相关者众多;(2)监管更为严格;(3)经营目标较多;(4)信息密集但透明度较差;(5)高负债经营等。这也导致了商业银行委托代理关系的多样性和代理人的多任务性,尤其受金融危机影响,这些关系变得更为复杂,包括银行股东与高管之间的委托代理关系、债权人与银行之间的代理关系、监管部门与银行之间的代理关系、利益相关者与银行之间的代理关系、社会公众与监管部门之间的代理关系等。

由于政府部门作为监管者可以代表社会公众行监管银行的权力,作为利益相关者也可以代表其他利益相关者行使确保银行稳定经营的职责,为了使模型分析更为集中,所以可以把商业银行的委托代理关系简化为三种:

(1)银行股东与高管之间的委托代理关系。委托代理理论最初的研究初衷就是解决企业所有者和高管之间的激励问题,股东要求经营者实现股东权益最大化,这也是企业经营的最根本目的,高管必须以实现这一目标为前提才能都得到最优激励。这也就是激励约束和激励相容。商业银行股东和高管之间就是以实现股东权益最大化为目标的委托代理关系。

(2)监管部门与高管之间的委托代理关系。监管部门行使监督银行稳定经营、保障金融体系乃至经济秩序持续发展的职责。尤其是在金融危机之后,各国政府普遍加强对商业银行监管,尽最大努力控制风险。2009年

12月巴塞尔委员会发布了《增强银行体系稳健性》和《流动性风险计量、标准和监测的国际框架》(征求意见稿);2010年12月巴塞尔协议III出台,新一轮的监管变革势必要更深地渗入到银行治理当中。只有与监管部门完全配合,将内部约束与外部监管有机结合,将监管因素融入到日常经营中,商业银行高管才能更好地掌控风险,监管部门才能为高管提供更完善的激励。可见监管部门与商业银行高管之间是以实现风险最小化保障金融体系稳健运行为目标的委托代理关系。

(3)社会公众与高管之间的委托代理关系。社会公众包括除股东之外的其他利益相关者。社会公众对商业银行的要求就是实现社会福利最大化,虽然监管部门已经代表社会公众行使了一部分监管的权利,但是有学者认为,信息不对称会使监管目标偏离社会最大化,所以此处提到的社会福利是除去由监管带来的金融稳定所引起的社会福利。金融危机使社会公众对部分商业银行不负责任的表现十分失望,积极敦促其承担起相应的义务,提高社会责任就成为了商业银行实现社会福利最大化的代表手段。商业银行的社会责任包括对公民、环境、社会等诸多方面的责任。可见社会公众与商业银行高管之间的委托代理关系是以实现社会责任为具体目标的。

以上三种委托代理关系并不是独立存在,而是互相有一定的影响。监管部门对风险控制的加强,会直接影响经营绩效,增加银行经营成本。社会公众要求的提高社会责任,也会使经营者不单纯从绩效角度考虑问题,在一定时期内甚至会减少收益[23]。但是从长期来看,社会责任的提高有助于提高顾客满意度[24],促进商业银行正面形象的树立,对经营绩效有积极的意义。可见,在这三种委托代理关系下,委托人对高管指派的任务包括:获得利润、风险控制以及履行积极的社会责任。

4 多任务委托代理模型优化

多数研究将Holmstrom-Milgrom[25]模型应用于商业银行的激励契约,各学者的不同之处在于对代理人的行为分析。依据Holmstrom-Milgrom模型,我国学者蒋海等建立两任务模型,绩效和风险控制共同引入激励契约设计,假设高管活动为:股东权益最大化,风险最小化[14]。在此研究基础上,本文扩展了代理人需要完成的任务,同时对商业银行高管激励多任务委托代理模型进行了优化。

(1) 模型建立

5 结论

综上,根据激励环境的变化以及商业银行委托代理关系的复杂性,现阶段其委托代理关系可以概括为股东、监管部门、社会公众同管理层的关系,管理层作为代理人需要完成的任务分别为提高绩效、控制风险以及履行积极的社会责任。基于Holmstrom-Milgrom模型所构建的委托代理模型显示,在委托人三方同时提供最优激励的情况下,管理层可获得最优激励。如果委托人中的一方无法提供最优激励,为保证产出,其余两方提供的激励将被加强。目前来看,监管部门和社会公众均很难达到最优激励,这将导致管理层愈发追求绩效,减少对风险控制和社会责任的努力,不利于商业银行竞争力的提高。长期来看,若管理层欲获得最优激励,除委托人三方在当期同时提供最优激励外,社会公众所提供的激励也应该是长期的,这也要求管理层必须保证对社会责任的努力是稳定持续的。基于以上结论,对我国商业银行激励契约的优化提出几点建议:(1)激励契约应根据高管任务扩展不断调整。我国国有商业银行改革已经完成,股份制商业银行利润逐年扩大,城市商业银行亦迅速扩张。在这个过程中,高管应完成的任务不断扩展。激励契约的设计应根据具体情况不断做出调整,以达到最优激励的目的。(2)激励契约的时效性应与高管任务完成情况的显现期限相吻合。我国商业银行高管薪酬体制中较为普遍的是短期激励,但是高管在履行社会责任方面付出的努力无法在短期内转化为绩效,风险控制也不是一蹴而就的。为使管理层获得最优激励,就要求激励应该是长期且连续的。当管理层所做出的努力可以通过指标明确显示出效果的时候,就可以将其确定为有效的契约期限。(3)加强社会公众的激励约束,进而形成长期稳固的激励模式。2007年中国银监会办公厅公布《关于加强银行业金融机构社会责任的意见》,将银行的社会责任提到新的高度。但是作为重要的利益相关者,社会公众对高管的激励监督意识不强,监督渠道也十分不畅。商业银行应主动肩负起推动社会公众树立监督意识的责任。可加大宣传力度,利用问卷调查、网络投票等可行且易于被公众接受的形式,使公众行使委托人的权利,从而达到优化高管激励的目的。

nlc202309040045

参 考 文 献:

[1]Barro J, Barro R. Pay, performance, and turnover of bank CEOs[J]. Journal of Labor Economics, 1990, 8(4): 448-481.

[2]John K, Qian Yiming. Incentive features in CEO compensation in the banking industry[J]. Economic Policy Review, 2003, 9: 109-121.

[3]John K, et al.. Regulation, subordinated debt, and incentive features of CEO compensation in the banking industry[R]. Federal Reserve Bank of New York Staff Reports, 2007. 308.

[4]John K, et al.. A Theory of bank regulation and management compensation[J]. Review of Financial Studies, 2000, 13(1): 95-125.

[5]Kane E J, Kaufman G G. Incentive conflict in deposit-institution regulation: evidence from australia[J]. Pacific-Basin Finance Journal, 1993, 1: 13-29.

[6]Danielsson J, et al.. Incentives for effective risk management[J]. Journal of Banking & Finance, 2002, 26(7): 1407-1425.

[7]Ang J S. et al.. Internal monitoring, regulation, and compensation of top executives in banks[J]. International Review of Economics & Finance, 2001, 10(4): 325-335.

[8]Cooper E. Monitoring and governance of private banks[J]. Quarterly Review of Economics and Finance, 2009, 49: 253-264.

[9]Cunat V, Guadalupe M. Executive compensation and competition in the banking and financial sectors[J]. Journal of Banking & Finance, 2009, 33(3): 495-504.

[10]王兆星.国际银行监管改革对我国银行业的影响[J].国际金融研究,2010,(3):4-10.

[11]黄新飞,张娜.国有商业银行激励机制的影响因素分析[J].数量经济技术经济研究,2005,(11):112-121.

[12]吴一平.经济转轨、契约设计与银行改革—基于多任务委托代理理论的经济学分析[J].山西财经大学学报,2007,(2):102-108.

[13]徐冯璐.国有银行双重业务下委托代理模型研究[J].改革与战略,2010,(3):80-85.

[14]蒋海,朱滔,李东辉.监管、多重代理与商业银行治理的最优激励契约设计[J].经济研究,2010,(4):40-52.

[15]邵科.商业银行管理层激励机制研究[J].经济与管理,2010,(9):45-48.

[16]黄怀亮.商业银行的社会责任与可持续发展[J].山西财经大学学报(高等教育版),2009,(9):84-87.

[17]何德旭,张雪兰.利益相关者治理与银行业的社会责任[J].金融研究,2009,(8):75-91.

[18]Arora P, Dharwadkar R. Corporate governance and corporate social responsibility(CSR): the moderating roles of attainment discrepancy and organization slack[J]. Corporate Governance: An International Review, 2011, 19(2): 136-152.

[19]Macey J R, O’Hara M. The corporate governance of banks[J]. Economic Policy Review, 2003, 9(1): 91-107.

[20]Caprio G Jr, Levine R. Corporate governance in finance: concepts and international observations[A]. In Litan R E, Pomerleano M, Sundararajan V, eds. Financial Sector Governance: The Roles of the Public and Private Sectors[C]. Washington, DC: The Brookings Institution, 2002. 17-50.

[21]Arun T G, Turner J D. Corporate governance of banks in developing economies: concepts and Issues[J]. Corporate Governance: An International Review, 2004, 12(3): 371-377.

[22]李维安,曹廷求.商业银行公司治理—基于商业银行特殊性的研究[J].南开学报,2005,(1):83-89.

[23]McWilliams A, Siegel D. Corporate social responsibility: a theory of the firm perspective[J]. The Academy of Management Review, 2001, 26(1): 117-127.

[24]McDonald L M, Sharyn R T. Corporate social responsibility and bank customer satisfaction: a research agenda[J]. International Journal of Bank Marketing, 2008, 26(3): 170-182.

[25]Holmstrom B, Milgrom P. Multitask principal-agent analyses: incentive contracts, asset ownership, and job design[J]. Journal of Law, Economics, & Organization, 1991, 7(Special Issue: Paper from the Conference on the New Science of Organization): 24-52.

多任务操作系统 篇12

阿克斯明斯特地毯毯面平整、丰满,达到国际商业重量级地毯标准,需求量持续增长。但阿克明斯特地毯织机存在织造效率低,换纱工作量大,耗费时间长的缺点,通过智能纱架系统对地毯织机进行自动化改造, 缩短换纱时间。该系统采用多机械手换纱及分布式控制系统设计,动作流程复杂,信号传输频繁。针对这些特点,本文设计了基于CAN总线的并行任务控制系统。

设计通过同步控制器将功能分层、控制分散[1],有效将控制重心下移,提高了系统的可靠性和应用灵活性,避开了传统多机械手系统由上而下集中控制的缺陷,各机械手可以分布在相对开阔的工作现场。对于复杂任务,通常以有意识协作协的异构多机器人系统来完成,该类系统一般规模较小,个体智能水平较高[2,3],能够获得更优化的解,但系统功能的实现要依赖复杂的协调控制机制[4,5],对通信的要求较高,设备成本明显增加。本设计充分利用分布式控制的特点,将单一层面的并行控制[6]扩展到多层控制,使中转机械手、使中转站和续纱机器人等多机械手的智能性大大提高,系统能够以简化的协调控制机制完成复杂的任务。通过对CAN总线功能的扩充,文中设计了树状的通信网络拓扑结构,使各节点具有一定的互用性和可扩充性,简化了系统的安装和调试,增强了多机械手系统在纺织行业中的适用性。

1总体结构设计

1.1拓扑结构

系统机械结构包括络纱机、中转机械手、中转站、 续纱机器人和纱架五个部分。系统同时控制多台络纱机进行卷绕,卷绕好的纱团由一台中转机械手分批放入两个不同工位的纱箱中,再由两台中转站将纱箱分别转运给两台续纱机器人。在换纱过程中,续纱机器人在纱架组成的巷道中长距离运动,完成不同位置的换纱任务。

由于纱线的卷绕、运输、续纱等都是同时进行且任务之间也存在着一定的逻辑顺序,所以机械手间必然要求灵活的并行或串行控制。另外系统中机械手数量较多,单就续纱机器人的电机数量就有将近20个,上位机控制负荷过重。本设计模仿生产车间的运行机制,将控制系统划分为工长级、工人级和肢体级的三个控制层级,具体如图1所示,为CAN总线网络树状结构示意图。络纱机、中转站和续纱机器人等工人级节点既能接收上位机的并行任务也能控制肢体级节点顺序执行同步控制器分解的底层任务。

系统应用层协议则采用主从通讯模式[7]。工长级节点(即上位机)将整体任务分解为一级子任务下发到工人级节点(即同步控制器)或以查询的方式获取机械手的状态。通过控制各个肢体级节点,多机械手能够独立地完成一级子任务,同时机械手之间也可以通过同步控制器完成状态信息的交互,实现任务的并行执行。该设计将控制中心划分给同步控制器节点,机械手在任务执行过程中摆脱了上位机的大部分干预,上位机更多的是起到监视记和录的作用。工人节点在二级网络中处于支配地位。它将接收到的一级子任务分解为二级子任务, 使任务清单层层细化。同步控制器还兼具分支信息过滤的作用,降低了信息通道的通讯负荷。在任务的调度上,同步节点能根据节点的算法为相应的肢体级节点索引底层的二级子任务,为任务的调整和修改提供了独立的空间。

该设计将系统的控制功能彻底下放到现场,控制体间既有横向的交互也有纵向的控制拓展。同时,控制的下移也代表着通信负荷的重新分配,使信息流向更趋合理。同步控制器的任务分配和信息传输具有一定的周期性,使控制器中预置控制程序的编写和修改大大简化, 各机械手的动作流程和运行轨迹更加趋于模块化,系统的灵活性和可靠性增强。

1.2同步控制器硬件结构

节点采用图2的通讯板连接,其芯片采用ARM的LPC11C14,CAN收发模块选用CTM8251。LPC11C14包含片上C_CAN驱动的CAN控制器,作为节点间的通讯接口,具有CAN总线通讯能力,有效地支持了多机械手的实时控制。在各通讯节点的硬件结构上,中继器和同步控制器结构相同,使硬件互换性提高,设备维护简单易操作。

2同步节点控制程序

同步控制器能够对肢体级任务进行分解、协调和分配,负责状态的监控及反馈,直通信息的传递等。所以同步控制器的两个M0芯片分配有不同的功能,定义为:状态芯片M0_1和任务芯片M0_2。状态芯片主管运行状态,储存二级子任务的完成情况及其他相关状态信息;任务芯片主管任务调度,二级子任务的决策及Flash存储器的任务索引等,任务的增加、删减及顺序的修改都能在该节点实现。当一级子任务指令到达同步节点后,控制程序通过判断状态芯片内的状态信息来索引任务芯片Flash中的清单任务,并经CTU(CAN To UART的缩写)传递给执行机构,二级子任务完成后状态芯片即改写状态变量,以供后续查询。判断状态-索引任务- 更改状态三个阶段循环执行,辅助完成一级子任务。

同步控制器将整个网络改造成分级递阶的结构,使智能体具有了一定的自主性。另外,片内存储器的使用能够起到掉电保护的作用,使系统能够在断电重启后仍保持系统掉电前的工作状态。

3地址分配

系统在不同的运行模式下,任务指令和状态信息所能到达的节点范围不同,如在调试模式下,上位机可以将指令发送给网络中的任意节点,而在正常运行模式下,同步节点可以向平行节点发送状态信息或向子节点发送二级子任务。这就要求系统能够在全局进行纵向和横向的通讯,而CAN节点ID的配置则在其中起着关键作用。

考虑到所设置ID地址中要包含中继器,同步控制器,CTU地址以及其他预留位信息,所占用的位数较多, 所以使用29位ID地址的扩展帧较为合适。如表1所示。

对于CAN报文的接收过程,我们采用分层式的地址接收方式加方向位辅助配合。该方式整体分为三层, 由上到下各层分别对应中继器位、同步控制器位和CTU位。纵向发送信息时,接收地址层层递进,每个节点只对比接收相应层级上的的相应地址位,中继器即通过中继器位的仲裁对接收的报文进行过滤,信息流在该层节点分流。同时,由于分层式地址接收方式只过滤本层级的地址位,同步节点可以只设置同步控制器位将报文约束在工人级的控制层,完成机械手间的横向信息交互。

这种地址设置方式降低了统筹设计的复杂性,不需要反复的全局衡量和计算,ID和MASK设置较之前更加直观简单。相对集中的地址位设置使该种方式的ID配置与硬件的结合成为可能,如拨码开关的使用等,能够简化通讯设备的安装和更换,降低了操作人员的技术要求水平。

4组合帧

从不同的运行模式看,8个字节的数据帧不能完全满足单次数据传输的需要,特别是在调试模式下,上位机单次下发的数据甚至会超过20个字节,必须进行帧数据的组合传输。以上位机发送到续纱机器人下的CTU3节点为例,发送过程如表2和表3所示。

在传输过程中,CAN报文的接收是对扩展帧特定地址区域的仲裁,解决的是信息来源的问题,数据的去向则是由主程序配合完成。程序提取并检查扩展帧中相邻层级的地址位(向下发送时,则检查下一级地址位;反之则检查上一级地址位),决定是否继续发送。

组合帧解决了长字节数据的传输问题,弥补了CAN报文8字节数据传输的缺陷,使长字节数据能够顺利到达目标节点。

5结束语

本设计确定了并行任务控制系统分层式的总体设计架构,将部分控制功能配置给工人级节点,使机械手具有一定的自主性,实现了并行任务和串行任务的交叉控制,增强了系统的控制灵活性。文中提出基于CAN总线的树状网络组网方案,采用分层式的地址分配方式,实现了分支信息的过滤及横向信息的传输,同时,组合帧过程还解决了CAN报文数据空间不足的问题,实现了长字节数据在CAN总线中的传输。控制系统设计促进了阿克明斯特地毯织造系统的自动化改造,使分布式控制技术更好的应用于纺织行业。

摘要:多机械手系统应用于纺织行业时多采用分布式控制。在利用多机械手系统为阿克明斯特织机续纱时存在着多任务并行执行及交互的问题,将该控制系统划分为三个控制层级,实现了系统的分层控制,设计了由多个CAN总线组构成的树状通讯网络,提出了分层式的地址分配方案,完成信息的过滤及平行节点的通讯,用拼帧的方法解决了长字节数据的传输问题,提高了通讯的灵活性和可扩展性。同步控制器还使用Flash存储器,使同步控节点具有一定的规划管理功能,提高了系统的智能程度。

上一篇:消防应急电源下一篇:市场品牌