CN101226488B - 多实例应用程序在内核态地址空间冲突的解决方法及系统 - Google Patents

多实例应用程序在内核态地址空间冲突的解决方法及系统 Download PDF

Info

Publication number
CN101226488B
CN101226488B CN2008100656621A CN200810065662A CN101226488B CN 101226488 B CN101226488 B CN 101226488B CN 2008100656621 A CN2008100656621 A CN 2008100656621A CN 200810065662 A CN200810065662 A CN 200810065662A CN 101226488 B CN101226488 B CN 101226488B
Authority
CN
China
Prior art keywords
address
list item
thread
variable
mapping table
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.)
Expired - Fee Related
Application number
CN2008100656621A
Other languages
English (en)
Other versions
CN101226488A (zh
Inventor
李翌
王继刚
钟卫东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2008100656621A priority Critical patent/CN101226488B/zh
Publication of CN101226488A publication Critical patent/CN101226488A/zh
Application granted granted Critical
Publication of CN101226488B publication Critical patent/CN101226488B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了多实例应用程序在内核态地址空间冲突的解决方法及系统,解决方法为:A、创建线程实例映射表、变量地址表、实例地址映射表;B、将需要切换地址空间的变量调用接口加入到变量地址表中;C、创建实例线程,为每个线程分配线程实例映射表表项,设定表项中线程所属的实例ID,然后将该表项放入线程实例映射表;D、线程切换时,查看待调出的线程对应的实例ID与待调入的线程的实例ID,若两者不同,则进入下步;E、根据待调入与待调出线程的实例ID查找实例地址映射表,找到对应实例地址空间,完成地址空间切换。本发明解决了内核态下多实例地址空间冲突的问题,不依赖于硬件支持和对应用代码的大量修改,降低了成本,且应用可灵活配置。

Description

多实例应用程序在内核态地址空间冲突的解决方法及系统
技术领域
本发明涉及操作系统的地址空间管理机制,尤其涉及在用户态下运行的应用程序在不同地址空间相互隔离的多实例移植到内核态统一地址空间时形成的地址冲突问题的解决方法及系统。
背景技术
目前随着计算机技术的不断发展,计算机性能也越来越高,但随之的,软件功能也越来越强大,因此,软件功能和计算性能的冲突一直都存在。为了在一定的硬件平台上提升计算性能,减少操作系统的性能损耗是一个重要方法,而将应用程序放入用户态运行具有以下缺点:
1.运行在用户态的应用程序需要断进行系统态和用户态的运行状态切换,在进行运行状态切换时,操作系统要进行诸如保存寄存器状态、运行级别切换、信号和调度检查等操作,这些都会造成运行开销;
2.由于系统态和用户态属于不同的运行空间,因此,为了在两者将传递消息,需要进行内核拷贝方式,这也造成了一定的内存拷贝开销。
为减少这部分开销,提升计算性能,可以采用将该应用程序放入到内核态下运行的方法来解决,这样不仅减少了运行状态切换的开销,还减少了内存拷贝开销。
因此,将应用放入内核态运行,可以较好地提升效率。移植方法为:在创建线程时采用特殊操作,不为其分配用户态地址,而直接使用内核态的地址空间,并设置其执行特权级别为内核态特权级;同时,在内核态提供与标准用户态兼容的支撑库,这样上层应用基本可以感知不到运行状态的变化,减少移植工作量。
移植到内核态的方法虽然简单,但由于程序运行地址空间的变化,还是会给一些应用程序带来一些问题:部分用户态下的应用程序可以以多实例方式运行,这些实例在用户态都映射为进程的方式,程序编程时,直接操作相同的变量地址空间,由于进程的独立地址空间,这些变量操作都会映射到不同的物理地址范围,因此不会有冲突发生。而一旦放入内核态运行,这些实例只能形成不同的线程,没有进程的独立地址空间,这样,对这些变量地址操作,就会操作到相同的地址空间,形成冲突。
目前的解决方法一般有以下几种,一是修改应用代码,使用指针来进行这部分变量操作,通过对不同实例创建初始化时,对这些指针赋予不同的地址,这样访问时就指向了不同的地址空间了。但这种方法缺点是对代码修改过大,必须找到所有的变量操作代码,修改为指针方式,而这样多的修改动作,很容易出现错误。
另一种方法是使用特殊的硬件支持,如在x86上,可以使用段寄存器,如gs段,对不同的实例,绑定不同的段地址,而在访问这些变量时,也加上段修饰,这样,通过使用不同的段地址进行前缀偏移,也可以达到地址区分的目的,但缺点是必须有编译器的支持,而标准的gcc编译器,是不支持对变量访问加上段前缀修饰,而大部分的应用开发都使用gcc进行编译。并且,这种方法只有在部分支持段式寻址的CPU架构上才能起作用。
还有就是将变量申明为线程局部变量,利用操作系统和运行C库的支持,使变量空间和线程相绑定,但这种方法有以下缺点:一是需要运行C库的支持,还有就是只能和线程绑定,若多实例中每个实例又是多线程方式,则这种方法就不能适用,因为每个实例中的线程应该共享同一变量地址空间,而不是如这种方法的所有线程的变量地址空间都分离。
发明内容
本发明所要解决的技术问题是提供一种多实例的应用程序在内核态运行时变量地址空间冲突的解决方法及系统,不依赖于硬件支持和对应用代码的大量修改,方便地实现应用程序到内核态的移植运行。
为解决上述技术问题,本发明是通过以下技术方案实现的:
一种多实例应用程序在内核态地址空间冲突的解决方法,包括以下步骤:
A、系统初始化时,创建线程实例映射表、变量地址表、实例地址映射表;所述线程实例映射表用于记录各线程与实例的对应关系,每个表项包括实例ID和线程ID两项;所述变量地址表用于记录需进行切换的各变量的地址空间,每个表项包括变量的地址指针和该变量所占用的内存大小两项;所述实例地址映射表用于记录各实例用于存储变量地址空间的内存区域,每个表项包括实例ID及该实例的地址区两项;
B、应用程序初始化时,通过调用地址绑定模块将需要切换地址空间的变量调用接口加入到变量地址表中;
C、创建实例线程,为每个线程分配线程实例映射表表项,并设定表项中线程所属的实例ID,然后将该表项放入线程实例映射表中;
D、当线程切换时,在调度器中根据线程实例映射表查看待调出的线程对应的实例ID与待调入的线程的实例ID是否相同,若不同,则进入步骤E;
E、根据待调入与待调出线程的实例ID,查找实例地址映射表,找到对应表项中的实例地址空间,遍历变量地址表,根据变量地址表中各表项指示的地址和地址大小,将该变量地址表中各表项指示的地址范围内的内容拷贝到待调出线程对应的实例ID的地址空间中,并从待调入线程对应的实例ID的地址空间中,将对应内容拷贝到变量地址表中表项指示的地址范围中。
其中,步骤C中所述创建实例线程具体包括,分配一个线程实例映射表表项,将该线程实例映射表表项初始化为对应的线程ID和缺省的实例ID,并将该表项插入到线程实例映射表中。
其中,步骤C中,当有新增加的实例时,分配一个新的实例地址映射表表项,设定其实例ID为该新增加的实例ID,并为其分配对应的变量空间存储地址,将该地址赋予表项的对应区域,然后将该表项插入到实例地址映射表中。
其中,通过静态或动态内存分配的方式分配新的线程实例映射表表项或实例地址映射表表项。
其中,步骤B中当有新增加的需要切换地址空间的变量时,则具体包括以下步骤:
B1、分配新的变量地址表表项,设置表项的变量地址和变量长度;
B2、将所述表项加入到变量地址表中,计算新的变量地址总长度;
B3、遍历实例地址映射表,将其每个表项中地址区的大小调整为步骤B2中计算得到的总长度。
其中,步骤B3具体包括:
(I)根据新的变量地址总长度,分配内存区域;
(II)拷贝原有表项中的内存区域内容到新分配的内存区域中;
(III)释放原有的内存区域;
(IV)把新分配的内存区域地址存放在该表项中。
一种解决多实例应用程序在内核态地址空间冲突的系统,包括调度器,还包括地址绑定模块、地址切换模块,
所述地址绑定模块用于完成各个实例与各自的地址空间的绑定,并提供接口给用户进行调用;
所述地址切换模块附着于调度器上,用于在需要进行线程切换时,完成地址空间的切换。
本发明具有以下有益效果:本发明采用将实例与其各自的地址空间绑定的方法实现了多实例地址访问的隔离,解决了内核态下多实例地址空间冲突的问题,不依赖于硬件支持和对应用代码的大量修改,降低了成本;而且,本发明允许同一实例的多线程共享同一地址空间,应用可以灵活配置,可以真实映射应用程序在用户态的运行方法。
附图说明
图1为本发明中线程实例映射表、变量地址表及实例地址映射表的结构示意图;
图2为本发明的地址冲突解决方法流程图;
图3为本发明的线程创建方法流程图;
图4为本发明的实例设定方法流程图;
图5为本发明的变量绑定方法流程图;
图6为本发明的地址空间切换方法流程图。
具体实施方式
下面将结合附图和具体实施方式对本发明作进一步详细的描述:
本发明提出了一种解决多实例在内核态下地址冲突问题的系统,该系统包括调度器,还包括地址绑定模块和地址切换模块。
其中,地址绑定模块用于实现地址空间和用户实例的绑定功能;该模块以库的方式存在,提供接口给用户进行调用,实现绑定功能,一般在应用初始化实例时被调用。地址切换模块,附着于调度器上,在需要进行线程切换时被调用,用于实现地址空间的切换功能。
请参阅图2,本发明用于解决多实例在内核态运行时地址空间冲突问题的具体方法为:
201、在系统初始化时,建立一个线程实例映射表、变量地址表、实例地址映射表,并进行初始化。其中,线程实例映射表和变量地址表初始化为空,实例地址映射表初始化为一个表项,该表项中的实例ID初始化为缺省实例ID,而对应的地址区初始化为空。
如附图1中(a)所示线程实例映射表的结构,该表用于记录线程和实例的对应关系,每个映射表项有两项,分别是实例ID和线程ID,其中线程ID由操作系统自动产生,而实例ID由一全局静态计数器产生,可保证其唯一性,该二元结构由一个表项保存,每个表项形成链表,方便查询。
如附图1中(b)所示变量地址表的结构,该表用于记录需要进行切换的变量地址空间,每个表项有两项,分别为一个变量的地址指针和该变量所占用的内存大小。在(b)中展示了两个需要切换的变量。
如附图1中(c)所示实例地址映射表的结构,该表包括多个表项,每个表项用于记录一个实例用于存储其变量地址空间的内存区域,每个实例只能对应于其中的一个表项,每个表项包括两项,分别为实例ID及该实例的地址区。在应用时,可以通过实例ID为索引查找到对应的表项以获取该实例对应的保存变量地址空间的内存区。
其中,线程实例映射表的存放方法有两种,一种为单独存放,通过线程ID进行索引,这样不用对内核数据进行修改,但查找速度要慢一些;另一种为将其嵌入到内核线程数据结构中,这样可以加快查找速度,但需要内核提供这方面的扩展接口,这可以根据实际应用进行选择。
202、在应用程序初始化时,将每个需要切换地址空间的变量调用接口加入到变量地址对应表中,每个变量占用一个表项,其中地址指针为该变量的地址,而地址长度为该变量占用的内存大小。这个动作是调用地址绑定模块实现的。同时,每加入一个表项,都要计算整个变量地址空间的大小,相应增大实例地址映射表中各实例的空间地址的大小。
203、在每个线程创建时,将分配一个线程实例映射表项,其中有线程ID和缺省的实例ID,并将该表项插入到线程实例映射表中。同时,若有新的实例ID,也要增加实例地址映射表中的表项。
204、线程创建后,应用实例将调用接口,修改线程实例映射表中相应的表项,设定该线程属于的实例ID。
205、当线程切换时,在调度器中,将检查线程实例映射表,查看调度前的线程对应的实例ID和新调度的线程的实例ID,若两者不同,则进入步骤206;若两者相同,则进入步骤207。
206、首先根据新旧调度线程的实例ID,查找实例地址映射表,找到对应表项中的实例地址空间。然后,遍历变量地址表,对该表中的每个表项,进行如下操作:根据该表项指示的地址和地址大小,将该地址范围内的内容拷贝到调出线程对应的实例ID的地址空间中;同时,从新调入线程对应的实例ID的地址空间中,将对应内容拷贝到该表项指示的地址范围中。
207、调度器继续运行,完成正常调度工作,使新实例进入运行。而此时,整个的变量地址空间已经换成了新调入线程对应实例的数据内容,故不同实例对相同地址空间的访问互不影响。
请参阅图3,该图所示为上述方法中的线程创建方法流程图。如图中所示,当创建新线程后,首先需要获取一个新的线程实例映射表表项,可以通过静态或动态内存分配的方式获取,将该新的映射表表项初始化为对应的线程ID和缺省的实例ID,并将该表项挂入到映射表中,以供查询。
请参阅图4,该图所示为设定线程实例对应关系的方法流程图。如图所示,首先通过线程ID查找线程实例映射表,由于每个线程在创建时都会有增加操作,因此应该能够找到对应的表项;然后,根据给定的实例ID,修改对应表项的实例ID;完成后,再根据新的实例ID,在实例地址映射表中查找对应的表项,若不能找到,则说明这是新增加的实例,需要进行创建操作:①分配一个新的实例地址映射表表项;②对于该表项,设定其实例ID为新增加的实例ID,并为其分配对应的变量空间存储地址,将地址赋予该表项的对应区域;③将该表项挂入到实例地址对应表中。
这样进行以上操作后,保证了每个实例都有对应的实例变量表项,同时,在每个线程实例映射表中出现的实例ID,也都会在实例变量表中有对应的表项,两者有一一的映射关系。
请参阅图5,该图所示为是变量绑定方法流程图。通过对变量地址空间和实例的绑定,在实例切换时,其变量也将随之切换,反映实例的私有特性。该方法具体为:
(i)分配一个新的变量地址项,并将其中的地址项设置为对应变量的地址,而大小则设置为该变量对应的内存大小。
(ii)将该变量地址项挂入到变量地址列表中,位置是末尾。
(iii)计算新的变量区总长度,其方法为保存一个全局变量,记录总长度。因此,当有新的变量增加时,只要在该全局变量中加入增加变量的占用内存大小即可。
(iv)由于变量区的大小有了变化,因此需要对实例地址映射表的地址空间进行变动,其具体步骤是:遍历所有的实例地址映射表,对每个表项都进行如下操作:
1)根据新的变量区总长度,分配内存区域;
2)拷贝原有的表项中的内存区域内容到新分配的内存区域中;
3)释放原有的内存区域;
4)设置该表项的地址区域指针为新分配的内存区域;
以上操作完成后,新增加的变量将会在变量地址表中有对应的表项,记录了该变量的地址和内存长度,而且实例地址映射表中也进行了更新,留出了新增加的变量存储的内存位置。
请参阅图6,该图所示为变量内存切换的方法,该方法是在内核进行线程调度时调用,作为对内核调度的扩展使用,具体步骤为:
步骤一、根据待调出和调入的线程ID,查找线程实例映射表,从中可以获取到对应的实例ID。
步骤二、比较上述两个实例ID,查看是否相同,若相同,则直接到步骤五。
步骤三、由于调入和调出的线程对应了不同的应用实例,因此需要进行变量地址的切换,为此,根据实例的ID,查找实例地址映射表,获取对应的变量存储空间。
步骤四、在图3-图5的步骤中,可以保证可以获取到对应的表项,然后遍历变量地址表,对每个表项,执行以下操作:拷贝该变量地址表项中对应的内存数据,放入待换出实例的对应的变量存储空间中;然后从待换入实例的对应的变量存储空间中,拷贝内容到该变量地址表项对应的内存中。在以上拷贝后,将增加拷贝偏移量,增加数据为变量地址表项的对应的变量地址大小。至此,完成了地址空间的切换。
步骤五、调度器继续进行正常调度工作。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,包括以下步骤:
A、系统初始化时,创建线程实例映射表、变量地址表、实例地址映射表;所述线程实例映射表用于记录各线程与实例的对应关系,每个表项包括实例ID和线程ID两项;所述变量地址表用于记录需进行切换的各变量的地址空间,每个表项包括变量的地址指针和该变量所占用的内存大小两项;所述实例地址映射表用于记录各实例用于存储变量地址空间的内存区域,每个表项包括实例ID及该实例的地址区两项;
B、应用程序初始化时,通过调用地址绑定模块将需要切换地址空间的变量调用接口加入到变量地址表中;
C、创建实例线程,为每个线程分配线程实例映射表表项,并设定表项中线程所属的实例ID,然后将该表项放入线程实例映射表中;
D、当线程切换时,在调度器中根据线程实例映射表查看待调出的线程对应的实例ID与待调入的线程的实例ID是否相同,若不同,则进入步骤E;
E、根据待调入与待调出线程的实例ID,查找实例地址映射表,找到对应表项中的实例地址空间,遍历变量地址表,根据变量地址表中各表项指示的地址和地址大小,将该变量地址表中各表项指示的地址范围内的内容拷贝到待调出线程对应的实例ID的地址空间中,并从待调入线程对应的实例ID的地址空间中,将对应内容拷贝到变量地址表中表项指示的地址范围中。
2.如权利要求1所述多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,步骤C中所述创建实例线程具体包括,分配一个线程实例映射表表项,将该线程实例映射表表项初始化为对应的线程ID和缺省的实例ID,并将该表项插入到线程实例映射表中。
3.如权利要求2所述多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,步骤C中,当有新增加的实例时,分配一个新的实例地址映射表表项,设定其实例ID为该新增加的实例ID,并为其分配对应的变量空间存储地址,将该地址赋予表项的对应区域,然后将该表项插入到实例地址映射表中。
4.如权利要求2或3所述多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,通过静态或动态内存分配的方式分配新的线程实例映射表表项或实例地址映射表表项。
5.如权利要求1所述多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,步骤B中当有新增加的需要切换地址空间的变量时,则具体包括以下步骤:
B1、分配新的变量地址表表项,设置表项的变量地址和变量长度;
B2、将所述表项加入到变量地址表中,计算新的变量地址总长度;
B3、遍历实例地址映射表,将其每个表项中地址区的大小调整为步骤B2中计算得到的总长度。
6.如权利要求5所述多实例应用程序在内核态地址空间冲突的解决方法,其特征在于,步骤B3具体包括:
(I)根据新的变量地址总长度,分配内存区域;
(II)拷贝原有表项中的内存区域内容到新分配的内存区域中;
(III)释放原有的内存区域;
(IV)把新分配的内存区域地址存放在该表项中。
CN2008100656621A 2008-01-25 2008-01-25 多实例应用程序在内核态地址空间冲突的解决方法及系统 Expired - Fee Related CN101226488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100656621A CN101226488B (zh) 2008-01-25 2008-01-25 多实例应用程序在内核态地址空间冲突的解决方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100656621A CN101226488B (zh) 2008-01-25 2008-01-25 多实例应用程序在内核态地址空间冲突的解决方法及系统

Publications (2)

Publication Number Publication Date
CN101226488A CN101226488A (zh) 2008-07-23
CN101226488B true CN101226488B (zh) 2010-06-02

Family

ID=39858502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100656621A Expired - Fee Related CN101226488B (zh) 2008-01-25 2008-01-25 多实例应用程序在内核态地址空间冲突的解决方法及系统

Country Status (1)

Country Link
CN (1) CN101226488B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908002A (zh) * 2010-08-17 2010-12-08 中兴通讯股份有限公司 一种任务路径切换方法及装置
CN102438062B (zh) * 2010-09-29 2014-12-24 联想移动通信科技有限公司 多任务切换的方法、装置和移动终端
CN103235745B (zh) * 2013-03-27 2016-08-10 华为技术有限公司 一种地址冲突检测方法及装置
CN106371920A (zh) * 2016-08-24 2017-02-01 天脉聚源(北京)传媒科技有限公司 一种避免内存地址冲突的方法及装置
CN106776115B (zh) * 2016-11-14 2023-11-24 北京握奇智能科技有限公司 一种Mifare卡的多应用实现方法和系统、及多应用管理系统
CN108255890B (zh) * 2016-12-29 2020-08-11 腾讯科技(深圳)有限公司 页面的处理方法和装置
CN109165503B (zh) * 2018-06-22 2021-09-24 湖南鼎源蓝剑信息科技有限公司 基于rasp区分后台线程权限与ui线程权限的方法
CN112084013B (zh) * 2019-06-13 2024-04-05 武汉杰开科技有限公司 一种程序调用方法、芯片及计算机存储介质
CN114969769A (zh) * 2021-02-24 2022-08-30 华为技术有限公司 一种访问控制方法、电子设备及系统
CN113556323B (zh) * 2021-06-24 2023-04-07 深圳市邦盛实时智能技术有限公司 一种应用于企业内控的旁路无侵入流量采集系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812767A (en) * 1995-07-28 1998-09-22 International Business Machines Corporation System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts
US6349355B1 (en) * 1997-02-06 2002-02-19 Microsoft Corporation Sharing executable modules between user and kernel threads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812767A (en) * 1995-07-28 1998-09-22 International Business Machines Corporation System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts
US6349355B1 (en) * 1997-02-06 2002-02-19 Microsoft Corporation Sharing executable modules between user and kernel threads

Also Published As

Publication number Publication date
CN101226488A (zh) 2008-07-23

Similar Documents

Publication Publication Date Title
CN101226488B (zh) 多实例应用程序在内核态地址空间冲突的解决方法及系统
CN100504789C (zh) 控制虚拟机的方法
CN101261577B (zh) 微处理器以及在微处理器中存储数据的方法
JP5916955B2 (ja) ハイブリッドメモリ管理のための方法、システムおよびデバイス
CN103034617B (zh) 用于实现可重构系统配置信息存储的缓存结构和管理方法
US20170024131A1 (en) Secure migratable architecture having improved performance features
CN103793255B (zh) 可配置的多主模式多os内核实时操作系统架构的启动方法
US7596677B1 (en) Paging cache optimization for virtual machine
CN102792285A (zh) 层级转换表控制
CN101079083B (zh) 一种对访存操作进行权限检查的系统、装置及方法
KR20150036165A (ko) 계층적 메모리 시스템을 위한 메모리 관리
CN101441634A (zh) 适用于智能卡应用环境的嵌入式文件系统
CN101986649B (zh) 应用于电信行业计费系统的共享数据中心
CN101477495A (zh) 分布式内存虚拟化技术的实现方法
CN102609305A (zh) 一种服务器集群中内存共享方法
CN102096598A (zh) 一种虚拟机系统及其实现方法
CN102567220A (zh) Cache存取的控制方法及装置
CN104714792B (zh) 多进程共享数据处理方法和装置
CN102193804B (zh) 一种单板驱动的加载方法和通信设备
CN102203737B (zh) 多线程访问多副本的方法和装置
CN102196308A (zh) 一种基于数字电视的多硬件接口兼容驱动系统
CN101539867B (zh) 动态二进制翻译系统中可重定向的寄存器分配方法
EP2281238A1 (en) Sharing operating system sub-processes across tasks
US7395400B2 (en) Adaptive address space operating system
CN101853209B (zh) 无线传感器网络节点内存管理方法

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: 20100602

Termination date: 20190125

CF01 Termination of patent right due to non-payment of annual fee