[发明专利]用于动态二进制翻译的对象管理方法有效
申请号: | 200810203035.X | 申请日: | 2008-11-20 |
公开(公告)号: | CN101408848A | 公开(公告)日: | 2009-04-15 |
发明(设计)人: | 管海兵;梁阿磊;顾静辉 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 上海交达专利事务所 | 代理人: | 毛翠莹 |
地址: | 200240*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种用于动态二进制翻译的对象管理方法,采用多层次状态字方式,用连续的二进制位的值标识同类对象状态,其中每位二进制位标识一个对象的两个状态。用多个状态字层标识数量庞大的同类对象的状态,即将状态字层分成上区段和下区段,下区段包含标识对象状态的状态字集合,由多个状态字连续横向排列实现;上区段可以由多个状态字层实现,是标识状态字状态的状态字集合,每个状态字层都由多个状态字连续横向排列组成,再将每个状态字层纵向排列。本发明将对象的存储空间完全置于动态二进制翻译器的控制之下,运用连续空间存放同类对象,有效提高了翻译器对空间利用和对象操作的控制,降低性能损失。 | ||
搜索关键词: | 用于 动态 二进制 翻译 对象 管理 方法 | ||
【主权项】:
1、一种用于动态二进制翻译的对象管理方法,其特征在于包括如下步骤:1)用连续的二进制位的值标识同类对象状态,其中每位二进制位标识一个对象的两个状态,从二进制位的第一位开始,每32个连续位组成一个字,称为状态字;用多个状态字层标识同类对象的状态,将状态字层分成上区段和下区段,下区段包含一个状态字层,是标识对象状态的状态字集合,称之为底层状态字,由多个状态字连续横向排列实现,其中,每个状态字的一个二进制位标识一个对象的状态;上区段由多个状态字层实现,是标识状态字状态的状态字集合,每个状态字层都由多个状态字连续横向排列组成,再将每个状态字层纵向排列,每层中状态字的个数由下至上以32为倍数逐层递减,其中,每一层状态字的每一位用来标识紧邻的下层状态字中对应的单个状态字的两个状态;2)在翻译器启动时,针对不同类型的对象分别在主存空间中开辟连续空间,将同类对象连续存放在一起;先将各层次状态字全部初始化为0,然后根据对象类型初始化一定数量的同类对象;3)当翻译器需要一个空闲对象来标识和管理某些信息时,翻译器从上区段的最上层状态字开始检索,找到其中第一个值为0的二进制位,并根据这个值为0的位所在位置的索引号确定紧邻的下层状态字中那个值不全为1的状态字,然后对该状态字进行移位操作,从中找到第一个值为0的二进制位,之后重复上述过程,直到在底层状态字中找到对应的一位值为0的二进制位,根据此二进制位在底层状态字的位置索引号,确定一个空闲对象在此类对象连续空间中的位置;如果,在最上层状态字中无法找到值为0的二进制位,则继续初始化一定数量的同类对象,并保证对象的连续性,即,继续初始化的对象必须紧跟在之前已初始化的同类对象后面,由此确定一个空闲对象的地址;如果,此类对象的连续空间已经被使用完毕,则需要调用替换算法进行释放和整理;4)当翻译器不再需要某个对象时,根据多层次状态字释放该对象,即根据该对象与在其连续空间中首位置的对象的相对位置偏移,确定该对象状态位在底层状态字的位置索引号,将对应位置的状态位翻转为0,然后,查看此状态位所在状态字在更改之前是否为全1,对紧邻的上层状态字进行维护。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810203035.X/,转载请声明来源钻瓜专利网。
- 上一篇:树节点加载系统及其方法
- 下一篇:具有生理感测模块的输入装置