[发明专利]一种系统休眠的方法及装置有效
申请号: | 201610066191.0 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105739982B | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 刘长生;吴楠 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F11/14 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 系统 休眠 方法 装置 | ||
本发明公开了一种系统休眠的方法及装置,该方法包括:计算所需申请的内存数;根据计算得到的所述内存数,从非易失性内存中划分出对应的预设数量的物理内存;将所述非易失性内存中划分出的物理内存转换为块设备;使用新生成的所述块设备代替磁盘进行存储内部镜像,用于非易失性内存的系统休眠。本发明所提供的系统休眠的方法及装置在系统休眠时,系统会将需要保存的数据按照原有的流程保存到由内存转换成的块设备中,取代了原先的磁盘,由于从内存中读取数据要远比从磁盘中读取数据快,从而缩短了系统唤醒的时间,提高了用户体验以及工作效率。
技术领域
本发明涉及操作系统技术领域,特别是涉及一种系统休眠的方法及装置。
背景技术
当前在操作系统中,提供了系统的睡眠与休眠两种机制,在节省了系统资源的同时,也提高了用户的体验以及工作效率。当用户使用系统的睡眠或休眠机制时,用户当前所有的工作都会被记录保存,系统唤醒时会重新恢复到之前的工作状态。
目前在系统中的睡眠机制让系统进入部分断电状态,将数据保存到内存中,当唤醒时数据从内存中读取并让系统恢复到之前的状态,唤醒所需的时间较短;而系统的休眠机制则是让系统进入全部断电状态,为了能够在下电时仍然可以保存数据,系统休眠时采用磁盘来保存内存镜像,当系统唤醒时则从磁盘设备中读取数据恢复到之前的状态。由于系统从内存读写数据要比从磁盘读取数据块很多,因此,系统睡眠时唤醒的时间非常短。
鉴于此,提供一种既满足休眠时断电数据不丢失的要求,又缩短唤醒所需要的时间的系统休眠的方法及装置是非常有必要的。
发明内容
本发明的目的是提供一种系统休眠的方法及装置,目的在于解决现有休眠机制中系统唤醒所需要的时间较长的问题。
为解决上述技术问题,本发明提供一种系统休眠的方法,包括:
计算所需申请的内存数;
根据计算得到的所述内存数,从非易失性内存中划分出对应的预设数量的物理内存;
将所述非易失性内存中划分出的物理内存转换为块设备;
使用新生成的所述块设备代替磁盘进行存储内部镜像,用于非易失性内存的系统休眠。
可选地,所述计算所需申请的内存数包括:
通过当前系统中的内存计算所需申请的内存数。
可选地,所述根据计算得到的所述内存数,从非易失性内存中划分出对应的预设数量的物理内存包括:
获取所述非易失性内存所在的节点;
将所述内存数与非易失性内存的物理内存可分配的数量进行比较;
当所述物理内存可分配的数量小于所述内存数时,系统休眠终止,否则从固定地址分配所需的物理内存;
将起始的所述物理内存的地址转换为虚拟地址。
可选地,所述将所述非易失性内存中划分出的物理内存转换为块设备包括:
为所述块设备申请设备号;
为所述块设备申请新的请求队列,根据所述虚拟地址,从申请的所述物理内存中读取或写入相应的数据;
为所述块设备的各个数据结构赋值并注册所述块设备。
可选地,在所述计算所需申请的内存数之前还包括:
接收用户输入的触发指令,开启所述非易失性内存的系统休眠的功能。
本发明还提供了一种系统休眠的装置,包括:
计算模块,用于计算所需申请的内存数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610066191.0/2.html,转载请声明来源钻瓜专利网。