APP下载

分区操作系统在火控领域的应用研究*

2018-11-13张振华薛建彬郑智健

火力与指挥控制 2018年10期
关键词:时分分区子系统

赵 刚,张 宾,张振华,薛建彬,郑智健

(1.北方自动控制技术研究所,太原 030006;2.解放军驻207所军代室,太原 030006)

0 引言

随着计算机技术的发展以及陆军火控系统应用的日趋复杂,新一代火控系统正向综合化的方向发展,通过将运行于多个功能模块的任务集中在少量的硬件模块上实现资源共享,从而满足复杂的应用需求。但是,这样使得不同关键级别的任务运行于实时系统的内核管理下,面临着以下不足:1)传统的操作系统采用单一的任务优先级抢占的调度方法,无法避免高优先级任务超时使用处理器资源导致其他任务无法拿到处理器使用权而应用出错;2)处于内核态下应用的越界访问导致影响蔓延到整个系统,进而引起系统崩溃。

借鉴航电系统综合化的成功经验,分区操作系统广泛地应用在高安全级别飞控单元与航电控制单元中[1],本文基于某火控系统预研项目,通过使用分时分区的操作系统实现火控应用的综合化部署,以分区为调度单元确保分区间应用安全隔离,为应用综合化部署提供调度支持。

1 操作系统概述

分区操作系统以分区的形式为应用提供独立的运行环境,通过将应用的失效影响限制在确定的分区内减少对全系统的影响,从而实现应用综合部署,其体系结构[2]如图1所示:

图1 分时分区操作系统体系结构

通过图1可看出,分区操作系统由运行在内核态的CoreOS通过配置文件调度各分区,其余功能在分区内实现,分区应用通过APOS接口实现应用程序与分区内操作系统的隔离访问,从而将应用局限在分区内,实现应用的安全隔离运行。

分区操作系统采用两级调度的方式。CoreOS采用分区间周期轮转的时间窗口循环调度,分区没有优先级,每个分区以主时间框架内的时间窗口实现调度,在分区的调度时隙取得使用权,在分区时间耗尽之后交出资源使用权,保证了分区的时间确定性;分区内由各自的分区调度规则进行任务的执行[9],如图2所示。

2 分区操作系统的调度研究

在图2所示的分区调度模型[3]中,每个分区在全局CoreOS看来就是一个个的时间窗口,在规定的时间窗口内将CPU资源使用权分配给对应分区。所以,确定分区k的资源分配αk及各分区的周期γk是分区调度的关键。

图2 分区调度模型

针对静态实时调度主流方法采用RMS(Rate Monotonic Scheduling)[4]的速率单调调度模型来验证,分区k中n个实时任务组成的周期任务集∏=,使用(Ci,Ti,D)i表示任务周期有T1≤T2≤…Tn且周期越短任务优先级越高,任务响应时间为Ci,截止期限为Di。

将操作系统处理器资源做归一化处理[10],则各分区分时使用处理器资源,分区k取得资源使用率为 α(k∑αi≤1,i为分区数量),则处于分区k内的任务其响应时间为。根据文献[7]使用RMS调度时可得周期任务的处理器使用率为βk≤n(21/n=1),n为任务数量,具体到分区k每个任务可得到处理器的响应时间为,因此,分区内m个任务的处理器使用率(m为分区k内任务数量),可得分区k的处理器使用率应满足:

分区k的周期参数γk需要满足分区内最小不活动周期的时间要求,在(0,t]内执行i的累计运行时间为,可得分区内任务i的最小不活动周期为,分区k的最小不活动周期为为分区内任务),根据文献[4]可证明在两级调度模型的系统中,处理能力 αk的分区调度条件为 γ(k1-αk)≤B(αk),可得分区k的周期调度参数满足:

3 基于分时分区操作系统的软件开发流程

在炮兵压制武器某预研项目中,显控子系统应用通过资源共享部署运行在数据处理模块上,运行的任务有周期响应的控制类调炮应用、人机交互类应用及通用系统管理类应用[8]。

软件的综合化部署,需要分区操作系统来管理应用,操作系统采用北京科银京成公司生产的道系统分时分区版(DeltaOS)作为验证操作系统[11],显控子系统的多个功能应用,按照对资源访问的不同将他们放在不同的分区中,设计3个分区分别是控制分区、交互分区及管理分区,每个分区独立地加载各自的分区操作系统及为应用提供相应的环境支持。

分时分区操作系统的软件部署在基于传统应用开发的基础上需要对应用合理分区,对分区内应用的运行参数(Ci,Ti,Di)进行分析,进而确定分区调度参数及总的时间调度参数,分区操作系统作为确定性的系统其分区的调度参数及任务的运行时限需提前规划并固定,其开发顺序是完成应用开发,根据任务及分区规划完成资源配置,满足任务所需的空间和时间资源[14],流程如图3所示。

图3 分时分区应用开发流程

3.1 资源配置

显控子系统按照访问资源的不同设计分区[12],分区P1放置人机交互应用,分区P2部署控制类应用,分区P3为系统管理类应用,统计各分区内周期性任务参数表如表1所示,其中Ci是任务执行时间,Ti是任务的响应周期,单位为毫秒(ms)。

结合表1的数据,通过式(1)得到分区内任务是否可调度,通过式(2)得到分区的资源分配αk,通过式(3)得到各分区的调度周期γk。

对分区P1中的任务进行RMS可调度性分析,使用式(1)可得:

表1 分区任务参数表

对于任务 Task11:t1=C1=7<T1,Task11可调度。

图4 分区调度时间窗配置

3.2 系统测试

在多分区的测试中,可以借助分区操作系统中各设备分区独占的特点,合理分配分区的调试输出手段,配合VGA显示输出、网络telnet交互及串口调试等手段实现多分区测试。

在完成分区内与分区间的测试任务后,显控子系统接入火控综合架构中组成一个完整的系统,对系统进行集成调试,通过人机交互的任务入口,测试各功能项匹配的分区内应用执行情况,实现在进行调炮等控制任务工作时,同时可以切换显示界面等人机交互任务。

4 结论

本文通过研究分区操作系统的可调度条件,实现显控子系统各任务的综合化部署,既保证了高安全等级的强实时任务按预期的时间片取得执行权,又不会超时占用系统资源,使得强实时系统上多任务调度变得可行,这些优点是传统强实时操作系统无法实现的,与当前的硬实时操作系统相比具有明显的优势,为火控应用的综合化部署提供有力的支持。

猜你喜欢

时分分区子系统
不对中转子系统耦合动力学特性研究
贵州省地质灾害易发分区图
上海实施“分区封控”
派对时分
网络空间供应链中入侵检测及防御子系统的投资机制研究
网络空间供应链中入侵检测及防御子系统的投资机制研究
一种基于NB-IoT的公路雾灯自动指示系统
大型数据库分区表研究
大空间建筑防火分区设计的探讨
夜半凄厉的哭泣声