[发明专利]一种基于分布仿真的反射内存网动态内存管理方法有效
| 申请号: | 200910078266.7 | 申请日: | 2009-02-24 |
| 公开(公告)号: | CN101493784A | 公开(公告)日: | 2009-07-29 |
| 发明(设计)人: | 冷传航;赵雯;代坤;张灏龙;李烁 | 申请(专利权)人: | 中国运载火箭技术研究院 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
| 代理公司: | 中国航天科技专利中心 | 代理人: | 安 丽 |
| 地址: | 100076北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 分布 仿真 反射 内存 动态 管理 方法 | ||
技术领域
本发明涉及计算机分布仿真技术领域,特别是涉及一种应用于工业分布仿真中的反射内存网的动态内存管理方法。
背景技术
随着现代工业系统的复杂程度和现代化程度的不断提高,使得其设计、研制和维护日益依赖于先进的试验、测试与试验手段。带有半实物设备的分布式实时分布仿真中为了保证通信的实时性,采用VMIC反射内存网进行数据和消息的传输。VMIC-5565反射内存卡提供了共享内存和中断等实时通信方式,但是这种方式允许各个节点直接读写板载内存,带来了数据安全性难以保证的问题。由于传统的板上内存采用了顺序分配的方式,导致释放的内存无法再次分配和内存碎片的增加,造成了系统性能的降低和不稳定因素的增加。由于VMIC提供的函数多而杂,对于开发人员而言比较难于掌握,特别是对于从事虚拟试验和仿真领域的技术人员。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于分布仿真的反射内存网动态内存管理方法,该方法通过对VMIC反射内存的驱动函数进行封装,实现对内存的及时分配与释放,使得板卡内存可以充分循环利用,并增强了系统的稳定性和安全性。
本发明的上述目的是通过如下技术方案予以实现的:
一种基于分布仿真反射内存网动态内存管理方法,其特征在于:在实时操作系统下对反射内存网的驱动函数进行封装,所述封装基于复杂map映射,执行下述任务:
仿真开始时,为联邦分配内存空间供联邦进行通信交互;仿真进行中, 联邦的邦员依次加入仿真,为每个邦员分配内存空间,并根据仿真想定为有通信需求的邦员之间分配对象实例/交互实例内存空间;通信过程中的读、写操作完成后,为所述对象实例/交互实例释放内存空间;任一邦员退出仿真后,为所述邦员释放内存空间;仿真结束联邦退出后,为所述联邦释放内存空间。
在上述基于分布仿真反射内存网动态内存管理方法中,为联邦分配内存的方法如下:
(1)查找已分配的内存空间,是否已经分配了所述联邦地址空间,如果已经分配则退出;
(2)检查剩余内存空间是否充足,如果空间为零,则退出;
(3)如果有剩余内存空间,首先查找是否存在与所述联邦地址空间大小相同的内存块,如果存在则将其分配给所述联邦,并将所述内存块标志为busy,进入步骤(5);
(4)如果没有与所述联邦地址空间大小相同的内存块,则遍历空闲的内存空间,找到能够分配所述联邦的最小内存空间,并将所述最小内存空间标志为busy,进入步骤(5);
(5)退出并返回起始地址。
在上述基于分布仿真反射内存网动态内存管理方法中,为联邦邦员分配内存的方法如下:
(1)查找已分配的内存空间,是否已经分配了所述邦员所属联邦地址空间,如果已经分配则退出;
(2)查找所述联邦地址空间中已分配的内存空间,是否已经分配了所述邦员地址空间,如果已经分配则退出;
(3)检查所述联邦内剩余内存空间是否充足,如果空间为零则退出;
(4)如果有剩余内存空间,首先查找是否存在与所述邦员所属联邦地址空间大小相同的内存块,如果存在则将其分配给所述邦员,并将所述内存 块标志为busy,进入步骤(6);
(5)如果没有与所述邦员所属联邦地址空间大小相同的内存块,则遍历所述联邦的空闲内存空间,找到能够分配所述邦员的最小内存空间,并将所述最小内存空间标志为busy,进入步骤(6);
(6)退出并返回起始地址。
在上述基于分布仿真反射内存网动态内存管理方法中,为联邦邦员中的对象实例/交互实例分配内存的方法如下:
(1)查找已分配的内存空间,是否已经分配了所述对象实例/交互实例所属联邦地址空间,如果已经分配则退出;
(2)查找所述联邦地址空间中已分配的内存空间,是否已经分配了所述对象实例/交互实例所属的邦员地址空间,如果已经分配则退出;
(3)查找所述邦员地址空间中已分配的内存空间,是否已经分配了所述对象实例/交互实例地址空间,如果已经分配则退出;
(4)检查所述邦员内剩余内存空间是否充足,如果空间为零则进入步骤(7);
(5)如果有剩余内存空间,首先查找是否存在与对象实例/交互实例所属联邦地址空间大小相同的内存块,如果存在则将其分配给该所述对象实例/交互实例,并将所述内存块标志为busy,进入步骤(7);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国运载火箭技术研究院,未经中国运载火箭技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910078266.7/2.html,转载请声明来源钻瓜专利网。





