[发明专利]嵌入式虚拟化内存动态分配方法及系统无效
申请号: | 201010119952.7 | 申请日: | 2010-03-09 |
公开(公告)号: | CN102193814A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 程作仁;杨霄鹏;费晓峰 | 申请(专利权)人: | 上海拜翰网络科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200127 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 虚拟 内存 动态分配 方法 系统 | ||
技术领域
本发明涉及嵌入式虚拟化领域。
背景技术
随着企业硬件成本的持续增长,虚拟化技术由于其降成本和安全性等特点得到了长足发展,但嵌入式虚拟化目前还处于初始阶段,传统嵌入式虚拟化采用固定内存分配的方式,即虚拟对象如果需要512M内存,则在主机内存中固定划分512M内存给虚拟对象的内存使用,不考虑实时的内存需求,而具体应用中,虽然虚拟对象需要的内存最大为512M,但是并不意味着该512M内存需要每时每刻被占用,因此,分配固定内存空间的做法会导致内存浪费,进一步,对于嵌入式虚拟化而言,如果单主机支持多台嵌入式虚拟化系统,则导致的内存浪费更为严重。
本发明提出的嵌入式虚拟化内存动态分配方法及系统能根据嵌入式虚拟化设备的动态需求按需分配映射内存空间,从而从整体上节约内存使用量,进一步达到降低嵌入式虚拟化硬件成本的目的。
发明内容
本发明提出的嵌入式虚拟化内存动态分配系统包含内存管理模块,嵌入式虚拟机内存监测模块及嵌入式虚拟机模块。其系统架构图如图1所示,其中:
虚拟内存监测模块用来监测虚拟机系统实时的内存使用情况,监测实时虚拟机内存申请和释放请求以及大小;
内存管理模块用来根据虚拟内存监测模块捕获的指令,对物理内存进行动态管理;
虚线右侧为嵌入式虚拟机部分,包括虚拟硬件及嵌入式操作系统以及应用等。嵌入式虚拟机模块用来生成嵌入式硬件虚拟环境并运行嵌入式操作系统,并在嵌入式操作系统之上执行各种嵌入式应用。
进一步地,该系统执行流程如下:
1、初始化嵌入式虚拟机,计算嵌入式虚拟机内存分配固定值;
2、嵌入式虚拟机内存逻辑内存空间建立,该假象空间并不真正占用物理内存,仅用来与嵌入式虚拟机操作系统兼容;
3、预分配部分物理内存作为初始状态嵌入式虚拟机占用内存,预分配部分小于嵌入式虚拟机所需内存,并记载物理内存分配表;
4、建立嵌入式虚拟机内存和真实预分配内存的映射机制;
5、嵌入式虚拟机启动,如未执行关闭虚拟机操作,执行第6步,否则执行第7步;
6、检索虚拟机内存状况,并记录占用空间需求,如占用空间大于等于已分配内存空间,则另分配额外内存空间,内存额外分配空间需满足:内存额外分配空间>=虚拟机所需内存空间-已分配内存空间,同时,需满足条件,已分配内存<=假象内存值;如占用空间小于已分配内存空间,则缩减已分配内存空间,缩减量需满足:缩减量<已分配内存空间-虚拟机所需内存空间;无论是新增内存空间或者缩减内存空间,执行后,更新嵌入式内存和真实分配内存的映射机制;
7、释放已分配内存。
进一步地,内存分配以页面为单位,所以内存更新先以兆字节计算数值,然后转化为所需内存页。计算额外分配空间值采用求模+1的方式,计算内存缩减量采用求模的方式。
进一步地,内存动态更新的过程中,为处理简单,可采用比内存页更大单元的分配方法,即内存更新先以兆字节计算数值,然后转化为所需单位存储空间,例如,以64页为基本单元。
进一步地,启动虚拟机预分配物理单元可根据启动占用内存大小选择合适的预分配单元,也可固定分配一定的数值,例如,分配虚拟机操作系统所定义内存单元的1/4。
进一步地,针对单台服务器运行多个嵌入式虚拟机的状况,其物理内存和嵌入式虚拟机实时内存可建立整体的映射管理机制,需要实时统计未分配单元且更新释放单元,将实时的未分配单元纳入整体待分配内存池统一管理,可根据虚拟机应用环境不同设置不同优先级,建立整体的调度机制。
进一步地,该系统的初始时的逻辑内存空间建立是一假象,即通知操作系统已成功分配满足操作系统需求的内存空间,但真实物理空间并未分配或只做了预分配,并未完全分配。
进一步地,该系统不需要修改嵌入式操作系统,而是在虚拟机监控层增加实时内存预占有的监控机制。
附图说明
图1是嵌入式虚拟化内存动态分配系统架构图
具体实施方式
本实施例虚拟化操作系统为Android 1.5操作系统,虚拟硬件内存为256MB。
首先,在虚拟内存映射模块中设置假象内存值256M,虚拟机监测硬件值为假象内存值256M,接下来,为该操作系统预分配固定内存空间128M,并初始化内存映射表,将该128M内存空间锁定为虚拟机专用空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海拜翰网络科技有限公司,未经上海拜翰网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010119952.7/2.html,转载请声明来源钻瓜专利网。