共享内存中的关键数据的处理方法及处理器技术

技术编号:6175877 阅读:306 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种共享内存中关键数据的处理方法,采用在进程访问共享内存前存储进程注册的修复回调函数指针,在进程准备修改共享内存中的关键数据之前记录关键数据的原始值,在进程访问共享内存时异常退出导致共享内存中的关键数据被损坏后,修复共享内存中的关键数据。本发明专利技术提供的关键数据的处理方法,避免了共享内存中的关键数据被损坏后导致整个共享内存中的数据被全部丢弃,提高了共享内存的可靠性。本发明专利技术实施例还提供相应的处理器。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及共享内存中的关键数据的处理方法及处理器O
技术介绍
随着嵌入式系统软件规模的不断扩大,为了提高系统的可靠性,业界大都采用基于多进程的操作系统(如linux,freebsd)代替单进程多线程的操作系统(如vxworks)。 在采用多进程系统之后,马上面临一个系统性能瓶颈——进程间通信的问题;进程间通信就是在不同进程之间传播或交换信息。目前业界普遍采用共享内存的方式来处理进程间通信的问题。共享内存就是被多个进程共享的一块物理内存。如果多个进程都把该共享内存映射到自己的地址空间,这些进程就可以直接访问该共享内存,通过共享内存进行通信。例如,两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,进程B向共享内存中写,进程A从共享内存中读,通过这种方式实现两个进程间的信息交换。进程访问共享内存是在用户态进行的,若进程访问共享内存时异常退出就会通过陷阱机制进入内核态。共享内存中的数据分为两种,一种为关键数据,一种为负载数据。在共享内存中, 数据多是以链表等形式存在的,其中链表的本文档来自技高网...

【技术保护点】
1.共享内存中的关键数据的处理方法,其特征在于,包括:在用户态存储进程注册的修复回调函数的指针后,进程进入共享内存,所述修复回调函数的指针用于在修复共享内存中的已被修改的关键数据时调用修复回调函数;在所述进程准备修改共享内存中的关键数据之前,跟踪记录所述关键数据的原始值,所述关键数据是共享内存中用于数据连接的数据;当进程退出共享内存通过陷阱机制进入内核态后,若进程的标志位指示所述进程使用过所述共享内存,将所述进程送回到用户态,所述陷阱机制就是进程异常退出共享内存后由用户态进入内核态的一段程序,所述标志位用于指示所述进程是否使用过所述共享内存;当有所述跟踪记录的关键数据的原始值,确认到所述共享内...

【技术特征摘要】

【专利技术属性】
技术研发人员:董雪松胡士辉
申请(专利权)人:华为数字技术有限公司
类型:发明
国别省市:11

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

1