[发明专利]一种计算机操作系统启动加速的方法和装置有效
申请号: | 201410058571.0 | 申请日: | 2014-02-20 |
公开(公告)号: | CN103810009B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 李常坤;汤迪斌 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京市中伦律师事务所11410 | 代理人: | 张思悦 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算机 操作 系统启动 加速 方法 装置 | ||
1.一种计算机操作系统启动加速的方法,包括:
响应于启动计算机的操作系统的引导程序的请求,创建预读取线程;
所述预读取线程和计算机的操作系统并发地去读取数据,其中预读取线程从计算机的磁盘中读取用于操作系统启动的预先定义的预读取数据,所述预读取数据预先由启动文件生成;
将读取的预读取数据缓存到计算机的内存中;以及
响应于加载计算机的操作系统的预读取数据的请求,从计算机的内存中读取并加载预先设置的用于操作系统启动的预读取数据,以完成计算机操作系统的启动;
其中,在操作系统启动过程中,利用所述预读取线程继续读取所述预读取数据,并且接收到操作系统从磁盘中读取数据的请求时,在预先定义的时间段内暂停所述预读取线程的读取,并响应所述操作系统从磁盘中读取数据的请求;
所述方法还包括:
预先记录操作系统启动的信息,并且基于所述信息以及用于之前一次或多次操作系统启动的预先定义的预读取数据,生成用于之后一次或多次操作系统启动的预先定义的预读取数据,并且按照系统启动时读取的优先级对所述预先定义的预读取数据中的数据进行排序,其中数据的读取的优先级越高,所述数据越早被预读取线程从计算机的磁盘中读取出来;
其中利用预读取线程读取所述预读取数据的步骤包括:
在小于或等于预先定义的读取请求时间间隔的情况下,利用至少两个读取请求按照磁盘排序和磁盘偏移同时读取至少两个文件;以及
在大于预先定义的读取请求时间间隔的情况下,利用至少两个读取请求按照操作系统启动时处理文件的时间顺序先后读取至少两个文件。
2.根据权利要求1所述的方法,所述方法还包括:
记录计算机的磁盘进行磁盘碎片整理时磁盘中数据的移动信息;
根据所述磁盘中数据的移动信息和之前的所述预先定义的预读取数据重新生成用于之后一次或多次操作系统启动的预读取数据。
3.根据权利要求1所述的方法,其中所述操作系统启动的信息包括操作系统启动所花费的时间、操作系统从内存中读取所缓存的预读取数据的描述信息。
4.根据权利要求1至3中的任一项所述的方法,其中利用预读取线程读取所述预读取数据的步骤还包括:
在接收到操作系统从磁盘中读取数据的请求时,在预先定义的时间段后,在操作系统未从磁盘中获取到所述数据的情况下,利用预读取线程读取所述数据,并将所述数据缓存到内存中以供操作系统读取。
5.根据权利要求1至3中的任一项所述的方法,其中利用预读取线程读取所述预读取数据的步骤还包括:
在接收到操作系统从磁盘中读取数据的请求时,在预先定义的时间段后,在检测到操作系统仍在读取地址偏移连续的数据的情况下,保持暂停所述预读取线程的读取,直到检测到操作系统读取地址偏移不连续的数据,然后恢复所述预读取线程的读取。
6.根据权利要求1至3中的任一项所述的方法,其中利用预读取线程读取所述预读取数据的步骤还包括:
在检测到操作系统对磁盘进行自检时,暂停所述预读取线程读取所述预读取数据,直到检测到磁盘自检结束,然后恢复所述预读取线程读取所述预读取数据。
7.根据权利要求1至3中的任一项所述的方法,其中利用预读取线程读取所述预读取数据的步骤还包括:
在接收到操作系统从磁盘中读取数据的请求时,在检测到操作系统要从磁盘中读取的数据中的部分包括在所述预读取数据中的情况下,将读取的数据缓存到内存中以供操作系统读取;并且在预先定义的时间段后,在操作系统未从磁盘中获取到其它部分的数据的情况下,利用预读取线程读取所述其它部分的数据,并将所述其它部分的数据缓存到内存中以供操作系统读取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410058571.0/1.html,转载请声明来源钻瓜专利网。