[发明专利]一种管理内存的方法及装置有效
申请号: | 201310104823.4 | 申请日: | 2013-03-28 |
公开(公告)号: | CN103176915A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 杨丽萍;龚彬阳;徐志刚 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F17/30 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 内存 方法 装置 | ||
技术领域
本发明属于计算机领域,尤其涉及一种管理内存的方法及装置。
背景技术
X86单板在基本输入输出系统(Basic Input Output System,BIOS)启动阶段的实现都是基于Intel提出的统一可扩展固件接口(Unified Extensible Fireware Interface,UEFI)规范,该规范在内存管理方面制定了一套系统的实现机制。X86单板上电启动后,BIOS通过系统管理总线(System Management Bus,SMBUS)物理链路读取内存条上的模组存在的串行检测(Serial Presence Detect,SPD)信息,从而计算出当前物理内存的大小,BIOS启动过程中,需要根据产品的需求,预先保留部分内存区域用作特殊用途,通常是直接修改BIOS的执行代码,即这些内存保留区都是在BIOS的执行代码中静态固定的,一旦BIOS的执行代码文件生成,当前系统的内存保留区就已经固定,BIOS正常启动完毕后,会统一将系统的内存使用情况通过内存映射表(Memory mapping table)发送给操作系统(Operating System,OS),告诉OS当前系统的内存分布和属性,供OS使用。这套机制是基于服务器或通用个人电脑(Personal Computer,PC)领域提出的,当其应用在电信平台时,就暴露出一些明显的缺陷。
当BIOS的执行代码文件烧录到X86单板后,X86单板每次启动后,内存保留区都是固定的,因此体现给OS的内存使用情况也是一致的,即不同平台的BIOS文件不可通用,而在电信领域往往对内存有一些定制化的需求,如需要在BIOS启动过程中动态预留一块或几块内存区域用于记录临终遗言、启动日志,启动日志用于记录系统配置更改信息或者系统出错信息,不同的电信平台对这些内存保留区域的起始地址和大小的需求都不一样,即使在同一平台,随着应用场景的切换这些内存保留区域也需要做相应的变更,此时原有的UEFI内存保留机制已无法满足这些要求。
发明内容
本发明实施例的目的在于提供一种管理内存的方法,旨在解决如何设计一套动态管理内存的方法从而实现在不升级BIOS的情况下,动态决定哪些内存对OS可用的问题。
第一方面,一种管理内存的方法,所述方法包括:
当基本输入输出系统BIOS启动时下载内存保留区的配置文件,所述配置文件用于定义所述内存保留区;
解析所述配置文件,根据解析后的配置文件的内容更新内存保留区记录表;
根据更新后的内存保留区记录表修改内存映射表;
将修改后的内存映射表发送给OS,使得所述OS获取内存的使用情况。
结合第一方面,在第一方面的第一种可能的实现方式中,所述解析所述配置文件,根据解析后的配置文件的内容更新内存保留区记录表,包括:
解析所述配置文件,调用内存保留区注册驱动中的注册接口和注销接口,将解析后的配置文件的内容注册或者注销到内存保留区记录表中。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述将解析后的配置文件的内容注册到内存保留区记录表中,包括:
判断内存保留区记录表中的内存保留区是否为已满;
当判断所述内存保留区已满,则返回存储已满;
当判断所述内存保留区未满,则根据注册接口调用者提供的GUID判断,与所述内存保留区记录表中的参数进行比较,若有重复,则返回重复注册;
当判断所述内存保留区无重复,则根据所述注册接口调用者提供的内存保留区的地址和内存保留区的大小,与所述内存保留区记录表中的参数进行比较,当所述内存保留区的地址大于第i块内存保留区的地址和第i块内存保留区的大小之和,或者当所述第i块内存保留区的地址大于所述内存保留区的地址和内存保留区的大小之和时,则将所述解析后的配置文件的内容注册到所述内存保留区记录表中,否则返回注册空间重叠错误。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将解析后的配置文件的内容注销到内存保留区记录表中,包括:
根据注销接口调用者提供的注销内存保留区的参数,与所述内存保留区记录表中的参数进行匹配;
当找到匹配项,则删除所述匹配项的节点;
当未找到匹配项,则返回注销错误。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310104823.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有触摸屏的电子设备及其屏幕解锁方法
- 下一篇:一种盆栽湿度监测仪