交换操作的实现方法和装置的制造方法_5

文档序号:8905054阅读:来源:国知局
控制器为所述第一数据分配了所述第一空闲物理内存页面,则所述内存控 制器根据剩余的空闲物理内存空间状态判断是否启动交换SWAP换出操作。2. 根据权利要求1所述的方法,其特征在于,所述内存控制器根据当前空闲物理内存 空间状态和所述第一请求的优先级判断是否为所述第一数据分配所述第一空闲物理内存 页面,包括: 所述内存控制器判断当前空闲物理内存空间是否大于第一阈值; 若是,则所述内存控制器为所述第一数据分配所述第一空闲物理内存页面;若否,则所 述内存控制器判断所述第一请求的优先级是否大于第二阈值; 若是,则所述内存控制器为所述第一数据分配所述第一空闲物理内存页面; 若否,则所述内存控制器将所述第一数据存储至所述SWAP分区。3. 根据权利要求2所述的方法,其特征在于,若所述内存控制器为所述第一数据分配 了所述第一空闲物理内存页面,则所述内存控制器根据剩余的空闲物理内存空间状态判断 是否启动SWAP换出操作,包括 : 若所述内存控制器判断剩余的空闲物理内存空间状态小于第三阈值,则所述内存控制 器启动SWAP换出操作。4. 根据权利要求3所述的方法,其特征在于,所述内存控制器启动SWAP换出操作,具体 包括: 所述内存控制器确定访问频度小于第五阈值的物理内存页面; 所述内存控制器在所述SWAP分区中选择第一磁盘片段; 所述内存控制器将所述访问频度小于第五阈值的物理内存页面中的数据迁移至所述 第一磁盘片段; 所述内存控制器将所述第一虚拟地址和所述第一磁盘片段的映射关系增加至SWAP分 区映射表中;其中,所述SWAP分区映射表包括各个虚拟地址和各个虚拟地址对应的数据在 所述SWAP分区中的存储位置之间的映射关系。5. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述内存控制器根据当前SWAP分区的第二数据的访问频度判断是否启动SWAP换入操 作。6. 根据权利要求5所述的方法,其特征在于,所述内存控制器根据当前SWAP分区的第 二数据的访问频度确定是否启动SWAP换入操作,包括 : 若所述内存控制器判断当前SWAP分区中的第二数据的访问频度大于第四阈值,则所 述内存控制器启动SWAP换入操作。7. 根据权利要求6所述的方法,其特征在于,所述内存控制器启动SWAP换入操作,具体 包括: 所述内存控制器为所述第二数据分配第二空闲物理内存页面; 所述内存控制器将所述第二数据迁移至所述第二空闲物理内存页面; 所述内存控制器更新SWAP分区映射表。8. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述内存控制器判断所述当前空闲物理内存空间状态和当前未分配的SWAP分区状 态均小于第六阈值,则所述内存控制器通知操作系统执行缺页异常处理。9. 根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括: 所述内存控制器接收处理器发送的第二请求;其中,所述第二请求携带第二虚拟地 址; 所述内存控制器判断所述第二虚拟地址是否合法; 若不合法,则所述内存控制器上报所述第二虚拟地址错误给操作系统; 若合法,则所述内存控制器根据页表判断所述内存控制器是否为所述第二虚拟地址对 应的第三数据分配了存储空间,获得判断结果; 所述内存控制器根据所述判断结果执行第一操作。10. 根据权利要求9所述的方法,其特征在于,若所述判断结果为所述内存控制器为所 述第三数据分配了所述存储空间,则所述第一操作包括: 所述内存控制器根据所述页表判断所述第三数据是否存放于SWAP分区中; 若是,则所述内存控制器根据SWAP分区映射表确定所述第三数据存储在所述SWAP分 区中的位置和长度信息; 所述内存控制器根据所述第三数据存储在所述SWAP分区中的位置访问所述第三数 据; 所述内存控制器将所述第三数据发送给所述处理器; 若否,则所述内存控制器确定所述第三数据存储在物理内存空间中; 所述内存控制器根据所述页表确定所述第三数据在所述物理内存空间中对应的物理 地址; 所述内存控制器根据所述物理地址访问所述第三数据; 所述内存控制器将所述第三数据发送给所述处理器。11. 根据权利要求9所述的方法,其特征在于,若所述判断结果为所述内存控制器没有 为所述第三数据分配所述存储空间,则所述第一操作包括: 所述内存控制器执行缺页中断处理,为所述第三数据分配所述存储空间。12. -种交换操作的实现装置,其特征在于,包括: 接收模块,用于接收处理器发送的第一请求;其中,所述第一请求包括第一虚拟地址, 用于请求为所述第一虚拟地址对应的第一数据分配第一空闲物理内存页面; 判断分配模块,用于根据当前空闲物理内存空间状态和所述第一请求的优先级判断是 否为所述第一数据分配所述第一空闲物理内存页面;还用于若所述判断分配模块为所述第 一数据分配了所述第一空闲物理内存页面,则根据剩余的空闲物理内存空间状态判断是否 启动交换SWAP换出操作。13. 根据权利要求12所述的装置,其特征在于,所述判断分配模块,具体用于判断当前 空闲物理内存空间是否大于第一阈值;若是,则为所述第一数据分配所述第一空闲物理内 存页面;若否,则判断所述第一请求的优先级是否大于第二阈值;若是,则为所述第一数据 分配所述第一空闲物理内存页面;若否,则将所述第一数据存储至所述SWAP分区。14. 根据权利要求13所述的装置,其特征在于,所述判断分配模块,具体用于若判断所 述剩余的空闲物理内存空间状态小于第三阈值,则确定启动SWAP换出操作。15. 根据权利要求14所述的装置,其特征在于,所述判断分配模块,具体包括: 确定单元,用于确定访问频度小于第五阈值的物理内存页面; 选择单元,用于在所述SWAP分区中选择第一磁盘片段; 第一迁移单元,用于将所述访问频度小于第五阈值的物理内存页面中的数据迁移至所 述第一磁盘片段; 增加单元,用于将所述第一虚拟地址和所述第一磁盘片段的映射关系增加至SWAP分 区映射表中;其中,所述SWAP分区映射表包括各个虚拟地址和各个虚拟地址对应的数据在 所述SWAP分区中的存储位置之间的映射关系。16. 根据权利要求12所述的装置,其特征在于,所述判断分配模块,还用于根据当前 SWAP分区的第二数据的访问频度判断是否启动SWAP换入操作。17. 根据权利要求16所述的装置,其特征在于,所述判断分配模块,具体用于若判断当 前SWAP分区中的第二数据的访问频度大于第四阈值,则确定启动SWAP换入操作。18. 根据权利要求17所述的装置,其特征在于,所述判断分配模块,还包括: 分配单元,用于为所述第二数据分配第二空闲物理内存页面; 第二迁移单元,用于将所述第二数据迁移至所述第二空闲物理内存页面; 更新单元,用于更新SWAP分区映射表。19. 根据权利要求12所述的装置,其特征在于,所述判断分配模块还用于若判断所述 当前空闲物理内存空间状态和当前未分配的SWAP分区状态均小于第六阈值,则通知操作 系统执行缺页异常处理。20. 根据权利要求12-19任一项所述的装置,其特征在于,所述接收模块,还用于接收 处理器发送的第二请求;其中,所述第二请求携带第二虚拟地址;所述判断分配模块,还用 于判断所述第二虚拟地址是否合法;若不合法,则所述判断分配模块上报所述第二虚拟地 址错误给操作系统;若合法,则所述判断分配模块根据页表判断是否为所述第二虚拟地址 对应的第三数据分配了存储空间,获得判断结果;并根据所述判断结果执行第一操作。21. 根据权利要求20所述的装置,其特征在于,所述装置还包括:发送模块和访问模 块;若所述判断结果为所述判断分配模块为所述第三数据分配了所述存储空间,则所述判 断分配模块,具体用于根据所述页表判断所述第三数据是否存放于SWAP分区中; 若是,则所述判断分配模块根据SWAP分区映射表确定所述第三数据存储在所述SWAP 分区中的位置和长度信息;则所述访问模块,具体用于根据所述第三数据存储在所述SWAP 分区中的位置访问所述第三数据;所述发送模块,具体用于将所述第三数据发送给所述处 理器; 若否,则所述判断分配模块确定所述第三数据存储在物理内存空间中,并根据所述页 表确定所述第三数据在所述物理内存空间中对应的物理地址;则所述访问模块,用于根据 所述物理地址访问所述第三数据;所述发送模块,用于将所述第三数据发送给所述处理器。22. 根据权利要求20所述的装置,其特征在于,若所述判断结果为所述判断分配模块 没有为所述第三数据分配所述存储空间,则所述判断分配模块,具体用于执行缺页中断处 理,为所述第三数据分配所述存储空间。
【专利摘要】本发明实施例提供一种交换操作的实现方法和装置。该方法包括:内存控制器接收处理器发送的第一请求;其中,所述第一请求包括第一虚拟地址,用于请求所述内存控制器为所述第一虚拟地址对应的第一数据分配第一空闲物理内存页面;所述内存控制器根据当前空闲物理内存空间状态和所述第一请求的优先级判断是否为所述第一数据分配所述第一空闲物理内存页面;若所述内存控制器为所述第一数据分配了所述第一空闲物理内存页面,则所述内存控制器根据剩余的空闲物理内存空间状态判断是否启动SWAP换出操作。本发明实施例提供的方法,降低了操作系统的开销,提升了计算机性能。
【IPC分类】G06F12/08, G06F3/06
【公开号】CN104881241
【申请号】CN201410072521
【发明人】黄永兵, 刘垚, 陈明宇
【申请人】华为技术有限公司, 中国科学院计算技术研究所
【公开日】2015年9月2日
【申请日】2014年2月28日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1