CN102693137A - 用于缩短开机时间的驱动程序加载与初始化方法 - Google Patents

用于缩短开机时间的驱动程序加载与初始化方法 Download PDF

Info

Publication number
CN102693137A
CN102693137A CN2011100716323A CN201110071632A CN102693137A CN 102693137 A CN102693137 A CN 102693137A CN 2011100716323 A CN2011100716323 A CN 2011100716323A CN 201110071632 A CN201110071632 A CN 201110071632A CN 102693137 A CN102693137 A CN 102693137A
Authority
CN
China
Prior art keywords
driver
crowd
loading
drivers
crowd data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011100716323A
Other languages
English (en)
Inventor
林义杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunda Computer Technology Kunshan Co Ltd
Mitac International Corp
Original Assignee
Kunda Computer Technology Kunshan Co Ltd
Mitac International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunda Computer Technology Kunshan Co Ltd, Mitac International Corp filed Critical Kunda Computer Technology Kunshan Co Ltd
Priority to CN2011100716323A priority Critical patent/CN102693137A/zh
Publication of CN102693137A publication Critical patent/CN102693137A/zh
Pending legal-status Critical Current

Links

Images

Abstract

一种用于缩短开机时间的驱动程序加载与初始化方法,包含下列步骤:A)根据一驱动程序群数据组产生多个执行绪,其中,该驱动程序群数据组包括至少一驱动程序群数据,该驱动程序群数据与一驱动程序群相对应,该驱动程序群数据包括多笔驱动程序相关信息,该驱动程序群包括多个不相依的驱动程序,这些驱动程序相关信息分别与这些驱动程序相对应;B)以对应该驱动程序群的一事件信号,来触发该驱动程序群的这些驱动程序的加载与初始化;及C)根据这些驱动程序相关信息,以多执行绪的方式同步进行这些驱动程序的加载与初始化。本发明利用这些执行绪以多执行绪的方式同步进行这些驱动程序的加载与初始化,可有效缩短开机时间。

Description

用于缩短开机时间的驱动程序加载与初始化方法
【技术领域】
本发明是有关于一种缩短开机时间的技术,特别是指一种用于缩短开机时间的驱动程序加载与初始化方法。
【背景技术】
在现有的WinCE(Windows Embedded Compact)操作系统的开机过程中,加载(load)驱动程序(driver)的程序是利用单执行绪(single-thread)的方式循序进行;此种方式使得开机过程中,驱动程序初始化的整体时间为所有驱动程序初始化的时间之累加,导致开机时间较长。
【发明内容】
因此,本发明的目的,即在提供一种用于缩短开机时间的驱动程序加载与初始化方法。
于是,本发明用于缩短开机时间的驱动程序加载与初始化方法,实现于一电子装置,该方法包含下列步骤:
A)在该电子装置执行一开机程序中,根据预先建立的一驱动程序群数据组,产生多个执行绪,其中,该驱动程序群数据组包括至少一驱动程序群数据,该驱动程序群数据与一驱动程序群相对应,该驱动程序群数据包括多笔驱动程序相关信息,该驱动程序群包括多个不相依的驱动程序,这些驱动程序相关信息分别与这些驱动程序相对应;
B)在该开机程序中,以对应该驱动程序群的一事件信号,来触发该驱动程序群的这些驱动程序的加载与初始化;及
C)在该开机程序中,若已触发该驱动程序群的这些驱动程序的加载与初始化,则根据这些驱动程序相关信息,利用这些执行绪以多执行绪的方式同步进行该驱动程序群的这些驱动程序的加载与初始化。
本发明的另一目的,即在提供一种内储驱动程序加载与初始化的程序的程序产品,该程序由一电子装置的一处理器执行而作用如上述用于缩短开机时间的驱动程序加载与初始化方法。
本发明的功效在于:在该电子装置的开机程序中,利用这些执行绪以多执行绪的方式同步进行这些驱动程序的加载与初始化,可有效缩短开机时间。
【附图说明】
图1是本发明的将一电子装置执行一开机程序中需进行加载与初始化的多个驱动程序,区分为N个驱动程序群的示意图。
图2是本发明用于缩短开机时间的驱动程序加载与初始化方法的第一较佳实施例的流程图。
图3是本发明用于缩短开机时间的驱动程序加载与初始化方法的第二较佳实施例的流程图。
【具体实施方式】
有关本发明之前述及其它技术内容、特点与功效,在以下配合参考图式的二个较佳实施例的详细说明中,将可清楚的呈现。
本发明用于缩短开机时间的驱动程序加载与初始化方法的第一较佳实施例,实现于一电子装置(图未示),该电子装置所安装之操作系统为WinCE操作系统,该方法于该电子装置执行一开机程序中执行。
值得一提的是,在执行本发明用于缩短开机时间的驱动程序加载与初始化方法之前,必需预先编辑该操作系统中与驱动程序相关的一预设注册档(registry),以预先建立一驱动程序群(driver group)数据组;编辑完的该预设注册文件包括该驱动程序群数据组。该驱动程序群数据组包括至少一驱动程序群数据,该驱动程序群数据与一驱动程序群相对应,该驱动程序群数据包括多笔驱动程序相关信息,该驱动程序群包括多个不相依(independent)的驱动程序,这些驱动程序相关信息分别与这些驱动程序相对应。
参阅图1,举例来说,假设该电子装置执行该开机程序中需进行加载与初始化的驱动程序为驱动程序1~8;这些驱动程序被区分为驱动程序群1~N;在本范例中,N=3。其中,区分这些驱动程序1~8的原则是:将不相依的驱动程序区分至同一驱动程序群;在本范例中,驱动程序1、驱动程序5,及驱动程序7两两之间不相依,且这些驱动程序需优先被加载与初始化,故,被区分至同一驱动程序群1;驱动程序2、驱动程序4,及驱动程序8两两之间不相依,且这些驱动程序需等待驱动程序群1内至少一驱动程序j(j=1,5,7)被加载与初始化后方能开始进行加载与初始化,故,被区分至同一驱动程序群2;驱动程序3及驱动程序6彼此不相依,且这些驱动程序需等待驱动程序群2内至少一驱动程序j(j=2,4,8)被加载与初始化后方能开始进行加载与初始化,故,被区分至同一驱动程序群3。所谓不相依的两个驱动程序,是指彼此之间不需等待对方完成加载与初始化方能开始进行自身的加载与初始化。
配合上述范例,该驱动程序群数据组包括对应驱动程序群1的驱动程序群1数据、对应驱动程序群2的驱动程序群2数据,及对应驱动程序群3的驱动程序群3数据。其中,驱动程序群1数据包括分别与驱动程序1、驱动程序5,及驱动程序7相对应的驱动程序1相关信息、驱动程序5相关信息,及驱动程序7相关信息;驱动程序群2数据包括分别与驱动程序2、驱动程序4,及驱动程序8相对应的驱动程序2相关信息、驱动程序4相关信息,及驱动程序8相关信息;驱动程序群3数据包括分别与驱动程序3及驱动程序6相对应的驱动程序3相关信息及驱动程序6相关信息。
参阅图1与图2,在本第一较佳实施例中,本发明用于缩短开机时间的驱动程序加载与初始化方法,其实施态样为内储驱动程序加载与初始化之程序的程序产品,该程序系由该电子装置的一处理器(图未示)于该开机程序中执行以下步骤。
在步骤101中,根据预先建立的该驱动程序群数据组,产生(create)多个执行绪(thread)。假设该驱动程序群数据组包括N笔驱动程序群数据,且每一驱动程序群数据的这些驱动程序相关信息的数量以ai表示,其中,i=1,2,...,N,在步骤101中所产生之这些执行绪的数量系等于max{a1,a2,...,aN}。
配合上述范例,该驱动程序群数据组包括驱动程序群1数据(a1=3)、驱动程序群2数据(a2=3),及驱动程序群3数据(a3=2);在该步骤101中所产生的这些执行绪的数量等于max{a1,a2,a3},即,在该步骤101中系产生3个执行绪。
在步骤102中,初始化一驱动程序群索引(以i表示),即,i=1。
在步骤103中,以对应第i个驱动程序群(即,驱动程序群i)的一事件信号(event),来触发(trigger)第i个驱动程序群的这些驱动程序的加载与初始化;若已触发,则继续进行步骤104;否则,搁置(suspend)等待该事件信号。
在本第一较佳实施例中,每一驱动程序群还包括一事件控制程序(eventhandler),在步骤103中,传送对应第i个驱动程序群的该事件信号给第i个驱动程序群的事件控制程序,来触发进行步骤104。
在步骤104中,根据第i个驱动程序群数据的这些驱动程序相关信息,利用这些执行绪以多执行绪(multi-thread)的方式同步进行第i个驱动程序群的这些驱动程序的加载与初始化。其中,每一驱动程序的加载与初始化由一执行绪负责处理。
在步骤105中,等待这些执行绪完成第i个驱动程序群的所有驱动程序的加载与初始化。
在步骤106中,判断是否已执行完最后一个驱动程序群,即,判断i==N是否成立;若是,则继续进行步骤108;否则,继续进行步骤107。
在步骤107中,更新该驱动程序群索引,使得i=i+1。然后,回到步骤103。
在步骤108中,结束(terminate)这些执行绪。然后结束该开机程序中关于驱动程序的加载与初始化。
参阅图1与图3,本发明用于缩短开机时间的驱动程序加载与初始化方法的第二较佳实施例类似于该第一较佳实施例,最主要的差别是在于:在本第二较佳实施例中,执行緒的产生与结束时间点不同。
在步骤201中,初始化一驱动程序群索引(以i表示),即,i=1。
在步骤202中,根据预先建立的该驱动程序群数据组,产生多个执行绪。在本第二较佳实施例中,根据第i个驱动程序群数据的这些驱动程序相关信息的数量来产生这些执行绪。假设该驱动程序群数据组包括N笔驱动程序群数据,且每一驱动程序群数据的这些驱动程序相关信息的数量以ai表示,其中i=1,2,...,N,在步骤202中所产生的这些执行绪的数量等于ai
接下来,步骤203~205所执行的动作类似于步骤103~105,故不再赘述。
在步骤206中,结束用于第i个驱动程序群的ai个执行绪。
在步骤207中,判断是否已执行完最后一个驱动程序群,即,判断i==N是否成立;若是,则结束该开机程序中关于驱动程序之加载与初始化;否则,继续进行步骤208。
在步骤208中,更新该驱动程序群索引,使得i=i+1。然后,回到步骤202。
综上所述,在该电子装置的开机程序中,本发明利用这些执行绪以多执行绪的方式同步进行这些驱动程序的加载与初始化,可有效缩短开机时间,故确实能达成本发明之目的。
以上所述仅为本发明之较佳实施例而已,其描述较为详细具体,不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆属本发明专利涵盖的范围。

Claims (7)

1.一种用于缩短开机时间的驱动程序加载与初始化方法,实现于一电子装置,该方法包含下列步骤:
A)在该电子装置执行一开机程序中,根据预先建立的一驱动程序群数据组,产生多个执行绪,其中,该驱动程序群数据组包括至少一驱动程序群数据,该驱动程序群数据与一驱动程序群相对应,该驱动程序群数据包括多笔驱动程序相关信息,该驱动程序群包括多个不相依的驱动程序,这些驱动程序相关信息分别与这些驱动程序相对应;
B)在该开机程序中,以对应该驱动程序群的一事件信号,来触发该驱动程序群之这些驱动程序的加载与初始化;及
C)在该开机程序中,若已触发该驱动程序群之这些驱动程序的加载与初始化,则根据这些驱动程序相关信息,利用这些执行绪以多执行绪的方式同步进行该驱动程序群之这些驱动程序的加载与初始化。
2.根据权利要求1所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于:在该步骤A)中所产生的这些执行绪的数量,等于该驱动程序群数据的这些驱动程序相关信息的数量。
3.根据权利要求1所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于:该驱动程序群数据组包括多数笔驱动程序群数据,这些驱动程序群数据分别与多数个驱动程序群相对应,每一驱动程序群数据包括多笔驱动程序相关信息,每一驱动程序群包括多个不相依的驱动程序,每一驱动程序群数据的这些驱动程序相关信息分别与相对应于该驱动程序群数据的该驱动程序群的这些驱动程序相对应;针对每一驱动程序群,在该步骤B)中,以对应该驱动程序群的一事件信号,来触发该驱动程序群之这些驱动程序的加载与初始化,在该步骤C)中,若已触发该驱动程序群的这些驱动程序的加载与初始化,则根据相对应于该驱动程序群的该驱动程序群数据的这些驱动程序相关信息,利用这些执行绪以多执行绪的方式同步进行该驱动程序群之这些驱动程序的加载与初始化。
4.根据权利要求3所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于:针对该驱动程序群数据组的每一驱动程序群数据,在该步骤A)中所产生的这些执行绪的数量,等于该驱动程序群数据的这些驱动程序相关信息的数量。
5.根据权利要求3所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于:假设该驱动程序群数据组包括N笔驱动程序群数据,且每一驱动程序群数据的这些驱动程序相关信息的数量以ai表示,其中,i=1,2,...,N,在该步骤A)中所产生的这些执行绪的数量等于max{a1,a2,...,aN}。
6.根据权利要求3所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于针对每一驱动程序群,还包含步骤C)之后的一步骤D):等待这些执行绪完成该驱动程序群之所有驱动程序之加载及初始化。
7.根据权利要求1所述的用于缩短开机时间的驱动程序加载与初始化方法,其特征在于还包含步骤A)之前的一步骤E):提供一预设注册档,该预设注册档包括预先建立的该驱动程序群数据组。
CN2011100716323A 2011-03-24 2011-03-24 用于缩短开机时间的驱动程序加载与初始化方法 Pending CN102693137A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100716323A CN102693137A (zh) 2011-03-24 2011-03-24 用于缩短开机时间的驱动程序加载与初始化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100716323A CN102693137A (zh) 2011-03-24 2011-03-24 用于缩短开机时间的驱动程序加载与初始化方法

Publications (1)

Publication Number Publication Date
CN102693137A true CN102693137A (zh) 2012-09-26

Family

ID=46858618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100716323A Pending CN102693137A (zh) 2011-03-24 2011-03-24 用于缩短开机时间的驱动程序加载与初始化方法

Country Status (1)

Country Link
CN (1) CN102693137A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732264B1 (en) * 1999-12-14 2004-05-04 Intel Corporation Multi-tasking boot firmware
TW200743027A (en) * 2006-05-11 2007-11-16 Insyde Software Corp Computer boot method using a multi-core/hyper-threading processor
CN101283330A (zh) * 2005-10-06 2008-10-08 微软公司 从关闭状态快速引导操作系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732264B1 (en) * 1999-12-14 2004-05-04 Intel Corporation Multi-tasking boot firmware
CN101283330A (zh) * 2005-10-06 2008-10-08 微软公司 从关闭状态快速引导操作系统
TW200743027A (en) * 2006-05-11 2007-11-16 Insyde Software Corp Computer boot method using a multi-core/hyper-threading processor

Similar Documents

Publication Publication Date Title
US7383427B2 (en) Multi-scalar extension for SIMD instruction set processors
CN105814541B (zh) 计算机设备及计算机设备内存启动的方法
CN100458690C (zh) 多操作系统的计算机系统及改变计算机系统的操作系统的方法
US6842856B2 (en) System and method for dynamic management of a startup sequence
US7263605B2 (en) Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices
JP2011040059A5 (zh)
DE602005009494D1 (de) Bildung einer befehlsreihenfolge in einer nicht sequentiell dma-befehlswarteschlange
CN101344857B (zh) 用于加速Java翻译的设备和方法
CN110134446A (zh) 启动pcie设备扫描的方法
US6907597B1 (en) Method and apparatus for constructing an executable program in memory
CN109189486B (zh) 显示屏驱动的加载方法、装置、终端及存储介质
DE102005054772A1 (de) System und Methode der Expressausführung des Abspielens von Computer-Multimediadaten
US7228527B1 (en) Method and system for structuring a procedure
CN107193633A (zh) 一种批量创建虚拟机的方法及装置
CN102693137A (zh) 用于缩短开机时间的驱动程序加载与初始化方法
CN107539239A (zh) 用于汽车电子控制单元中启动汽车电子的方法和系统
CN102799451B (zh) Wince系统镜像构建方法和系统、wince系统镜像
EP2601576B1 (de) Auswertung der dauer des niederdrückens des einschalters zur auswahl einer vollständigen oder verkürzten boot-sequenz eines pc
US20070234029A1 (en) Methods and apparatus for context sensitive component dispatch management
CN112395015A (zh) 基于Android系统加速开机的优化方法及装置
US20070074075A1 (en) Computer program testing method
CN102968284B (zh) 打印机和打印处理方法
CN113064591A (zh) 一种wpf页面动态生成方法、系统、设备及介质
JP2011511987A5 (zh)
KR102292211B1 (ko) 전자기기

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120926