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

技术编号:26845279 阅读:20 留言:0更新日期:2020-12-25 13:07
本发明专利技术提供了一种微内核操作系统进程间快速通信方法。该方法包括:将预定进程线性地址空间划分为若干子地址空间;若接收到通信请求,根据若干子地址空间的空闲地址空间分配出源地址和目标地址,源地址所对应的地址空间供发送进程存放将传输给接收进程的数据,发送进程为发出处理通信请求的进程;目标地址所对应的地址空间是分配给接收进程的空白缓冲区,接收进程为处理处理通信请求的进程;将源地址写入发送进程的发送段表,目标地址写入接收进程的接收段表;进程间通信时,将源地址与目标地址进行交换。本发明专利技术还提供了一种应用微内核操作系统进程间快速通信方法的计算机设备。

【技术实现步骤摘要】
微内核操作系统进程间快速通信方法
本专利技术涉及操作系统领域,尤其涉及一种微内核操作系统进程间快速通信方法。
技术介绍
近年来,微内核架构再次成为操作系统领域的研究热点。与宏微内核架构操作系统不同,微内核架构的大多数系统服务都是作为用户模式来运行,应用程序要获取系统服务必须经过微内核的通信机制来请求其它处于用户模式的服务程序来提供服务。所以在微内核中进程间通信的频率和信息量远大于宏微内核,而这一点也造成了微内核在性能上表现不佳。微内核提供的唯一协同方式是以消息传递为主的进程间通信来进行协同。微内核系统服务不处于同一个地址空间中,需要三个阶段来完成一次通信:模式转换进入内核态,消息的传递过程和模式转换切换回用户模式。微内核中进程间的通信时间消耗可以大致分为两个部分:模式切换和消息传递的过程。由于微内核系统本身的特点,消息传递过程是由软件来完成的。消息传递的方式包括信息复制,信息共享。若需要传递信息的数据量非常巨大,复制信息就会花费大量的时间,从而影响微内核性能的发挥。若采用信息共享的方式则存在信息安全的问题,同时需要复杂的通信控制机制保证信息的安全。一方面会增加微内核本身的代码体量,违背了微内核轻便的出发点,同时复杂的控制机制也会带来较大的时间消耗。所以并不能在微内核中发挥很好的效果。为了微内核发挥更好的性能,亟需一种微内核操作系统进程间快速通信方法。
技术实现思路
本专利技术提供一种微内核操作系统进程间快速通信方法。第一方面,本专利技术实施例提供一种微内核操作系统进程间快速通信方法,其特征在于,包括:将预定进程线性地址空间划分为若干子地址空间,根据段表将所述若干子地址空间与若干子线性地址一一对应,所述段表是存放各进程中子地址空间与线性地址对应关系的表;若接收到通信请求,根据所述若干子地址空间的空闲地址空间分配出源地址和目标地址,所述源地址所对应的地址空间供发送进程存放将传输给接收进程的数据,所述发送进程为发出所述处理通信请求的进程;所述目标地址所对应的地址空间是分配给接收进程的空白缓冲区,所述接收进程为处理所述处理通信请求的进程;将所述源地址写入所述发送进程的发送段表,所述目标地址写入所述接收进程的接收段表;进程间通信时,将所述源地址与所述目标地址进行交换。第二方面,本专利技术实施例提供一种计算机设备,其特征在于,所述计算机设备包括:存储器,用于存储程序指令;以及处理器,用于执行所述程序指令以使所述计算机设备实现一种微内核操作系统进程间快速通信方法。上述微内核操作系统进程间快速通信方法通过提出一种适用于微内核通信的基于段基地址交换的快速消息传递方式来实现微内核系统中的快速通信。它不通过复制方式,而是直接使用段表中段基地址交换的方式来完成通信,大大提高了通信过程的效率。除此之外,该算法还能打破分页机制映射限制中最小细粒度为4K大小的限制,为系统提供更小细粒度的通信数据量的选择,能够更加充分的应用系统内存。利用微内核操作系统进程间快速通信方法为不同进程分配的不同地址空间进行待处理数据的传递,就不存在两个进程同时访问到相同的数据空间而产生数据混乱的问题,很好的解决了内存共享方式中出现的问题。提升了微内核系统进程间的通信效率。附图说明图1为专利技术实施例提供的微内核操作系统进程间快速通信方法流程图。图2为专利技术实施例提供的进程间通信段基地址分配图。图3为专利技术实施例提供的交换地址流程示意图。图4为专利技术实施例提供的计算机设备的内部结构示意图。图5为专利技术实施例提供的逻辑地址、线性地址和物理地址对应关系图。图6为专利技术实施例提供的子地址空间与子线性地址对应关系图。图7为专利技术实施例提供的源地址、目标地址与发送进程、接收进程示意图。图中各部分标号201通信请求202分配指令203填充指令204局部描述符表210进程211进程间通信管理212内存213进程间通信缓冲区基地址501第一FS段502第二FS段170子地址空间171子线性地址172子线性地址偏移量173子线性地址空间174发送进程175接收进程180空闲地址空间A181空闲地址空间B177源地址178目标地址具体实施方式在本专利技术的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。请结合参看图1,其为专利技术实施例提供的微内核操作系统进程间快速通信方法流程图。步骤S101,将预定进程线性地址空间划分为若干子地址空间,根据段表将若干子地址空间与若干子线性地址一一对应,段表是存放各进程中子地址空间与线性地址对应关系的表。具体地,微内核系统在初始化时,会为进程间通信预留一个进程线性地址和与其对应的物理页面,这个进程线性地址是不会被进程所使用的,而物理页面可以是任何空闲页面。根据预设的规则将进程线性地址空间划分为若干子地址空间,预设的规则可以是根据常见的数据处理的大小,直接将预定进程线性地址空间划分成指定大小的子地址空间,也可以是根据微内核的其他划分规则将预定进程线性地址空间划分为若干子地址空间。在微内核操作系统中,每个进程或程序都有一个或多个逻辑段,为使程序或称进程能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,在系统中为每个进程建立一张段映射表,简称段表,段表记录了进程中每一个段在内存中的起始地址(又称为“基址”)、段号和段的长度。根据段表将若干子地址空间与若干子线性地址一一对应,段表是存放各进程中子地址空间与线性地址对应关系的表。一个子地址空间对应一个干子线性地址,如图6所示,子地址空间A170与子线性地址空间173对应,子线性地址空间173是由子线性地A171加上子线性地址偏移量172(也就是段长),共同构成的对应。在逻辑地址中子地址空间170是与线性地址中子线性地址171和子线性地址偏移量172共同构成的子线性地址空间173一一对应。步骤S103,若接收到通信请求,根据若干子地址空间的空闲地址空间分配出源地址和目标地址,源地址所对应的地址空间供发送进程存放将传输给接收进程的数据,发送进程为发出处理通信请求的进程;目标地址所对应的地址空间是分配给接收进程的空白缓冲区,接收进程为处理处理通信请求的进程。具体地,如图7所示,从若干子地址空间的空闲地址空间分本文档来自技高网...

【技术保护点】
1.一种微内核操作系统进程间快速通信方法,其特征在于,包括:/n将预定进程线性地址空间划分为若干子地址空间,根据段表将所述若干子地址空间与若干子线性地址一一对应,所述段表是存放各进程中子地址空间与线性地址对应关系的表;/n若接收到通信请求,根据所述若干子地址空间的空闲地址空间分配出源地址和目标地址,所述源地址所对应的地址空间供发送进程存放将传输给接收进程的数据,所述发送进程为发出所述处理通信请求的进程;所述目标地址所对应的地址空间是分配给接收进程的空白缓冲区,所述接收进程为处理所述处理通信请求的进程;/n将所述源地址写入所述发送进程的发送段表,所述目标地址写入所述接收进程的接收段表;/n进程间通信时,将所述源地址与所述目标地址进行交换。/n

【技术特征摘要】
1.一种微内核操作系统进程间快速通信方法,其特征在于,包括:
将预定进程线性地址空间划分为若干子地址空间,根据段表将所述若干子地址空间与若干子线性地址一一对应,所述段表是存放各进程中子地址空间与线性地址对应关系的表;
若接收到通信请求,根据所述若干子地址空间的空闲地址空间分配出源地址和目标地址,所述源地址所对应的地址空间供发送进程存放将传输给接收进程的数据,所述发送进程为发出所述处理通信请求的进程;所述目标地址所对应的地址空间是分配给接收进程的空白缓冲区,所述接收进程为处理所述处理通信请求的进程;
将所述源地址写入所述发送进程的发送段表,所述目标地址写入所述接收进程的接收段表;
进程间通信时,将所述源地址与所述目标地址进行交换。


2.如权利要求1所述的微内核操作系统进程间快速通信方法,所述发送进程或者所述接收进程分别包括第一FS段或者第二FS段,其特征在于,还包括:
对应设置所述第一FS段或者第二FS段为第一FS值或者第二FS值,所述第一FS值或者所述第二FS值分别与所述源地址或者所述目标地址一一对应,其中,所述发送进程通过所述第一FS值可访问所述目标地址所对应的地址空间;所述接收进程通过所述第二FS可访问所述源地址所对应的地址空间。


3.如权利要求1所述的微内核操作系统进程间快速通信方法,其特征在于,进程间通信时,将所述目标地址与所述源地址进行交换前,具体包括:
比较所述源地址和所述目标地址是否相同;
若不相同,将所述源地址和所述目标地址进行交换;或者
若相同,终止所述发送进程和所述接收进程...

【专利技术属性】
技术研发人员:刘朋远田瑞刘亮张茜歌张洁樊博马智强严绍奎
申请(专利权)人:国网宁夏电力有限公司营销服务中心国网宁夏电力有限公司计量中心北京智芯微电子科技有限公司
类型:发明
国别省市:宁夏;64

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

1