CN101178672A - 多核处理器共享代码段补丁方法及装置 - Google Patents
多核处理器共享代码段补丁方法及装置 Download PDFInfo
- Publication number
- CN101178672A CN101178672A CNA2007101716748A CN200710171674A CN101178672A CN 101178672 A CN101178672 A CN 101178672A CN A2007101716748 A CNA2007101716748 A CN A2007101716748A CN 200710171674 A CN200710171674 A CN 200710171674A CN 101178672 A CN101178672 A CN 101178672A
- Authority
- CN
- China
- Prior art keywords
- patch
- vcpu
- code segment
- professional
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明实施例公开了一种多核处理器共享代码段补丁方法,具体为:开放对预置的代码补丁区和共享代码段的访问权限,向业务vCPU发送补丁同步消息;查看所述业务vCPU是否全部完成同步;若全部完成同步则进行补丁操作。本发明实施例还公开了一种多核处理器共享代码段补丁装置,包括:权限控制单元、发送单元、控制单元。本发明实施例通过同步多业务vCPU的方法,解决了多核CPU补丁操作的可靠性,来实现了多核处理器共享代码段情况下的补丁技术。
Description
技术领域
本发明涉及计算机领域,尤其涉及多核处理器共享代码段补丁方法及装置。
背景技术
在计算机系统运行过程中经常需要进行打补丁操作。补丁功能的主要目的是为了能够在系统运行过程中可以在线地维护和修改其代码,而不影响正常业务的运行,从而实现主机系统代码的动态升级。
下面以MIPS(Microcumputer without interlocked pipeline stages一种典型的指令系统)处理器为例介绍具体的打补丁的工作原理,如图1所示,为了使用新的函数替换原来的函数,也就是进行打补丁操作,需要修改原函数的起始指令,使之跳转到位于补丁区的新函数,当新函数执行完成之后直接返回到调用原函数的主函数,这样就可以实现基于函数级的代码补丁操作。
由于目前处理器的技术大部分使用了流水线技术。对图1的MIPS处理器,由于使用流水线技术,进行指令跳转时存在延迟槽(实际执行时会执行延迟槽指令,再执行跳转指令),所以在修改函数指令使之实现跳转操作时必须同时修改两条指令,即就该使用空指令NOP作为延迟槽指令、以及修改跳转指令才能实现打补丁操作。
因为补丁操作需要同时修改两条指令,且不能在代码已经执行了第1条指令的情况下进行指令修改。这对多任务操作环境和多核处理器且共享代码段的情况下的补丁操作提出了较高的要求。
为了解决上述提到的问题,一个最简单的方法就是在进行系统设计时从整体实现上加以保证,即使用单任务操作环境,或者使待打补丁的代码与打补丁函数本身位于同一个任务中。下面分别分析单任务运行环境下和多任务环境下的两种情况:
1、在单任务运行环境下,如果执行打补丁操作,其他的操作自然会停止执行,即系统中不可能运行将被打补丁函数的指令。
2、如果在系统中必须使用多任务环境,可以采用变通的方法,即让需要打补丁的函数与实施打补丁操作的函数在同一个任务中。举例如下:如果系统仅需要对消息处理的相关函数进行补丁操作,可以将打补丁操作的函数也作为一个消息的处理函数,用消息的方式触发补丁操作,由于消息处理本身的异步性就可以保证在打补丁操作时不可能执行其他的消息处理函数,再通过禁任务、禁中断等方式禁止其他操作的进行,从而可以方便地实现补丁操作。也就是说如果需要在真正的多任务环境下进行补丁操作,由于多任务环境本质上是由一个CPU(Central Processing Unit,中央处理器)进行分时操作完成多任务处理,可以通过锁任务、锁中断实现补丁操作;并进一步通过检查各任务上下文等其他手段来检查当前各任务是否处于待打补丁函数的前两条指令状态从而决策当前是否可以进行补丁操作。
虽然以上两种方法能够在一定程度上解决打补丁的问题,但是需要系统设计时加以保证,降低了系统设计的灵活性;无法使用多任务环境或者导致打补丁的范围受限。
由于多核处理器本身就是多vCPU的并行处理方式,对于在多核处理器中且共享代码段的情况下,由于存在多vCPU共同执行同一段代码,但各vCPU又使用独立的私有数据(包括任务上下文)的情况,在打补丁时难以保证补丁操作完成性,而且由于各个vCPU的独立性,给共享代码打补丁的vCPU难以查看其他vCPU的当前执行状态。
因此以上技术中虽然实现了单CPU多任务环境下的补丁操作,但仍无法解决多核处理器在共享代码段时的补丁操作。
发明内容
本发明要解决的技术问题是在多核处理器共享代码段补丁方法,实现该方法的具体过程为:
开放对预置的代码补丁区和共享代码段的访问权限,向业务vCPU发送补丁同步消息;
查看所述业务vCPU是否全部完成同步;
若全部完成同步则进行补丁操作。
本发明实施例提供了一种多核处理器共享代码段补丁装置,该装置包括:
权限控制单元,用于开放对预置的代码补丁区和共享代码段的访问权限;
发送单元,用于向业务vCPU发送补丁同步消息。
控制单元,用于查看所述业务vCPU是否全部同步完成,若全部完成则进行补丁操作。
本发明实施例提供了一种多核处理器共享代码段补丁方法,该方法具体为:
接收补丁同步消息;
设置标记变量为同步状态并发送给控制vCPU;
刷新快速缓冲贮存区,并通知控制vCPU所述的刷新完成,开始正常的业务处理。
本发明实施例提供了一种多核处理器共享代码段补丁装置,该装置包括:
接收单元,用于接收控制vCPU发送的补丁同步消息和补丁操作完成通知;
操作单元,用于设置标记变量为同步状态并发送给所述控制vCPU;刷新快速缓冲贮存区,并通知控制vCPU所述的刷新快速缓冲贮存区完成,开始正常的业务处理。
本发明实施例提供了一种多核处理器共享代码段补丁方法,预置两个代码补丁区和共享代码段,该方法具体为:
控制vCPU开放对预置的第一代码补丁区和第一共享代码段的访问权限;
控制vCPU对所有业务vCPU未使用的预置的第一代码补丁区和第一共享代码段进行补丁操作。
本发明实施例提供了一种多核处理器共享代码段补丁装置,该装置包括:
第一权限控制单元,用于开放对预置的第一代码补丁区和第一共享代码段的访问权限;
第一操作单元,用于对所有业务vCPU未使用的预置的第一代码补丁区和第一共享代码段进行补丁操作。
本发明实施例提供了一种多核处理器共享代码段补丁方法,该方法具体为:
接收控制vCPU发送的补丁操作完成消息,并切换至进行过补丁操作的第一共享代码区及补丁区,向控制vCPU发送快速缓冲贮存区刷新完成信息。
本发明实施例提供了一种多核处理器共享代码段补丁装置,该装置包括:
第一接收单元,用于接收控制vCPU发送的补丁操作完成消息;
第二操作单元,用于切换至进行过补丁操作的第一共享代码区及补丁区,向控制vCPU发送快速缓冲贮存区刷新完成信息。
综上所述,本发明实施例通过同步多业务vCPU的方法,解决了多核CPU补丁操作的可靠性,来实现了多核处理器共享代码段情况下的补丁技术。并且通过划分两个共享代码段和两个代码补丁区,避免了多vCPU情况下对各业务vCPU同时暂停等待补丁操作完成的局限性,进一步的可以加强了补丁操作的可靠性。
附图说明
图1为打补丁的工作原理图;
图2为本发明实施例1补丁区示意图;
图3为本发明实施例1方法流程图;
图4为本发明实施例2装置结构图;
图5为本发明实施例3装置结构图;
图6为本发明实施例4补丁区示意图;
图7为本发明实施例4方法流程图;
图8为本发明实施例5装置结构图;
图9为本发明实施例6装置结构图。
具体实施方式
实施例1,本发明实施例应用于多核处理器,即vCPU(Virtual CPU,虚拟CPU)0运行vxWorks(VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统)作为控制vCPU,管理系统的公共资源并对其他业务vCPU进行管理监控;其他业务vCPU运行单任务的OS(Operations System,操作系统)完成高效的用户数据处理,后面我们简称业务vCPU。除vCPU0之外的其他vCPU采用共享代码段的模式,即所有业务vCPU通过TLB(Translation Lookaside Buffers,转换旁视缓冲区)映射的方式使用物理内存上的同一份代码,但每个vCPU使用独立的数据段,以保证各业务vCPU业务处理的独立性。也就是说TLB中存储有共享代码区的虚拟地址、存储该虚拟地址对应的共享代码段的实际物理地址、每个vCPU独立数据段的虚拟地址及其对应的实际物理地址。
本发明实施例为了在多核处理器共享代码段的情况下实现补丁操作,首先需要在系统启动加载时预留补丁区。预留补丁区分为补丁区和数据区,前者与TLB中的共享代码区相关,即一个补丁区对应一个虚拟的共享代码区的地址,后者与vCPU相关,即一个业务vCPU设置一个数据补丁区。如图2所示,补丁区中有代码补丁区和共享代码段,共享代码段存储所有共享的代码,而代码补丁区存储需要更新的代码,当执行补丁操作时,修改共享代码段的指令,跳转至代码补丁区执行完毕后再返回共享代码段。
为了实现控制vCPU0的VxWork上对其他业务vCPU对应的共享代码段进行补丁操作,需要提供接口函数完成在控制vCPU0上动态添加共享代码段及数据段的TLB设置,也就是调用共享代码空间访问使能接口,开放控制vCPU0对业务vCPU共享代码区和补丁区的权限。由于共享代码段运行于多vCPU之上,为了保证各vCPU均未运行被打补丁的函数,在对运行该共享代码的所有VCPU进行补丁操作时需要进行同步并停留在某个特殊的打补丁起点,然后才能进行打补丁操作。
参见图3,下面详细介绍本发明实施例的实现过程:
步骤301:控制vCPU0开放代码补丁区和共享代码段的访问权限,向业务vCPU发送补丁同步消息;
由于业务线程在设计中是按单任务运行,只要通过消息触发即可保证业务线程一定不会运行将要打补丁的函数。
步骤302:业务vCPU收到补丁同步消息后进入等待打补丁状态,并通知控制vCPU0进入同步状态;
步骤302中提到的通知控制vCPU0进入同步状态的方法可以为设置业务vCPU标记变量为同步状态;
步骤303:控制vCPU0查看业务vCPU是否全部完成同步;此处提到的查看业务CPU是否全部同步完成的方法可以为检测业务vCPU设置标记变量为是否同步状态;若全部完成则进行补丁操作。
补丁操作可以为:修改共享代码段的指令跳转至代码补丁区中执行补丁代码,执行完所述的补丁代码后返回共享代码段。
在执行该步骤的过程中可能出现特殊情况,也就是说当某个或某些业务vCPU操作超时,控制CPU0可以通过设置标记变量使已同步的vCPU退出等待补丁操作状态,继续业务处理;
步骤304:控制vCPU0通过访问共享代码区及代码补丁区,完成补丁操作;并通知业务vCPU补丁操作完成。
该步骤304中提到的通知业务vCPU补丁操作完成的方法可以为设置补丁操作变量为完成状态。
步骤305:业务vCPU接收到控制vCPU发出的补丁操作完成通知后,刷新CORE(内核)内L1的Cache(快速缓冲贮存区),并通知控制vCPU所述的刷新完成,开始正常的业务处理。
该步骤305中提到刷新应当为各个业务vCPU依次进行刷新,只有当前面的业务vCPU超时未完成时才由后面的业务vCPU进行尝试刷新。并通知控制vCPU0刷新完成的方法可以为业务vCPU设置标记变量为完成状态。
步骤306:控制vCPU0接收到业务vCPU发送的CORE内L1的Cache刷新完成通知后,取消对共享代码段和代码补丁区的访问权限。
实施例2,对应于实施例1的方法,本发明实施例还提供了一种多核处理器共享代码段补丁装置,参见图4该装置包括:
权限控制单元401,用于代码补丁区和共享代码段;
发送单元402,用于向业务vCPU发送补丁同步消息;
控制单元403,用于查看业务vCPU是否全部同步完成;若全部完成则进行补丁操作。
所述的发送单元402还可以进一步用于通知业务vCPU补丁操作完成。
本装置还可以进一步包括接收单元404,用于接收业务vCPU发送的Cache刷新完成通知;
权限控制单元401进一步用于取消业务vCPU对共享补丁区和共享代码段的访问权限。
以上提到的的控制单元查看业务vCPU是否全部同步完成具体为查看业务vCPU是否设置标记变量为同步状态。
以上提到的所述的发送/接收单元通知业务vCPU补丁操作完成具体为设置补丁操作变量为完成状态。
实施例3,对应于实施例1的方法,本发明实施例还提供了一种多核处理器共享代码段补丁装置,参见图5该装置包括:
接收单元501,用于接收补丁同步消息;接收控制vCPU0发出的补丁操作完成通知;
操作单元502,用于设置标记变量为同步状态;刷新CORE内L1的Cache,并通知控制vCPU0所述的刷新完成,开始正常的业务处理。
以上提到的操作单元通知控制vCPU0刷新完成具体为业务vCPU设置标记变量为完成状态。
实施例4,可以使用两份共享代码段和对应的两份代码补丁区。这样在对业务vCPU软件进行补丁操作时,可以轮流对两份代码对应的补丁区进行补丁操作(在补丁操作之后,使两份代码补丁区及对应的共享代码段保持完全一致)。当进行补丁操作时,首先对当前业务vCPU未使用的共享代码段及代码补丁区进行补丁操作,然后对某个或所有vCPU发消息使该vCPU的代码段TLB表项指向已打补丁的代码段,并刷新指令Cache,即可完成打补丁操作。补丁区具体结构如图6所示:设置两个代码补丁区和共享代码段,每个业务vCPU对应一个数据补丁区和数据区。
参见图7,该方法实现方法为:
步骤701:控制vCPU0开放对共享代码段及代码补丁区的访问权限;
步骤702:控制vCPU0对所有业务vCPU未使用的第一共享代码段及第一代码补丁区进行补丁操作。
至此完成了对第一共享代码段及第一代码补丁区的补丁操作,为了进一步实现对业务vCPU的刷新,可以进一步执行步骤703;
步骤703:控制vCPU0完成补丁操作后,向业务vCPU发送补丁操作完成消息,通知业务vCPU切换至进行过补丁操作的第一共享代码区及第一代码补丁区;并接收业务vCPU的Cache刷新完成信息。
此步骤703中提到的,接收业务CPU的刷新完成信息可以为业务vCPU执行Cache刷新完成后,设置标记变量为完成状态。
并且控制vCPU0还可以只向业务vCPU其中之一发送补丁操作完成消息,待该业务vCPU切换至进行过补丁操作的第一共享代码区及补丁区;并接收业务vCPU的Cache刷新完成信息,验证该补丁没有问题后,进一步向其他业务vCPU发送补丁操作完成消息。
为了方便下一次的补丁操作,还可以进一步执行步骤704:
步骤704:当所有业务vCPU都已经切换至进行过补丁操作的第一共享代码段及共享补丁区后,控制vCPU0将预置的第二共享代码段及代码补丁区的内容更新成第一共享代码段及代码补丁区的内容。
实施例5,对应于实施例4的方法,本发明实施例还提供了一种多核处理器共享代码段补丁装置,参见图8该装置包括:
第一权限控制单元801,用于开放共享代码段及代码补丁区的访问权限;
第一操作单元802,用于对所有业务vCPU未使用的预置得第一共享代码段及第一代码补丁区进行补丁操作。
通知单元803,用于向业务vCPU发送补丁操作完成消息,通知业务vCPU切换至进行过补丁操作的第一共享代码段及第一代码补丁区;并接收业务vCPU的Cache刷新完成信息。
为了方便下一次的补丁操作,第一操作单元801还可以进一步用于当所有业务CPU都已经切换至进行过补丁操作的第一共享代码段及第一代码补丁区后,将预置的第二共享代码段及第二代码补丁区的内容更新成第一共享代码段及第一代码补丁区的内容。
通知单元接收业务CPU的刷新完成信息可以为,业务CPU执行Cache刷新完成后,设置标记变量为完成状态。
实施例6,对应于实施例4的方法,本发明实施例还提供了一种多核处理器共享代码段补丁装置,参见图9该装置包括:
第一接收单元901,用于接收控制vCPU发送的补丁操作完成消息;
第二操作单元902,用于切换至进行过补丁操作的第一共享代码段及第一代码补丁区,向控制vCPU0发送Cache刷新完成信息。
第二操作单元向控制vCPU0发送Cache刷新完成信息具体为设置标记变量为完成状态。
本发明实施例1至实施例3,通过所有业务vCPU同步,将消息停在打补丁的入口,然后进行补丁操作,避免了某一vCPU进行补丁操作时其他业务vCPU使用被打补丁函数,从而使得多核处理器共享代码段的情况下,保证了补丁操作的完整性。
本发明实施例4至实施例6,通过划分两个共享代码段和两个代码补丁区,避免了多vCPU情况下对各业务vCPU同时暂停等待补丁操作完成的局限性,进一步的可以加强了补丁操作的可靠性。
以上本发明实施例提出的在多核处理器共享代码段情况下的补丁技术本质上并不局限于共享代码段的情况,如果在多核处理器应用中,每个vCPU均是用独立的映像(相当于共享代码段只在一个vCPU上运行),从方便补丁管理和维护的角度,同样可以通过本文提到的方法在vCPU0上对其他vCPU的补丁进行操作和管理,从而达到灵活使用的目的。
并且在上面的应用实施例中,业务vCPU采用单任务的方式进行业务处理,使补丁操作具体简单易行。但如果业务vCPU也需要使用多任务环境,可以在上述补丁方案的基础上,结合目前的多任务环境的补丁技术,同样可以方便实现补丁操作,改进方法简单描述可以为:在实施例1、图3基础上,控制vCPU0向业务vCPU发送补丁同步消息,业务vCPU进入同步暂停步骤中,只要将各业务vCPU的任务执行的相关信息通过共享内存共享给控制vCPU0,控制vCPU0进一步检查各vCPU的状态以决策是否可以进行打补丁操作即可。具体的决策方法可以为判断所有的业务vCPU都没有执行共享代码段的内容时,进行补丁操作。
以上对本发明所提供的多核处理器共享代码段补丁方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (24)
1.一种多核处理器共享代码段补丁方法,其特征在于,该方法具体为:
开放对预置的代码补丁区和共享代码段的访问权限,向业务vCPU发送补丁同步消息;
查看所述业务vCPU是否全部完成同步;
若全部完成同步则进行补丁操作。
2.根据权利要求1所述的多核处理器共享代码段补丁方法,其特征在于,进一步包括:
通知所述业务vCPU补丁操作完成;
接收到所述业务vCPU发送的快速缓冲贮存区刷新完成通知后,取消对所述共享代码段和所述代码补丁区的访问权限。
3.根据权利要求1所述的多核处理器共享代码段补丁方法,其特征在于,所述的补丁操作具体为,修改所述共享代码段的指令跳转至所述代码补丁区中执行补丁代码,返回所述共享代码段。
4.根据权利要求1所述的多核处理器共享代码段补丁方法,其特征在于,
所述的查看业务vCPU是否全部完成同步为查看业务vCPU设置标记变量是否为同步状态。
5.根据权利要求2所述的多核处理器共享代码段补丁方法,其特征在于,
所述的通知业务vCPU补丁操作完成为设置补丁操作变量为完成状态。
6.一种多核处理器共享代码段补丁装置,其特征在于,该装置包括:
权限控制单元,用于开放对预置的代码补丁区和共享代码段的访问权限;
发送单元,用于向业务vCPU发送补丁同步消息;
控制单元,用于查看所述业务vCPU是否全部同步完成,若全部完成则进行补丁操作。
7.根据权利要求6所述的多核处理器共享代码段补丁装置,其特征在于,所述的发送单元进一步用于通知所述业务vCPU补丁操作完成。
该装置进一步包括接收单元,用于接收所述业务vCPU发送的快速缓冲贮存区刷新完成通知;
权限控制单元进一步用于取消对所述代码补丁区和共享代码段的访问权限。
8.根据权利要求6所述的多核处理器共享代码段补丁装置,其特征在于,所述的控制单元进行补丁操作具体为修改共享代码段的指令跳转至共享补丁区中执行补丁代码,执行完所述的补丁代码后反馈共享代码段。
9.根据权利要求6所述的多核处理器共享代码段补丁装置,其特征在于,
所述的控制单元查看业务vCPU是否全部同步完成具体为查看业务vCPU是否设置标记变量为同步状态。
10.根据权利要求7所述的多核处理器共享代码段补丁装置,其特征在于,
所述的发送单元通知业务vCPU补丁操作完成具体为设置补丁操作变量为完成状态。
11.一种多核处理器共享代码段补丁方法,其特征在于,该方法具体为:
接收补丁同步消息;
设置标记变量为同步状态并发送给控制vCPU;
刷新快速缓冲贮存区,并通知控制vCPU所述的刷新完成,开始正常的业务处理。
12.根据权利要求11所述的多核处理器共享代码段补丁方法,其特征在于,
所述的通知控制vCPU刷新完成的方法具体为业务vCPU设置标记变量为完成状态。
13.一种多核处理器共享代码段补丁装置,其特征在于,该装置包括:
接收单元,用于接收控制vCPU发送的补丁同步消息和补丁操作完成通知;
操作单元,用于设置标记变量为同步状态并发送给所述控制vCPU;刷新快速缓冲贮存区,并通知控制vCPU所述的刷新快速缓冲贮存区完成,开始正常的业务处理。
14.根据权利要求13所述的多核处理器共享代码段补丁装置,其特征在于,
所述的操作单元通知控制vCPU刷新完成具体为业务vCPU设置标记变量为完成状态。
15.一种多核处理器共享代码段补丁方法,其特征在于预置两个代码补丁区和共享代码段,该方法具体为:
控制vCPU开放对预置的第一代码补丁区和第一共享代码段的访问权限;
控制vCPU对所有业务vCPU未使用的预置的第一代码补丁区和第一共享代码段进行补丁操作。
16.根据权利要求15所述的多核处理器共享代码段补丁方法,其特征在于,
向所述业务vCPU发送补丁操作完成消息,通知所述业务CPU切换至进行过补丁操作的预置的第一共享代码段及第一代码补丁区;并接收所述业务vCPU的快速缓冲贮存区刷新完成信息。
17.根据权利要求16所述的多核处理器共享代码段补丁方法,其特征在于,
当所有业务vCPU都已经切换至进行过补丁操作的预置的第一代码补丁区和第一共享代码段后,将预置的第二码补丁区和第二共享代码段的内容更新成进行过补丁操作的预置的第一代码补丁区和第一共享代码段的内容。
18.一种多核处理器共享代码段补丁装置,其特征在于,该装置包括:
第一权限控制单元,用于开放对预置的第一代码补丁区和第一共享代码段的访问权限;
第一操作单元,用于对所有业务vCPU未使用的预置的第一代码补丁区和第一共享代码段进行补丁操作。
19.根据权利要求18所述的多核处理器共享代码段补丁装置,其特征在于,该装置进一步包括:
通知单元,用于向所述业务vCPU发送补丁操作完成消息,通知所述业务CPU切换至进行过补丁操作的预置的第一共享代码段及第一代码补丁区;并接收业务vCPU的Cache刷新完成信息。
20.根据权利要求19所述的多核处理器共享代码段补丁装置,其特征在于,所述的第一操作单元进一步用于当所有业务vCPU都已经切换至进行过补丁操作的预置的第一代码补丁区和第一共享代码段后,将预置的第二码补丁区和第二共享代码段的内容更新成进行过补丁操作的预置的第一代码补丁区和第一共享代码段的内容。
21.一种多核处理器共享代码段补丁方法,其特征在于,该方法具体为:
接收控制vCPU发送的补丁操作完成消息,并切换至进行过补丁操作的第一共享代码区及补丁区,向控制vCPU发送快速缓冲贮存区刷新完成信息。
22.根据权利要求21所述的多核处理器共享代码段补丁方法,其特征在于,所述的向所述控制CPU发送快速缓冲贮存区刷新完成信息具体为设置标记变量为完成状态。
23.一种多核处理器共享代码段补丁装置,其特征在于,该装置包括:
第一接收单元,用于接收控制vCPU发送的补丁操作完成消息;
第二操作单元,用于切换至进行过补丁操作的第一共享代码区及补丁区,向控制vCPU发送快速缓冲贮存区刷新完成信息。
24.根据权利要求23所述的多核处理器共享代码段补丁装置,其特征在于,所述的第二操作单元向所述控制vCPU发送快速缓冲贮存区刷新完成信息具体为设置标记变量为完成状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710171674A CN100583049C (zh) | 2007-11-29 | 2007-11-29 | 多核处理器共享代码段补丁方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710171674A CN100583049C (zh) | 2007-11-29 | 2007-11-29 | 多核处理器共享代码段补丁方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101178672A true CN101178672A (zh) | 2008-05-14 |
CN100583049C CN100583049C (zh) | 2010-01-20 |
Family
ID=39404933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710171674A Expired - Fee Related CN100583049C (zh) | 2007-11-29 | 2007-11-29 | 多核处理器共享代码段补丁方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100583049C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010133160A1 (zh) * | 2009-05-18 | 2010-11-25 | 华为技术有限公司 | 一种多核环境下的补丁方法与补丁装置 |
CN102135894A (zh) * | 2010-10-13 | 2011-07-27 | 华为技术有限公司 | 一种多核在线补丁方法和装置 |
CN102279807A (zh) * | 2010-06-09 | 2011-12-14 | 李尔公司 | 更新共享存储器的方法和系统 |
WO2012062113A1 (zh) * | 2010-11-12 | 2012-05-18 | 中兴通讯股份有限公司 | 多核热补丁的实现方法及系统 |
CN104636161A (zh) * | 2013-11-15 | 2015-05-20 | 华为技术有限公司 | 一种多核系统的在线补丁方法及系统 |
CN108009429A (zh) * | 2017-12-11 | 2018-05-08 | 北京奇虎科技有限公司 | 一种补丁函数生成方法及装置 |
CN110569066A (zh) * | 2019-07-26 | 2019-12-13 | 深圳震有科技股份有限公司 | 多核系统共用代码段的控制方法、智能终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827403A (en) * | 1986-11-24 | 1989-05-02 | Thinking Machines Corporation | Virtual processor techniques in a SIMD multiprocessor array |
-
2007
- 2007-11-29 CN CN200710171674A patent/CN100583049C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561764B (zh) * | 2009-05-18 | 2012-05-23 | 华为技术有限公司 | 一种多核环境下的补丁方法与补丁装置 |
EP2333666A1 (en) * | 2009-05-18 | 2011-06-15 | Huawei Technologies Co., Ltd. | Patching method and patching device under multi-core environment |
WO2010133160A1 (zh) * | 2009-05-18 | 2010-11-25 | 华为技术有限公司 | 一种多核环境下的补丁方法与补丁装置 |
EP2333666A4 (en) * | 2009-05-18 | 2011-11-16 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR PROGRAM CORRECTION IN A MULTIC UR ENVIRONMENT |
CN102279807A (zh) * | 2010-06-09 | 2011-12-14 | 李尔公司 | 更新共享存储器的方法和系统 |
CN102135894B (zh) * | 2010-10-13 | 2015-11-25 | 华为技术有限公司 | 一种多核在线补丁方法和装置 |
CN102135894A (zh) * | 2010-10-13 | 2011-07-27 | 华为技术有限公司 | 一种多核在线补丁方法和装置 |
US9430399B2 (en) | 2010-10-13 | 2016-08-30 | Huawei Technologies Co., Ltd. | Multi-core online patching method and apparatus |
CN102467394A (zh) * | 2010-11-12 | 2012-05-23 | 中兴通讯股份有限公司 | 多核热补丁的实现方法及系统 |
WO2012062113A1 (zh) * | 2010-11-12 | 2012-05-18 | 中兴通讯股份有限公司 | 多核热补丁的实现方法及系统 |
CN104636161A (zh) * | 2013-11-15 | 2015-05-20 | 华为技术有限公司 | 一种多核系统的在线补丁方法及系统 |
CN104636161B (zh) * | 2013-11-15 | 2018-06-19 | 华为技术有限公司 | 一种多核系统的在线补丁方法及系统 |
CN108009429A (zh) * | 2017-12-11 | 2018-05-08 | 北京奇虎科技有限公司 | 一种补丁函数生成方法及装置 |
CN108009429B (zh) * | 2017-12-11 | 2021-09-03 | 北京奇虎科技有限公司 | 一种补丁函数生成方法及装置 |
CN110569066A (zh) * | 2019-07-26 | 2019-12-13 | 深圳震有科技股份有限公司 | 多核系统共用代码段的控制方法、智能终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100583049C (zh) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583049C (zh) | 多核处理器共享代码段补丁方法及装置 | |
US10698690B2 (en) | Synchronisation of execution threads on a multi-threaded processor | |
US8935510B2 (en) | System structuring method in multiprocessor system and switching execution environment by separating from or rejoining the primary execution environment | |
RU2285947C2 (ru) | Способ обеспечения безопасности с детерминированным выполнением в реальном времени многозадачных приложений типа управление-регулирование с локализацией ошибок | |
US6470424B1 (en) | Pin management of accelerator for interpretive environments | |
CN102105871B (zh) | 虚拟处理设备的中断控制 | |
CN100504763C (zh) | 启用同时多线程(smt)的系统及其管理方法 | |
CN102934085B (zh) | 在多环境操作系统中多个环境之间切换的系统和方法 | |
KR100708952B1 (ko) | 병렬 처리 시스템, 병렬 처리 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체 및 병렬 처리 방법 | |
CN100570564C (zh) | 将用户模式线程配置为接近禁止中断优先级的方法和系统 | |
CN102629221B (zh) | 用于分布式共享存储的任务同步方法、装置及系统 | |
CN109558211A (zh) | 保护可信应用与普通应用的交互完整性和保密性的方法 | |
US20040205755A1 (en) | Operating systems | |
EP2003553A1 (en) | Input/output control apparatus, input/output control system, and input/output control method | |
US10824467B2 (en) | Data processing system with protected mode of operation for processing protected content | |
KR20070097538A (ko) | 운영체제에 친숙한 부트로더 | |
US10474494B2 (en) | Information processing apparatus, information processing method, and computer program product | |
CN106030515B (zh) | 用于多处理器和多核平台的二进制翻译 | |
US20190278355A1 (en) | Context switches with processor performance states | |
JP2019169081A (ja) | 情報処理装置、情報処理方法、プログラム | |
CN113467884A (zh) | 资源配置方法和装置、电子设备及计算机可读存储介质 | |
CN103885920A (zh) | 对用于多处理器系统的初始化的主微处理器的选择 | |
CN105579963B (zh) | 任务处理装置、电子设备及方法 | |
CN1867895B (zh) | 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 | |
CN113687909B (zh) | 基于微内核的分时vcpu多核调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100120 Termination date: 20171129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |