CN111580792A - 一种基于操作系统的高可靠星载软件架构设计方法 - Google Patents

一种基于操作系统的高可靠星载软件架构设计方法 Download PDF

Info

Publication number
CN111580792A
CN111580792A CN202010359687.3A CN202010359687A CN111580792A CN 111580792 A CN111580792 A CN 111580792A CN 202010359687 A CN202010359687 A CN 202010359687A CN 111580792 A CN111580792 A CN 111580792A
Authority
CN
China
Prior art keywords
thread
working
rms
heartbeat
threads
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010359687.3A
Other languages
English (en)
Other versions
CN111580792B (zh
Inventor
白亮
刘伟亮
田文波
朱新忠
关宁
朱华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai aerospace computer technology research institute
Original Assignee
Shanghai aerospace computer technology research institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai aerospace computer technology research institute filed Critical Shanghai aerospace computer technology research institute
Priority to CN202010359687.3A priority Critical patent/CN111580792B/zh
Publication of CN111580792A publication Critical patent/CN111580792A/zh
Application granted granted Critical
Publication of CN111580792B publication Critical patent/CN111580792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于操作系统的高可靠星载软件架构设计方法,采取多进程+多线程开发模式进行综合电子系统软件开发过程,能够保证无人值守、且运行于复杂电磁环境中的卫星,长期在轨运行稳定。即使出现故障时,也能够通过该方法中的相应措施能够恢复正常运行。其目的在于使得星载综合电子计算机使用嵌入式操作系统后,既能发挥星载嵌入式操作系统的优势,又能秉持传统星载综合电子系统的可靠性。本发明针对基于嵌入式操作系统的综合电子系统软件,在秉持传统星载软件成熟的可靠性措施的同时,还能够利用操作系统提供的优势和便捷,进一步增强星载综合电子系统的可扩展性和可靠性、进而提高了整星的可靠性和可维护性。

Description

一种基于操作系统的高可靠星载软件架构设计方法
技术领域
本发明涉及星载嵌入式软件技术领域,特别涉及一种基于操作系统的高可靠星载软件架构设计方法。
背景技术
随着卫星及飞行器任务需求,载荷的数量和功能呈上升趋势,相对综合电子系统软件,负责整星数据流的处理及通信,载荷的数量增加,意味着综合电子系统软件的复杂度增加。基于传统星载软件开发模式,继续开发目前卫星及飞行器系统中的综合电子系统软件,会面临诸多问题,软件升级扩展难以实现、软件分层不明显、软硬件无法解耦、软件利用率低等。
随着卫星及飞行器综合电子系统升级换代,处理器已经不再是8位机器或者16位机器,而是具有上百兆主频的高性能处理器,甚至是多核处理器。基于传统嵌入式开发模式,是无法充分发挥高性能处理器的性能优势,无法更好的实现软硬件协同开发;
利用嵌入式操作系统提供的多进程/多线程技术实现卫星及飞行器中综合电子系统软件的开发技术,在现有航天工程实际中应用较少。而已有实现技术中,针对多进程/多线程的可靠性问题的考虑,主要集中在:1、将应用程序和嵌入式操作系统镜像编译在一起,最终形成一个目标文件,针对该操作系统镜像目标文件进行冗余备份,而对其内部的应用程序无法实现多冗余备份;2、采用动态加载方式,将应用程序单独分离编译,存放于文件系统中,将该应用程序进行冗余备份,而在线程间的可靠性保证及整系统的可靠性保证,未见有明显描述。虽然上述两种方法都可以实现可靠性保证,但是只针对应用程序本身进行冗余操作,未从综合电子系统软件顶层考虑其可靠性和安全性。
发明内容
为了克服现有技术的缺陷,本发明提供了一种基于操作系统的高可靠星载软件架构设计方法,以期解决目前综合电子计算机使用嵌入式操作系统后,随着软件规模巨增,采用多进程+多线程开发模式下的嵌入式软件开发复杂度增加的情况下,如何保证综合电子系统软件可靠性和安全性等问题。进一步提高综合电子系统软件设计的灵活性、可扩展性、可靠性和安全性。技术方案如下:
一种基于操作系统的高可靠星载软件架构设计方法,包括以下步骤:
S1:操作系统首先创建监视进程/线程;
进而由该监视进程/线程创建启动若干个工作进程;每个工作进程开始执行后,又分别创建自己进程内部的工作线程,由每个工作进程创建的第一个工作线程为该进程的主线程;
监视进程/线程与各工作进程共享内存数据;
在各工作进程内部,主线程同其他工作线程之间采用消息队列的方式实现数据交互;
S2:在每个周期内,每个工作进程均进行“心跳”计数,并将该“心跳”计数通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,每个工作进程内部,除主线程外的各个工作线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给主线程;
当在连续固定的n个周期内,某个工作进程均出现“心跳”计数不再增加的情况,即该工作进程出现无“心跳”,则监视进程/线程判断该工作进程出现异常,此时,监视进程/线程主动重新启动对应的工作进程;n为正整数;
对于每一进程,当在连续固定的m个周期内,某线程“心跳”计数均不再变化时,主线程判断其运行状态异常;此时,主线程先自行重启该异常的线程,在重试规定次数后,仍然监视判断该线程“心跳”计数不再变化时,则向监视进程/线程停发该进程的“心跳”计数,由监视进程/线程负责重启该工作进程;m为正整数。
可选地,步骤S1还包括:
监视进程/线程创建启动RMS进程,RMS进程开始执行后,创建自己进程内部的工作线程,其创建的第一个工作线程为RMS进程的主线程,该主线程为周期性线程RMS调度;该主进程用于对其它各个线程的周期性任务进行监控;
监视进程/线程与RMS进程、各工作进程共享内存数据;
在RMS进程内部,RMS调度同其他线程之间采用消息队列的方式实现数据交互。
可选地,步骤S2还包括:
在每个周期内,RMS进程进行“心跳”计数,并将该“心跳”计数通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,RMS进程内部,除RMS调度外的各个线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给RMS调度;
当RMS进程的主线程在执行RMS调度时,通过消息队列获得本进程内其他工作线程在执行周期性任务时是否发生超时;若发现某个工作线程出现超时,先由主线程对其他各个线程进行重启操作,当前述对应工作线程连续发生规定次数超时,则RMS进程停止向监视进程/线程发送“心跳“计数,由监视进程/线程对RMS进程进行重启操作。
可选地,还包括步骤S3:
对各工作进程、RMS进程中关键线程进行冗余备份,生产对应的冗余线程;当关键线程出现故障时,即故障关键线程停止向其对应的主线程发送“心跳”计时,该主线程会重启故障关键线程,如重启了规定次数后,故障关键线程仍出现停止心跳计时的情况,则该主线程启动故障关键线程对应的冗余线程,由冗余线程接管故障关键线程的工作。
可选地,还包括步骤S4:
当步骤S1至S3均失效时,可以采取针对综合电子计算机断电重加电开始运行,将所有的应用程序及依赖的动态库文件都回到出厂版本,保证在应急时刻能够有一份应用程序可以让卫星综合电子系统恢复到初态即出厂设置,之后再重复步骤S1到步骤S3;其中,所有的应用程序及动态库文件都有MD5校验文件以保证其完整性。
可选地,当执行步骤S4时,针对加载执行的每一份应用程序文件的3份MD5校验文件,采取“三取二”比对,保证总有一份应用程序能够正常启动执行;其中,“三取二”是指将三份MD5校验文件中的每个字节进行按位两两比较,只要有两份一致,就取相同两份中任意一份。
与现有技术相比,本发明的有益效果如下:
本发明能够提供针对使用嵌入式操作系统后,采取多进程+多线程开发模式进行综合电子系统软件开发过程中,在软件复杂度非常高的情况下,如何保证卫星或者飞行器中综合电子系统软件的可靠性和安全性有着积极的借鉴意义,在宇航领域具有较好的实际工程应用价值。
本发明针对基于嵌入式操作系统的综合电子系统软件,在秉持传统星载软件成熟的可靠性措施的同时,还能够利用操作系统提供的优势和便捷,进一步增强星载综合电子系统的可扩展性和可靠性、进而提高了整星的可靠性和可维护性。
本发明的多进程和多线程模式不同于传统星载软件开发方式,实现多任务在单核处理器上的并行执行,区别于传统星载软件中的“背景任务+中断”模式,提高软件执行效率和增强开发灵活性;
本发明以进程作为系统资源的容器,保证各个进程对系统资源的“独享”和隔离,实现多进程对资源使用的安全性,进而保证系统的安全性;
本发明的方法中,当卫星或者其他飞行器的综合电子计算机在断电重新上电后,所有应用程序及动态库文件都启用出厂版本,能够保证在卫星及飞行器的应急时刻能够有一份可执行应用程序及动态库能够用来保证卫星和飞行器的姿态。姿态稳定后,可以根据实际工况,决定是恢复到断电前状态,还是以此为基础,重新开始新的功能迭代升级。
本发明的步骤四为系统中关键性的线程采取冗余备份策略,保证系统中关键特性不存在单点故障,以线程级为单位进行冗余,用于增强系统的冗余性和可靠性。本发明的多进程和多线程模式实现多任务在单核处理器上的并行执行,增强系统的并行执行能力,提升综合电子系统性能。
附图说明
图1为本发明具体实施例一种基于操作系统的高可靠星载软件架构设计方法的实现流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
如图1,一种基于操作系统的高可靠星载软件架构设计方法,包括以下步骤:
S1:操作系统首先创建监视进程/线程;进而由该监视进程/线程创建启动若干个工作进程;每个工作进程开始执行后,又分别创建自己进程内部的工作线程,由每个工作进程创建的第一个工作线程为该进程的主线程;监视进程/线程与各工作进程共享内存数据;在各工作进程内部,主线程同其他工作线程之间采用消息队列的方式实现数据交互;同时,不同进程的线程之间也是可以信息共享的。
监视进程/线程创建启动RMS进程,用于执行严格周期性要求的任务。RMS进程开始执行后,创建自己进程内部的工作线程,其创建的第一个工作线程为RMS进程的主线程,该主线程为周期性线程RMS调度;该主进程用于对其它各个线程的周期性任务进行监控;
这里的周期性任务是指按固定的周期运行的任务,每两次任务执行的起始时间间隔是固定的。
监视进程/线程与RMS进程、各工作进程共享内存数据;
在RMS进程内部,RMS调度同其他线程之间采用消息队列的方式实现数据交互。
本实施例中,操作系统创建了监视进程/线程;监视进程/线程创建了进程1、进程2、进程3、进程4,进程1、进程2、进程3为工作进程,进程4为RMS进程。其中,进程1被分成了4个线程:主线程、工作线程1、工作线程2、工作线程3;进程2被分成了3个线程:主线程、工作线程1、工作线程2;进程3被分成了4个线程:主线程、工作线程1、工作线程2、工作线程3;进程4被分成了RMS调度、工作线程1、工作线程2。
S2:在每个周期内,每个工作进程均进行“心跳”计数,并将该“心跳”计数信号通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,每个工作进程内部,除主线程外的各个工作线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给主线程;
当在连续固定的n个周期内(如10个周期,周期为500ms),某个工作进程均出现“心跳”计数不再增加的情况,即该工作进程出现无“心跳”,则监视进程/线程判断该工作进程出现异常,此时,监视进程/线程主动重新启动对应的工作进程;n为正整数;
对于每一进程,当在连续固定的m个周期内(如10个周期,周期为500ms),某线程“心跳”计数均不再变化时,主线程判断其运行状态异常;此时,主线程先自行重启该异常的线程,在重试规定次数后(如5次),仍然监视判断该线程“心跳”计数不再变化时,则向监视进程/线程停发该进程的“心跳”计数,由监视进程/线程负责重启该工作进程;m为正整数。
在每个周期内,RMS进程进行“心跳”计数,并将该“心跳”计数通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,RMS进程内部,除RMS调度外的各个线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给RMS调度;其中,RMS调度负责完成严格的周期性任务调度执行,其他线程完成同其他进程的共享内存数据交互及“心跳”的发送工作;
当RMS进程内部的主线程在执行RMS调度时,通过消息队列获得本进程内其他工作线程在执行周期性任务时是否发生超时,;若发现某个工作线程出现超时,先由主线程对其他各个线程进行重启操作,当前述对应工作线程连续发生规定次数(如5次)超时,则该RMS进程停止向监视进程/线程发送“心跳“计数,由监视进程/线程对RMS进程进行重启操作。
其中,所述“心跳”计数是指由0或者某个数字开始,每过一周期即作加1的累加计数。
需要说明的是,上述出现的n和m,以及文中涉及的“规定次数”的数值,在具体实施时,只要保证在姿轨控姿态稳定的前提下,根据实际情况进行选取即可,本实施例不对其的具体数值做出限定。
步骤S3:对各工作进程、RMS进程中关键线程进行冗余备份,生产对应的冗余线程;当关键线程出现故障时,即故障关键线程停止向其对应的主线程发送“心跳”计时,该主线程会重启故障关键线程,如重启了规定次数后,故障关键线程仍出现停止心跳计时的情况,则该主线程启动故障关键线程对应的冗余线程,由冗余线程接管故障关键线程的工作。
这里的“关键线程”是对相应进程很关键的线程,所谓关键,为“由功能定义,决定本软件功能实施”的线程。
该步骤可保证系统中关键特性不存在单点故障,以线程级为单位进行冗余,用于增强系统的冗余性和可靠性;如星载系统中的遥测/遥控任务。在遥测/遥控线程未启动时,应由操作系统负责组织有效遥测帧进行下行遥测,当遥测/遥控线程正常启动后,将组织遥测下行的功能交由遥测线程完成,操作系统中作为遥测线程的冗余线程应挂起。当遥测线程或者创建遥测线程的进程因为异常原因重启,或者升级更新重启,在退出到重启进入正常运行的时间间隙内,由操作系统冗余遥测线程临时接替遥测线程的职责,进行下行遥测,保证天地间有有效遥测下行,从而让地面能够对卫星状态有所了解。该步骤用于增强系统的冗余性和可靠性。
步骤S4:当步骤S1至S3均失效时,可以采取针对综合电子计算机断电重加电开始运行,将所有的应用程序及依赖的动态库文件都回到出厂版本,保证在应急时刻能够有一份应用程序可以让卫星综合电子系统恢复到初态即出厂设置,之后再重复步骤S1到步骤S3;其中,所有的应用程序及动态库文件都有MD5校验文件以保证其完整性。
当执行步骤S4时,针对加载执行的每一份应用程序文件的3份MD5校验文件,采取“三取二”比对,保证总有一份应用程序能够正常启动执行;其中,“三取二”是指将三份MD5校验文件中的每个字节进行按位两两比较,只要有两份一致,就取相同两份中任意一份。
当卫星或者其他飞行器的综合电子计算机在断电重新上电后,所有应用程序及动态库文件都启用出厂版本,保证在卫星及飞行器的应急时刻能够有一份可执行应用程序及动态库能够用来保证卫星和飞行器的姿态。姿态稳定后,可以根据实际工况,决定是恢复到断电前状态,还是以此为基础,重新开始新的功能迭代升级。
本实施例将软件以“进程”和“线程”为单位进行分解;将软件划分为若干个进程,每一进程下又分为若干个线程,采取“多进程+多线程”模式开发设计。
在进程与进程之间设计“心跳”计数策略,用以监视判断该进程的运行状态;在各进程内部,由主线程负责管理由该进程创建的线程,在各个线程之间依然采取“心跳”计数策略进行管理运行状态;操作系统以“多进程”作为资源的容器,实现各个进程所使用的资源隔离,实现进程“免疫”。以进程作为系统资源的容器,保证各个进程对系统资源的“独享”和隔离,实现多进程对资源使用的安全性,进而保证系统的安全性。
所述多进程和多线程模式不同于传统星载软件开发方式,实现多任务在单核处理器上的并行执行,区别于传统星载软件中的“背景任务+中断”模式,提高软件执行效率和增强开发灵活性。
本实施例的设计原理和设计思路主要包含如下三部分:具体为:
(1)利用嵌入式操作系统支持多进程和多线程机制,为多进程+多线程实现提供了基础保证,同时,硬实时嵌入式操作系统对中断的确定性响应和支持优先级抢占,保证即使在该设计模式下,能够保证实时性。可以根据业务功能划分各个功能模块组成,由进程,或者线程来实现各个功能模块,由功能模块在周期内承担的业务制定各个线程的优先级,保证不会出现“饥饿”现象发生。
(2)利用多线程的周期性特点,制定用于监视线程运行状态的“心跳”计数策略,保证监视线程能够对运行线程的状态进行监视,从而保证不会出现某线程独占CPU现象。同时,利用嵌入式操作系统提供的用于线程间通信机制:信号量和消息队列,以及进程间通信机制:命令信号量和命令消息队列,以及共享内存等方式,取代传统的全局变量进行数据交互,避免在多进程和多线程下产生的数据竞争,有效增强系统的可靠性。
(3)本实施例可以利用文件系统提供的应用程序以单独文件的存在形式,对应用程序文件进行校验、启动和更新。利用嵌入式操作系统内嵌的MD5算法对文件进行完整性校验,提高校验算法的可靠性。充分利用文件系统冗余特性,实现应用程序文件的冗余,保证综合电子系统软件的可靠性和安全性。
综上所述,本实施例方式能够对采取多进程+多线程模式取代传统卫星或者飞行器“中断+循环”软件开发模式下,保证综合电子系统软件的在轨可靠性和安全性,且能够对于各个运行的进程和线程状态进行监视和管理,具有较强的灵活性;在发生异常时,能够利用嵌入式操作系统提供的服务,保证软件系统可靠性和安全性,且具有较强的工程实践价值。
本实施例适用于支持进程的操作系统。如遇到不支持进程的操作系统,也可以采用,监视进程/线程直接创建若干个线程的方式;即将软件以“线程”为单位进行分解;将软件划分为若干个线程,采取“多线程”模式开发设计。
以上所述仅为本发明的具体实施例,但是本发明保证范围不局限于此,本领域内的技术人员在本发明的精神和原则之内,对本发明所做的任何修改、替换、改进等,均应包含在本发明所述的权利要求的保护范围之内。

Claims (6)

1.一种基于操作系统的高可靠星载软件架构设计方法,其特征在于,包括以下步骤:
S1:操作系统首先创建监视进程/线程;
进而由该监视进程/线程创建启动若干个工作进程;每个工作进程开始执行后,又分别创建自己进程内部的工作线程,由每个工作进程创建的第一个工作线程为该进程的主线程;
监视进程/线程与各工作进程共享内存数据;
在各工作进程内部,主线程同其他工作线程之间采用消息队列的方式实现数据交互;
S2:在每个周期内,每个工作进程均进行“心跳”计数,并将该“心跳”计数通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,每个工作进程内部,除主线程外的各个工作线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给主线程;
当在连续固定的n个周期内,某个工作进程均出现“心跳”计数不再增加的情况,即该工作进程出现无“心跳”,则监视进程/线程判断该工作进程出现异常,此时,监视进程/线程主动重新启动对应的工作进程;n为正整数;
对于每一进程,当在连续固定的m个周期内,某线程“心跳”计数均不再变化时,主线程判断其运行状态异常;此时,主线程先自行重启该异常的线程,在重试规定次数后,仍然监视判断该线程“心跳”计数不再变化时,则向监视进程/线程停发该进程的“心跳”计数,由监视进程/线程负责重启该工作进程;m为正整数。
2.如权利要求1所述的方法,其特征在于,步骤S1还包括:
监视进程/线程创建启动RMS进程,RMS进程开始执行后,创建自己进程内部的工作线程,其创建的第一个工作线程为RMS进程的主线程,该主线程为周期性线程RMS调度;该主进程用于对其它各个线程的周期性任务进行监控;
监视进程/线程与RMS进程、各工作进程共享内存数据;
在RMS进程内部,RMS调度同其他线程之间采用消息队列的方式实现数据交互。
3.如权利要求2所述的方法,其特征在于,步骤S2还包括:
在每个周期内,RMS进程进行“心跳”计数,并将该“心跳”计数通过共享内存数据的方式发送给监视进程/线程;
在每个周期内,RMS进程内部,除RMS调度外的各个线程均进行“心跳”计数,并将该“心跳”计数通过消息队列的方式发送给RMS调度;
当RMS进程的主线程在执行RMS调度时,通过消息队列获得本进程内其他工作线程在执行周期性任务时是否发生超时;若发现某个工作线程出现超时,先由主线程对其他各个线程进行重启操作,当前述对应工作线程连续发生规定次数超时,则RMS进程停止向监视进程/线程发送“心跳“计数,由监视进程/线程对RMS进程进行重启操作。
4.如权利要求3所述的方法,其特征在于,还包括步骤S3:
对各工作进程、RMS进程中关键线程进行冗余备份,生产对应的冗余线程;当关键线程出现故障时,即故障关键线程停止向其对应的主线程发送“心跳”计时,该主线程会重启故障关键线程,如重启了规定次数后,故障关键线程仍出现停止心跳计时的情况,则该主线程启动故障关键线程对应的冗余线程,由冗余线程接管故障关键线程的工作。
5.如权利要求4所述的方法,其特征在于,还包括步骤S4:
当步骤S1至S3均失效时,可以采取针对综合电子计算机断电重加电开始运行,将所有的应用程序及依赖的动态库文件都回到出厂版本,保证在应急时刻能够有一份应用程序可以让卫星综合电子系统恢复到初态即出厂设置,之后再重复步骤S1到步骤S3;其中,所有的应用程序及动态库文件都有MD5校验文件以保证其完整性。
6.如权利要求5所述的方法,其特征在于,当执行步骤S4时,针对加载执行的每一份应用程序文件的3份MD5校验文件,采取“三取二”比对,保证总有一份应用程序能够正常启动执行;其中,“三取二”是指将三份MD5校验文件中的每个字节进行按位两两比较,只要有两份一致,就取相同两份中任意一份。
CN202010359687.3A 2020-04-29 2020-04-29 一种基于操作系统的高可靠星载软件架构设计方法 Active CN111580792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010359687.3A CN111580792B (zh) 2020-04-29 2020-04-29 一种基于操作系统的高可靠星载软件架构设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010359687.3A CN111580792B (zh) 2020-04-29 2020-04-29 一种基于操作系统的高可靠星载软件架构设计方法

Publications (2)

Publication Number Publication Date
CN111580792A true CN111580792A (zh) 2020-08-25
CN111580792B CN111580792B (zh) 2022-07-01

Family

ID=72122791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010359687.3A Active CN111580792B (zh) 2020-04-29 2020-04-29 一种基于操作系统的高可靠星载软件架构设计方法

Country Status (1)

Country Link
CN (1) CN111580792B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765576A (zh) * 2021-08-18 2021-12-07 上海蔚星数据科技有限公司 一种星载综合电子操作系统及单机适配方法

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825286A (zh) * 2006-03-31 2006-08-30 浙江大学 嵌入式sram操作系统线程实现和线程状态转换的方法
CN101226487A (zh) * 2008-01-30 2008-07-23 中国船舶重工集团公司第七〇九研究所 基于嵌入式Linux操作系统的内核级线程库的实现方法
CN101247044A (zh) * 2008-04-07 2008-08-20 长春供电公司 自动化主站系统高效零差错无缝升级换代的方法
CN101794244A (zh) * 2010-03-18 2010-08-04 上海乐毅信息科技有限公司 多线程看门狗监控方法
CN102339234A (zh) * 2011-07-12 2012-02-01 迈普通信技术股份有限公司 一种协议栈运行装置和方法
CN102779047A (zh) * 2012-07-09 2012-11-14 哈尔滨工程大学 一种嵌入式软件支撑平台
CN102968302A (zh) * 2005-03-02 2013-03-13 英特尔公司 利用同步开销以改善多线程性能的机制
CN103229143A (zh) * 2010-09-28 2013-07-31 施耐德电气美国股份有限公司 具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者
CN103246589A (zh) * 2012-02-03 2013-08-14 京信通信系统(中国)有限公司 一种多线程的监控方法及装置
CN106354608A (zh) * 2016-09-30 2017-01-25 北京海誉动想科技股份有限公司 电子设备硬件请求注册管理的装置及方法
CN108289721A (zh) * 2014-09-05 2018-07-17 伊西康有限责任公司 基于部件评估监控装置劣化
US20180203743A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Maintaining the responsiveness of a user interface while performing a synchronous operation
CN108694068A (zh) * 2017-03-29 2018-10-23 丛林网络公司 用于虚拟环境中的方法和系统
CN108734464A (zh) * 2018-05-22 2018-11-02 上海璧碚符木数据科技有限公司 一种利用浏览器执行区块链计算任务的方法、装置和浏览器
CN109117274A (zh) * 2018-08-28 2019-01-01 Oppo广东移动通信有限公司 应用于浏览器的内存管理方法、装置、终端及存储介质
CN109766131A (zh) * 2017-11-06 2019-05-17 上海宝信软件股份有限公司 基于多线程技术实现软件智能化自动升级的系统及方法
CN110780858A (zh) * 2019-10-28 2020-02-11 天津津航计算技术研究所 一种基于嵌入式操作系统的软件分层架构

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968302A (zh) * 2005-03-02 2013-03-13 英特尔公司 利用同步开销以改善多线程性能的机制
CN1825286A (zh) * 2006-03-31 2006-08-30 浙江大学 嵌入式sram操作系统线程实现和线程状态转换的方法
CN101226487A (zh) * 2008-01-30 2008-07-23 中国船舶重工集团公司第七〇九研究所 基于嵌入式Linux操作系统的内核级线程库的实现方法
CN101247044A (zh) * 2008-04-07 2008-08-20 长春供电公司 自动化主站系统高效零差错无缝升级换代的方法
CN101794244A (zh) * 2010-03-18 2010-08-04 上海乐毅信息科技有限公司 多线程看门狗监控方法
CN103229143A (zh) * 2010-09-28 2013-07-31 施耐德电气美国股份有限公司 具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者
CN102339234A (zh) * 2011-07-12 2012-02-01 迈普通信技术股份有限公司 一种协议栈运行装置和方法
CN103246589A (zh) * 2012-02-03 2013-08-14 京信通信系统(中国)有限公司 一种多线程的监控方法及装置
CN102779047A (zh) * 2012-07-09 2012-11-14 哈尔滨工程大学 一种嵌入式软件支撑平台
CN108289721A (zh) * 2014-09-05 2018-07-17 伊西康有限责任公司 基于部件评估监控装置劣化
CN106354608A (zh) * 2016-09-30 2017-01-25 北京海誉动想科技股份有限公司 电子设备硬件请求注册管理的装置及方法
US20180203743A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Maintaining the responsiveness of a user interface while performing a synchronous operation
CN108694068A (zh) * 2017-03-29 2018-10-23 丛林网络公司 用于虚拟环境中的方法和系统
CN109766131A (zh) * 2017-11-06 2019-05-17 上海宝信软件股份有限公司 基于多线程技术实现软件智能化自动升级的系统及方法
CN108734464A (zh) * 2018-05-22 2018-11-02 上海璧碚符木数据科技有限公司 一种利用浏览器执行区块链计算任务的方法、装置和浏览器
CN109117274A (zh) * 2018-08-28 2019-01-01 Oppo广东移动通信有限公司 应用于浏览器的内存管理方法、装置、终端及存储介质
CN110780858A (zh) * 2019-10-28 2020-02-11 天津津航计算技术研究所 一种基于嵌入式操作系统的软件分层架构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
邓鑫: ""time分布式流计算平台计算节点的系统设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *
邓鑫: ""time分布式流计算平台计算节点的系统设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》, no. 01, 5 January 2020 (2020-01-05) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765576A (zh) * 2021-08-18 2021-12-07 上海蔚星数据科技有限公司 一种星载综合电子操作系统及单机适配方法

Also Published As

Publication number Publication date
CN111580792B (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
US7516361B2 (en) Method for automatic checkpoint of system and application software
CN113569987A (zh) 模型训练方法和装置
US9335998B2 (en) Multi-core processor system, monitoring control method, and computer product
US6789214B1 (en) Process for reconfiguring an information processing system upon detection of a component failure
EP0221274A2 (en) Method for ensuring switchover in a restartable data base system
US10678677B1 (en) Continuous debugging
CN111400086B (zh) 虚拟机容错的实现方法和系统
CN111580792B (zh) 一种基于操作系统的高可靠星载软件架构设计方法
EP0788050B1 (en) Computer system with checkpoint and restart function
Abdi et al. Restart-based fault-tolerance: System design and schedulability analysis
Moser et al. Eternal: fault tolerance and live upgrades for distributed object systems
US8291419B2 (en) Fault tolerant system for execution of parallel jobs
de la Cámara et al. Model extraction for arinc 653 based avionics software
KR20230131017A (ko) 가속기에 대해 온-디멘드 체크포인트를 수행하는 전자 장치 및 그 동작 방법
Ayav et al. Implementing fault-tolerance in real-time programs by automatic program transformations
Jafar et al. Theft-induced checkpointing for reconfigurable dataflow applications
Liu et al. PLAM: Preemptive Layer Activation Architecture based on Multithreading in Context-Oriented Programming
Tchamgoue et al. Supporting fault-tolerance in a compositional real-time scheduling framework
Masetti et al. Increasing Availability by Implementing Software Redundancy in the CMS Detector Control System
Gu et al. Dynamic Reconfiguration Mechanism for Distributed Integrated Modular Avionics System
CN112214323B (zh) 一种资源回收方法、装置及计算机可读存储介质
KR102057524B1 (ko) 위성 관제 시스템이 수행하는 실행 시점 복원 방법
Fu et al. Research on rtos-integrated tmr for fault tolerant systems
Cooke Implementation of a Real-Time Operating System on a Small Satellite Platform
Zhang et al. Research on Data Backup and Recovery of Distributed Embedded System for Aircrafts

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant