System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种进程间数据传输方法及显示设备技术_技高网

一种进程间数据传输方法及显示设备技术

技术编号:41236546 阅读:6 留言:0更新日期:2024-05-09 23:50
本申请提供一种进程间数据传输方法及显示设备,在需要从第一进程向第二进程传输目标数据时,在内核空间申请第一物理内存,并且记录第一物理内存的第一物理地址。然后生成同步信号,将该同步信号发送至第一进程,第一进程响应于该同步信号,基于第一物理地址将目标数据写入第一物理内存。目标数据写入第一物理内存之后,将同步信号发送至第二进程,第二进程响应于该同步信号,基于第一物理地址从第一物理内存读取目标数据。这样,第一进程既不需要将目标数据拷贝至内核空间,第二进程也不需要从内核空间中拷贝目标数据,也就是说整个数据传输过程均不需要拷贝数据,也不需要检查源端数据的合法性,从而提升进程间数据传输的速度。

【技术实现步骤摘要】

本专利技术涉及显示设备,尤其涉及一种进程间数据传输方法及显示设备


技术介绍

1、在android的操作系统中,由于内存虚拟化,不同进程可访问的内存区域被隔离,以使确保不同的进程之间不会相互干预。由于虚拟化内存机制的存在,两个不同进程之间的数据传递,即ipc(inter-process communication,进程间通信),必须借助相关机制完成。其中,android系统自行建立了一套ipc机制,即binder机制。

2、在binder机制中,进程之间传输数据,需要先从发送数据进程的虚拟地址(存在于用户空间)将数据拷贝到内核空间的虚拟地址中。由于两个虚拟地址对应的虚拟内存,并不实际对应同一块物理内存,因此这里需要真正拷贝,即调用copy_from_user函数进行数据拷贝。然后接收数据进程通过mmap函数直接映射到物理内存上,因此接收数据进程获取数据无需再次拷贝。

3、但是,每次内核空间从用户空间拷贝数据时,copy_from_user函数都需要检查用户空间指针,来确定源端地址的合法性,造成进程间数据传输缓慢。


技术实现思路

1、本申请提供一种进程间数据传输方法及显示设备,以解决每次内核空间从用户空间拷贝数据时,copy_from_user函数都需要检查用户空间指针,来确定源端地址的合法性,造成进程间数据传输缓慢的问题。

2、第一方面,本申请一些实施例提供一种显示设备,包括:

3、显示器;

4、控制器,被配置为:

5、在需要从第一进程向第二进程传输目标数据时,在内核空间申请第一物理内存,并且记录所述第一物理内存的第一物理地址;

6、生成同步信号,并且将所述同步信号发送至所述第一进程,以使所述第一进程响应于所述同步信号,基于所述第一物理地址将所述目标数据写入所述第一物理内存;

7、将所述同步信号发送至所述第二进程,以使所述第二进程响应于所述同步信号,基于所述第一物理地址从所述第一物理内存读取所述目标数据。

8、第二方面,本申请一些实施例提供一种进程间数据传输方法,所述方法包括:

9、在需要从第一进程向第二进程传输目标数据时,在内核空间申请第一物理内存,并且记录所述第一物理内存的第一物理地址;

10、生成同步信号,并且将所述同步信号发送至所述第一进程,以使所述第一进程响应于所述同步信号,基于所述第一物理地址将所述目标数据写入所述第一物理内存;

11、将所述同步信号发送至所述第二进程,以使所述第二进程响应于所述同步信号,基于所述第一物理地址从所述第一物理内存读取所述目标数据。

12、由以上技术方案可知,上述实施例提供的显示设备及进程间数据传输方法,在需要从第一进程向第二进程传输目标数据时,在内核空间申请第一物理内存,并且记录第一物理内存的第一物理地址。然后生成同步信号,将该同步信号发送至第一进程,第一进程响应于该同步信号,基于第一物理地址将目标数据写入第一物理内存。目标数据写入第一物理内存之后,将同步信号发送至第二进程,第二进程响应于该同步信号,基于第一物理地址从第一物理内存读取目标数据。这样,第一进程既不需要将目标数据拷贝至内核空间,第二进程也不需要从内核空间中拷贝目标数据,也就是说整个数据传输过程均不需要拷贝数据,也不需要检查源端数据的合法性,从而提升进程间数据传输的速度。

本文档来自技高网
...

【技术保护点】

1.一种显示设备,其特征在于,包括:

2.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行记录所述第一物理内存的第一物理地址之后,还被配置为:

3.根据权利要求2所述的显示设备,其特征在于,如果所述第一进程需要使用物理地址对数据进行读写操作,所述基于所述第一物理地址将所述目标数据写入所述第一物理内存,包括:

4.根据权利要求2所述的显示设备,其特征在于,如果所述第二进程需要使用物理地址对数据进行读写操作,所述基于所述第一物理地址从所述第一物理内存读取所述目标数据,包括:

5.根据权利要求2所述的显示设备,其特征在于,在内核空间申请第一物理内存的进程为内存管理进程,所述控制器在执行创建第一虚拟地址和所述第一物理地址之间的第一映射关系,并且创建第二虚拟地址和所述第一物理地址之间的第二映射关系,被配置为:

6.根据权利要求1所述的显示设备,其特征在于,所述第一物理内存的第一物理地址为连续物理内存地址。

7.根据权利要求6所述的显示设备,其特征在于,所述控制器在执行在内核空间申请第一物理内存,被配置为:p>

8.根据权利要求2所述的显示设备,其特征在于,所述显示设备的系统中存储有映射表,所述映射表中至少包括一个映射关系,在创建第一虚拟地址和所述第一物理地址之间的第一映射关系,并且创建第二虚拟地址和所述第一物理地址之间的第二映射关系之前,所述控制器,还被配置为:

9.根据权利要求1所述的显示设备,其特征在于,在所述第二进程从所述第一物理内存读取所述目标数据完成之后,所述控制器,还被配置为:

10.一种进程间数据传输方法,其特征在于,所述方法包括:

...

【技术特征摘要】

1.一种显示设备,其特征在于,包括:

2.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行记录所述第一物理内存的第一物理地址之后,还被配置为:

3.根据权利要求2所述的显示设备,其特征在于,如果所述第一进程需要使用物理地址对数据进行读写操作,所述基于所述第一物理地址将所述目标数据写入所述第一物理内存,包括:

4.根据权利要求2所述的显示设备,其特征在于,如果所述第二进程需要使用物理地址对数据进行读写操作,所述基于所述第一物理地址从所述第一物理内存读取所述目标数据,包括:

5.根据权利要求2所述的显示设备,其特征在于,在内核空间申请第一物理内存的进程为内存管理进程,所述控制器在执行创建第一虚拟地址和所述第一物理地址之间的第一映射关系,并且创建第二虚拟地址和所述第一物理地址...

【专利技术属性】
技术研发人员:卢平光吴汉勇李靖靖
申请(专利权)人:海信视像科技股份有限公司
类型:发明
国别省市:

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

1