微内核操作系统进程间快速通信方法技术方案

技术编号:26845278 阅读:25 留言:0更新日期:2020-12-25 13:07
本发明专利技术提供了一种微内核操作系统进程间快速通信方法。该方法包括:获取通信请求;根据通信请求获取发送进程ID和接收进程ID;根据发送进程ID和接收进程ID获取分配给发送进程的第一地址空间和分配给接收进程的第二地址空间;根据通信请求分别从第一地址空间分配第一进程间通信缓冲区页面、以及从第二地址空间分配第二进程间通信缓冲区页面;根据第一线性地址和第二线性地址在发送进程页表和接收进程页表中找到与缓冲区页面中第一线性地址和第二线性地址相对应的第一物理地址和第二物理地址;在所述发送进程页表和所述接收进程页表中,将第一物理地址和第二物理进行交换,使得第一线性地址和第二线性地址分别对应第二物理地址和第一物理地址。

【技术实现步骤摘要】
微内核操作系统进程间快速通信方法
本专利技术涉及操作系统领域,尤其涉及一种微内核操作系统进程间快速通信方法。
技术介绍
近年来,微内核架构再次成为操作系统领域的研究热点。与宏微内核架构操作系统不同,微内核架构的大多数系统服务是作为用户模式来运行,应用程序要获取系统服务必须经过微内核的通信机制来请求其它处于用户模式的服务程序来提供服务。所以在微内核中进程间通信的频率和信息量远大于宏微内核,而这一点也造成了微内核在性能上表现不佳。微内核提供的唯一协同方式是以消息传递为主的进程间通信来进行协同处理。微内核系统服务不处于同一个地址空间中,需要三个阶段来完成一次通信:模式转换进入内核态,消息的传递过程和模式转换切换回用户模式。微内核中进程间的通信时间消耗可以大致分为两个部分:模式切换和消息传递的过程。由于微内核系统本身的特点,消息传递过程是由软件来完成的。消息传递的方式包括信息复制,信息共享。若需要传递信息的数据量非常巨大,复制信息就会花费大量的时间,从而影响微内核性能的发挥。若采用信息共享的方式则存在信息安全的问题,同时需要复杂的通信控制机制保证信息的安全。一方面会增加微内核本身的代码体量,违背了微内核轻便的出发点,同时复杂的控制机制也会带来较大的时间消耗。所以并不能在微内核中发挥很好的效果。为了微内核发挥更好的性能,亟需一种微内核操作系统进程间快速通信方法。
技术实现思路
本专利技术提供一种微内核操作系统进程间快速通信方法。第一方面,本专利技术实施例提供一种微内核操作系统进程间快速通信方法,其特征在于,包括:获取通信请求;根据所述通信请求获取发送进程ID和接收进程ID,所述发送进程为发送所述通信请求的发送方,所述接收进程为响应所述通信请求处理待处理数据的接收方;根据所述发送进程ID和所述接收进程ID求获取分配给所述发送进程的第一地址空间和分配给所述接收进程的第二地址空间;根据所述通信请求分别从所述第一地址空间分配第一进程间通信缓冲区页面、以及从所述第二地址空间分配所述第二进程间通信缓冲区页面,所述第一进程间通信缓冲区页面与第一线性地址相对应,所述第二进程间通信缓冲区页面与第二线性地址相对应;根据所述第一线性地址和所述第二线性地址在发送进程页表和接收进程页表中找到与缓冲区页面中所述第一线性地址和所述第二线性地址相对应的第一物理地址和第二物理地址,所述发送进程页表用于表示发送进程的进程线性地址和内存物理地址之间映射关系,所述接收进程页表用于表示接收进程的进程线性地址和内存物理地址之间映射关系;在所述发送进程页表和所述接收进程页表中,将所述第一物理地址和所述第二物理进行交换,使得所述第一线性地址和所述第二线性地址分别对应第二物理地址和第一物理地址。第二方面,本专利技术实施例提供一种计算机设备,其特征在于,所述计算机设备包括:存储器,用于存储程序指令;以及处理器,用于执行所述程序指令以使所述计算机设备实现一种微内核操作系统进程间快速通信方法。上述种微内核操作系统进程间快速通信方法通过提出一种适用于微内核通信的基于页面交换的快速消息传递方式来实现为微内核系统中的快速通信。它不通过复制方式,而是直接使用页面交换的方式来完成通信,大大提高了通信过程的效率。同时,对于共享内存中的复杂控制问题,基于页面交换算法中,能够实现在不改变通信双方进程地址空间的同时实现了信息的交换,所以它们访问的范围依然限制在了进程地址空间中,就不存在两个进程同时访问到相同的数据空间而产生数据混乱的问题,很好的解决了内存共享方式中出现的问题。提升了微内核系统进程间的通信效率。附图说明图1为专利技术实施例提供的微内核操作系统进程间快速通信方法流程图。图2为专利技术实施例提供的线性地址与物理页对应关系图。图3为专利技术实施例提供的映射关系示意图。图4为专利技术实施例提供的计算机设备的内部结构示意图。图5为专利技术实施例提供的通信缓冲区与物理地址对应关系图。图中各部分标号201物理页202物理地址210第一线性地址220第二线性地址301第一通信缓冲区页面303第一物理地址302第二通信缓冲区页面304第二物理地址具体实施方式在本专利技术的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。为使得对本专利技术的内容有更清楚及更准确的理解,现将结合附图详细说明。说明书附图示出本专利技术的实施例的示例,其中,相同的标号表示相同的元件。可以理解的是,说明书附图示出的比例并非本专利技术实际实施的比例,其仅为示意说明为目的,并非依照原尺寸作图。请结合参看图1,其为专利技术实施例提供的微内核操作系统进程间快速通信方法流程图。步骤S101,获取通信请求。具体地,通信请求是进程需要其他进程协助处理待处理数据的时候,向微内核发送的要求微内核协助进行进程间通信的请求。当通信发生的时候,发送进程调用发送请求函数通知微内核,有处理待处理数据需要其他进程协助处理。微内核在接收到发送进程发送的通信请求后,根据从发送进程中获取到的接收进程ID,微内核通知该接收进程有来自其他进程的待处理数据需要该进程协助处理。微内核是一种能够提供必要服务的操作系统微内核;这些必要的服务包括任务,线程,进程间通信(IPC,Inter-ProcessCommunication)以及内存管理等等。微内核系统是一种具有很强的扩展性,可以将一些其它操作系统微内核作为微内核系统的应用程序的去中心化的操作系统。所有进程(包括设备驱动)在用户模式下运行,而处理这些进程同处理其他的任何一个程序一样。因为每个进程只是在自己的地址空间运行。所以这些进程之间彼此之间都受到了保护。本文档来自技高网...

【技术保护点】
1.一种微内核操作系统进程间快速通信方法,其特征在于,包括:/n获取通信请求;/n根据所述通信请求获取发送进程ID和接收进程ID,所述发送进程为发送所述通信请求的发送方,所述接收进程为响应所述通信请求处理待处理数据的接收方;/n根据所述发送进程ID和所述接收进程ID获取分配给所述发送进程的第一地址空间和分配给所述接收进程的第二地址空间;/n根据所述通信请求分别从所述第一地址空间分配第一进程间通信缓冲区页面、以及从所述第二地址空间分配所述第二进程间通信缓冲区页面,所述第一进程间通信缓冲区页面与第一线性地址相对应,所述第二进程间通信缓冲区页面与第二线性地址相对应;/n根据所述第一线性地址和所述第二线性地址在发送进程页表和接收进程页表中找到与缓冲区页面中所述第一线性地址和所述第二线性地址相对应的第一物理地址和第二物理地址,所述发送进程页表用于表示发送进程的进程线性地址和内存物理地址之间映射关系,所述接收进程页表用于表示接收进程的进程线性地址和内存物理地址之间映射关系;/n在所述发送进程页表和所述接收进程页表中,将所述第一物理地址和所述第二物理进行交换,使得所述第一线性地址和所述第二线性地址分别对应第二物理地址和第一物理地址。/n...

【技术特征摘要】
1.一种微内核操作系统进程间快速通信方法,其特征在于,包括:
获取通信请求;
根据所述通信请求获取发送进程ID和接收进程ID,所述发送进程为发送所述通信请求的发送方,所述接收进程为响应所述通信请求处理待处理数据的接收方;
根据所述发送进程ID和所述接收进程ID获取分配给所述发送进程的第一地址空间和分配给所述接收进程的第二地址空间;
根据所述通信请求分别从所述第一地址空间分配第一进程间通信缓冲区页面、以及从所述第二地址空间分配所述第二进程间通信缓冲区页面,所述第一进程间通信缓冲区页面与第一线性地址相对应,所述第二进程间通信缓冲区页面与第二线性地址相对应;
根据所述第一线性地址和所述第二线性地址在发送进程页表和接收进程页表中找到与缓冲区页面中所述第一线性地址和所述第二线性地址相对应的第一物理地址和第二物理地址,所述发送进程页表用于表示发送进程的进程线性地址和内存物理地址之间映射关系,所述接收进程页表用于表示接收进程的进程线性地址和内存物理地址之间映射关系;
在所述发送进程页表和所述接收进程页表中,将所述第一物理地址和所述第二物理进行交换,使得所述第一线性地址和所述第二线性地址分别对应第二物理地址和第一物理地址。


2.如权利要求1所述的微内核操作系统进程间快速通信方法,其特征在于,所述第一线性地址和所述第二线性地址分别对应多个物理页。


3.如权利要求1所述的微内核操作系统进程间快速通信方法,其特征在于,将所述第一物理地址和所述第二物理地址进行交换后,所述微内核操作系统进程间快速通信方法还包括:
将所述通信请求发送给所述接收进程,以使所述接收进程通过所述第一物理地址访问所述第一缓冲空间中的待处理数据以进行处理。


4.如权利要求1所述的微内核操作系统...

【专利技术属性】
技术研发人员:田瑞刘朋远李伟窦圣霞
申请(专利权)人:国网宁夏电力有限公司营销服务中心国网宁夏电力有限公司计量中心
类型:发明
国别省市:宁夏;64

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

1