本申请属于通信,尤其涉及一种基于微内核系统的进程间通信方法、装置、设备及介质。
背景技术:
1、在对应用软件进行开发的过程中,需要多个进程相互协作才能提供完整的功能,多个进程相互协助需要借助操作系统的进程间通信(inter-process communication,ipc)。在宏内核操作系统中,可采用socket通信实现进程间通信。socket通信需要借助网络协议栈在用户(即client)进程和服务(即server)进程之间搭建通信链接,使得进程之间可使用socket进行通信。
2、但在微内核操作系统(简称为微内核系统)中,驱动、网络协议栈、文件系统等系统级服务都放到了用户空间实现,成为了独立的系统服务进程。在微内核系统中,用户进程与网络协议栈的底层通信问题以及服务进程与网络协议栈的底层通信问题无法解决,无法通过网络协议栈在用户进程和服务进程之间建立通信连接,即,用户进程与服务进程在微内核系统中无法进行进程间通信。
技术实现思路
1、本申请实施例提供一种基于微内核系统的进程间通信方法、装置、设备及介质,能够实现用户进程与服务进程在微内核系统中的进程间通信。
2、第一方面,本申请实施例提供一种基于微内核系统的进程间通信方法,包括:通过特权进程根据从普通进程接收到的创建管理连接请求,在内核空间内建立特权进程的特权管理端点与普通进程的普通管理端点的管理连接,普通进程包括服务进程和用户进程;通过特权进程为服务进程和用户进程分别在内核空间内创建业务端点,并通过特权管理端点和普通管理端点向服务进程和用户进程反馈业务端点的端点标识和权能句柄;通过特权进程根据业务端点的端点标识和权能句柄,将服务进程的业务端点的权能派生给用户进程以及将用户进程的业务端点的权能派生给服务进程,以建立用户进程与服务进程的业务通信连接。
3、第二方面,本申请实施例提供一种基于微内核系统的进程间通信装置,包括:管理连接建立模块,用于通过特权进程根据从普通进程接收到的创建管理连接请求,在内核空间内建立特权进程的特权管理端点与普通进程的普通管理端点的管理连接,普通进程包括服务进程和用户进程;业务端点建立模块,用于通过特权进程为服务进程和用户进程分别在内核空间内创建业务端点,并通过特权管理端点和普通管理端点向服务进程和用户进程反馈业务端点的端点标识和权能句柄;业务通信连接建立模块,用于通过特权进程根据业务端点的端点标识和权能句柄,将服务进程的业务端点的权能派生给用户进程以及将用户进程的业务端点的权能派生给服务进程,以建立用户进程与服务进程的业务通信连接。
4、第三方面,本申请实施例提供一种电子设备,包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面的基于微内核系统的进程间通信方法。
5、第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的基于微内核系统的进程间通信方法。
6、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现第一方面的基于微内核系统的进程间通信方法。
7、本申请实施例提供一种基于微内核系统的进程间通信方法、装置、设备及介质,用户空间设置有特权进程和普通进程,特征进程可根据普通进程发起的创建管理连接请求,在内核空间建立特权进程的特权管理端点与普通进程的普通管理端点的管理连接,管理连接建立后,普通进程可与特征进程进行双向通信。通过普通进程与特征进程之间的管理连接,特权进程可为服务进程和用户进程在内核空间内创建业务端点,并给予服务进程和用户进程的业务端点的端点标识和权能句柄。特权进程可根据业务端点的端点标识和权能句柄,将服务进程的业务端点的权能和用户进程的业务端点的权能派生给对方,建立用户进程与服务进程的双向的业务通信连接,从而实现用户进程与服务进程在微内核系统中的进程间通信。
1.一种基于微内核系统的进程间通信方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述通过特权进程根据从普通进程接收到的创建管理连接请求,在内核空间内建立特权进程的特权管理端点与普通进程的普通管理端点的管理连接之前,还包括:
3.根据权利要求1所述的方法,其特征在于,在所述通过特权进程根据从普通进程接收到的创建管理连接请求,在内核空间内建立特权进程的特权管理端点与普通进程的普通管理端点的管理连接之前,还包括:
4.根据权利要求1所述的方法,其特征在于,所述通过特权进程根据业务端点的端点标识和权能句柄,将服务进程的业务端点的权能派生给用户进程以及将用户进程的业务端点的权能派生给服务进程,包括:
5.根据权利要求1所述的方法,其特征在于,在建立用户进程与服务进程的业务通信连接之后,还包括:
6.根据权利要求5所述的方法,其特征在于,普通进程具有表征业务通信连接的第一数据结构,所述第一数据结构包括连接标识、连接标识对应的所述第一进程的业务端点的权能句柄以及连接标识对应的所述第二进程的业务端点的权能句柄;
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.根据权利要求5所述的方法,其特征在于,在所述第一进程发送消息的情况下,消息携带有所述第一进程的内核对象的权能句柄以及内核对象的派生属性;
10.根据权利要求9所述的方法,其特征在于,特权进程对应设置有权能表,普通进程对应设置有权能表,权能表中的每个表项保存一个内核对象的权能;
11.一种基于微内核系统的进程间通信装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:处理器以及存储有计算机程序指令的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1至10中任意一项所述的基于微内核系统的进程间通信方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至10中任意一项所述的基于微内核系统的进程间通信方法。