System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种微内核操作系统中关键服务防失效方法技术方案_技高网

一种微内核操作系统中关键服务防失效方法技术方案

技术编号:39988707 阅读:8 留言:0更新日期:2024-01-09 02:05
本发明专利技术公开了一种微内核操作系统中关键服务防失效方法,所述微内核操作系统包括:IPC通信模块、服务管理器、关键服务、非关键服务和应用程序,所述IPC通信模块处于内核态,所述服务管理器、关键服务、非关键服务和应用程序处于用户态;所述IPC通信模块包括通信点,所述通信点包括主服务IPC和次服务IPC,所述关键服务包括主服务和次服务,其中,主服务IPC与主服务绑定,次服务IPC与次服务绑定;所述方法包括:所述服务管理器检测所述主服务是否失效;在主服务失效的情况下,通信点通过次服务IPC实现应用程序与关键服务中的次服务之间的通信;在主服务未失效的情况下,通信点通过主服务IPC实现所述应用程序与关键服务中的主服务之间的通信。

【技术实现步骤摘要】

本专利技术涉及计算机,特别涉及一种微内核操作系统中关键服务防失效方法


技术介绍

1、微内核操作系统区别于宏内核操作系统,微内核将文件系统、内存管理等模块都放用户态,内核只提供非常少的功能(例如:进程间通信(inter-process communication,简称ipc)、调度管理等),大部分系统的服务都在用户态实现,内核只传递这些模块的通信消息。微内核的用户态由大量的服务构成,这些服务通常包括:服务管理器、设备服务、文件系统服务、网络服务等,对于整个微内核系统来说,某些服务的功能非常的关键,这些关键服务的失效可能导致整个系统失去响应。

2、虽然微内核相对于宏内核将许多的服务挪到了用户态,这些服务以单独的进程运行,彼此之间相互独立,但是由于服务之间的依赖性,导致某些服务的功能非常关键,这些关键服务的失效可能导致整个系统停止工作。现有解决失效的方法通常有以下几种:

3、1.重启服务

4、检查到某个服务失效后,重启该服务。虽然该方法能够解决某些原因引起的服务失效,但是存在服务重启后数据丢失,或者服务因自身设计上的缺陷可能一直触发失效,使得服务一直处于重启状态,服务无法正常工作。

5、2.重启系统

6、检查到关键服务失效后,重启整个系统。该方法会导致系统的状态恢复到初始状态,但是带来了不好的用户体验,并且服务因自身设计上的缺陷可能一直重启系统,系统无法正常工作。

7、3.失效降级

8、服务自身检查到自身出现故障,降低自身功能,保证服务的正常运行。该方法本质还是由服务自身实现失效降级,服务出现致命故障时,仍然不能保证系统的正常运行。


技术实现思路

1、本专利技术的目的在于提供一种微内核操作系统中关键服务防失效方法,以解决微内核中关键服务失效导致整个系统停止工作的问题。

2、本专利技术实施例提供了一种微内核操作系统中关键服务防失效方法,所述微内核操作系统包括:ipc通信模块、服务管理器、关键服务、非关键服务和应用程序,所述ipc通信模块处于内核态,所述服务管理器、关键服务、非关键服务和应用程序处于用户态;所述ipc通信模块包括通信点,所述通信点包括主服务ipc和次服务ipc,所述关键服务包括主服务和次服务,其中,所述主服务ipc与所述主服务绑定,所述次服务ipc与所述次服务绑定;

3、所述方法包括:

4、所述服务管理器检测所述主服务是否失效;

5、在所述主服务未失效的情况下,所述通信点通过所述主服务ipc实现所述应用程序与所述关键服务中的主服务之间的通信;

6、在所述主服务失效的情况下,所述通信点通过所述次服务ipc实现所述应用程序与所述关键服务中的次服务之间的通信。

7、优选的,在所述服务管理器检测所述主服务是否失效之前还包括:将所有服务注册到服务管理器中,并设定服务类型为关键服务或非关键服务;将关键服务统一注册到服务管理器中的/sys路径。

8、优选的,在所述主服务未失效的情况下,所述通信点通过所述主服务ipc实现所述应用程序与所述关键服务中的主服务之间的通信,包括:

9、根据所述应用程序向所述通信点发送请求消息,所述通信点接收到请求消息后将请求消息转发到所述关键服务的所述主服务和所述次服务,所述主服务和所述次服务收到请求消息后将回复消息发送给所述通信点,所述通信点接收到回复消息后通过所述通信点中的所述主服务ipc将回复消息发送给应用程序,并丢弃次服务ipc的回复消息。

10、优选的,在所述主服务失效的情况下,所述通信点通过所述次服务ipc实现所述应用程序与所述关键服务中的次服务之间的通信,包括:

11、通过所述ipc通信模块将所述通信点中的所述主服务ipc设置为失效;根据所述应用程序向所述通信点发送请求消息,所述通信点接收到请求消息后将请求消息转发给所述关键服务的所述次服务,所述次服务接收到所述请求消息后将回复消息发送给所述通信点,所述通信点接收到回复消息后通过所述通信点中的次服务ipc将回复消息发送给所述应用程序。

12、本专利技术至少包括以下有益效果:

13、本专利技术提供的方法在系统检测到关键服务失效后,系统能够自动的切换到备份服务上运行,并且切换过程平稳,不丢失数据,不影响其它服务与应用程序的运行,即使关键服务失效,服务的使用者也不会有任何感知,从而提高了用户的使用体验;解决了微内核中关键服务失效导致整个系统停止工作的问题。

14、本专利技术提供的方法从系统架构层面提升了微内核操作系统的稳定性,工业、汽车、军工、航天等领域对操作系统的稳定性要求极高,通常要求极低的故障率,该专利技术可以增加这些场景的产品稳定性,提高产品的安全性,增强用户体验,降低了事故带来的损害。

15、下面结合附图和具体实施例对本专利技术作进一步说明。

本文档来自技高网...

【技术保护点】

1.一种微内核操作系统中关键服务防失效方法,其特征在于,所述微内核操作系统包括:IPC通信模块、服务管理器、关键服务、非关键服务和应用程序,所述IPC通信模块处于内核态,所述服务管理器、关键服务、非关键服务和应用程序处于用户态;所述IPC通信模块包括通信点,所述通信点包括主服务IPC和次服务IPC,所述关键服务包括主服务和次服务,其中,所述主服务IPC与所述主服务绑定,所述次服务IPC与所述次服务绑定;

2.根据权利要求1所述的微内核操作系统中关键服务防失效方法,其特征在于,在所述服务管理器检测所述主服务是否失效之前还包括:将所有服务注册到服务管理器中,并设定服务类型为关键服务或非关键服务;将关键服务统一注册到服务管理器中的/sys路径。

3.根据权利要求1所述的微内核操作系统中关键服务防失效方法,其特征在于,在所述主服务未失效的情况下,所述通信点通过所述主服务IPC实现所述应用程序与所述关键服务中的主服务之间的通信,包括:

4.根据权利要求1所述的微内核操作系统中关键服务防失效方法,其特征在于,在所述主服务失效的情况下,所述通信点通过所述次服务IPC实现所述应用程序与所述关键服务中的次服务之间的通信,包括:

...

【技术特征摘要】

1.一种微内核操作系统中关键服务防失效方法,其特征在于,所述微内核操作系统包括:ipc通信模块、服务管理器、关键服务、非关键服务和应用程序,所述ipc通信模块处于内核态,所述服务管理器、关键服务、非关键服务和应用程序处于用户态;所述ipc通信模块包括通信点,所述通信点包括主服务ipc和次服务ipc,所述关键服务包括主服务和次服务,其中,所述主服务ipc与所述主服务绑定,所述次服务ipc与所述次服务绑定;

2.根据权利要求1所述的微内核操作系统中关键服务防失效方法,其特征在于,在所述服务管理器检测所述主服务是否失效...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:中瓴智行成都科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1