[发明专利]用于监控和自适应地预载入关键动态连接库的方法和系统有效
申请号: | 200710127370.1 | 申请日: | 2007-07-02 |
公开(公告)号: | CN101339511A | 公开(公告)日: | 2009-01-07 |
发明(设计)人: | 冯宏华;阎小兵;程远;魏星;曲民 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/48 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 黄小临 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 监控 自适应 载入 关键 动态 连接 方法 系统 | ||
技术领域
本发明一般涉及预载入关键动态连接库的方法和系统,具体涉及在操作系统启动时自适应地预载入频繁载入的动态连接库的方法和系统
背景技术
当前,随着应用程序变得越来越复杂,它们的启动性能变得越来越差。在很多时候,应用程序越来越复杂意味着包含许多动态连接库。例如,在Windows操作系统下,具有超过100个动态连接库文件(*.dll文件)的应用程序并不少见。如人们所公知的,应用程序在启动时需要载入它们的动态连接库,因此动态连接库载入对具有许多动态连接库的应用程序的启动性能起着十分重要的作用。
就各个用户而言,显然希望系统中其最喜爱的应用程序(通常也是最频繁使用的应用程序)具有可接受的启动性能,以获得较好的用户体验。因此,既使用户最喜爱的应用程序具有大量将会影响其启动性能的动态连接库,用户也希望该应用程序具有较好的启动性能。
一种解决这一问题的已知解决方案是利用操作系统的“服务”特征。通过这一特征,操作系统提供将用户最喜爱的应用程序登记为“服务”程序、以便在启动操作系统时自动启动该应用程序的机制。由于这些“服务”程序从操作系统启动时就已经在后台运行,因此无论何时用户需要这些应用程序中的一个执行任务,该应用程序可以迅速地显现并执行该任务。这无疑改善了用户的感受。
但是这一方法具有其自身的缺陷。首先,由于用户最喜爱的应用程序(即最频繁使用的应用程序)很少会保持不变,而用户也很少会将不再频繁使用的“服务”程序从“服务”列表中移除,因此该方法的自适应性较差。其次,当用户登记了越来越多的“服务”程序时,“服务”列表逐渐膨胀,从而导致操作系统的启动性能变差。与此同时,“服务”列表成为操作系统管理的另一困难所在。此外,由于“服务”程序从操作系统启动开始就一直运行,而它们中的大多数在绝大多数时间并未被用户使用,因此存在明显的与“服务”程序的数量和大小成比例的系统运行时资源(主要是内存和CPU资源)的损失。
发明内容
本发明旨在改善应用程序的启动性能,同时摆脱由“服务”机制引入的缺陷。
本发明的核心可被概括为:在操作系统运行期间,监控每个动态连接库的载入频率并且记录到日志文件中。当下一次操作系统启动时,自动载入日志文件中所记录的最频繁载入的一个或多个动态连接库。从而当最频繁使用的应用程序在用户使用它们而真正启动时,可以快速地启动,因为它们的大多数动态连接库在之前已经被载入了。
本发明的发明人基于以下几个事实而构思出本发明:1.动态连接库载入在应用程序的启动性能中起着很重要的作用;2.由于高速缓冲存储器的特性,一旦某一动态连接库曾经被载入过,则后来再次载入该动态连接库所花费的时间与首次载入该动态连接库所花费的时间相比是微不足道的。(许多由再次载入曾经载入过的动态连接库所带来的读取请求可以通过高速缓冲存储器的命中而得到满足。高速缓冲存储器命中意味着那些读取请求从高速缓冲存储器中获取它们的数据而不是从低速硬盘中获取);3.最频繁使用的应用程序的动态连接库是最频繁载入的动态连接库。
根据本发明的一个方面,提供了一种用于自适应地载入频繁载入的动态连接库的系统,包括:监控器,用于在操作系统运行期间监控每个动态连接库的载入事件,并响应于载入事件将相应动态连接库的载入时间和频率信息记录到日志文件中;调用器,用于在操作系统启动时自动载入所述日志文件中记录的最频繁载入的一个或多个动态连接库。
根据本发明的另一个方面,提供了一种用于自适应地载入频繁载入的动态连接库的方法,包括:在操作系统运行期间,监控每个动态连接库的载入事件;响应于所述载入事件将相应动态连接库的载入时间和频率信息记录到一日志文件中;在下一次操作系统启动时,自动载入所述日志文件中记录的最频繁载入的一个或多个动态连接库。
附图说明
结合附图,从下面对实施例的描述中,本发明的这些和/或其他方面、特征和优点将变得清楚和更加容易理解,其中:
图1是示出根据本发明的实施例、用于自适应地预载入频繁载入的动态连接库的预载入系统的方框图;
图2是示出根据本发明实施例的预载入系统所进行的预载入处理的方框图;
图3示出了图1中所示的监控器进行的监控处理的具体流程图;
图4示出了图1中所示的调用器预载入最频繁载入的动态连接库的处理流程图;
图5示出了应用根据本发明实施例的动态连接库预载入系统的一个具体示例。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710127370.1/2.html,转载请声明来源钻瓜专利网。