发明名称 |
多实例应用程序在内核态地址空间冲突的解决方法及系统 |
摘要 |
本发明公开了多实例应用程序在内核态地址空间冲突的解决方法及系统,解决方法为:A.创建线程实例映射表、变量地址表、实例地址映射表;B.将需要切换地址空间的变量调用接口加入到变量地址表中;C.创建实例线程,为每个线程分配线程实例映射表表项,设定表项中线程所属的实例ID,然后将该表项放入线程实例映射表;D.线程切换时,查看待调出的线程对应的实例ID与待调入的线程的实例ID,若两者不同,则进入下步;E.根据待调入与待调出线程的实例ID查找实例地址映射表,找到对应实例地址空间,完成地址空间切换。本发明解决了内核态下多实例地址空间冲突的问题,不依赖于硬件支持和对应用代码的大量修改,降低了成本,且应用可灵活配置。 |
申请公布号 |
CN101226488A |
申请公布日期 |
2008.07.23 |
申请号 |
CN200810065662.1 |
申请日期 |
2008.01.25 |
申请人 |
中兴通讯股份有限公司 |
发明人 |
李翌;王继刚;钟卫东 |
分类号 |
G06F9/46(2006.01) |
主分类号 |
G06F9/46(2006.01) |
代理机构 |
深圳市永杰专利商标事务所 |
代理人 |
曹建军 |
主权项 |
1.一种多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,包括以下步骤:A、系统初始化时,创建线程实例映射表、变量地址表、实例地址映射表;B、应用程序初始化时,通过调用地址绑定模块将需要切换地址空间的变量调用接口加入到变量地址表中;C、创建实例线程,为每个线程分配线程实例映射表表项,并设定表项中线程所属的实例ID,然后将该表项放入线程实例映射表中;D、当线程切换时,在调度器中根据线程实例映射表查看待调出的线程对应的实例ID与待调入的线程的实例ID是否相同,若不同,则进入步骤E;E、根据待调入与待调出线程的实例ID,查找实例地址映射表,找到对应表项中的实例地址空间,完成地址空间切换。 |
地址 |
518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部 |