CN101551755A - 信息处理装置及信息处理方法 - Google Patents
信息处理装置及信息处理方法 Download PDFInfo
- Publication number
- CN101551755A CN101551755A CNA2009101333542A CN200910133354A CN101551755A CN 101551755 A CN101551755 A CN 101551755A CN A2009101333542 A CNA2009101333542 A CN A2009101333542A CN 200910133354 A CN200910133354 A CN 200910133354A CN 101551755 A CN101551755 A CN 101551755A
- Authority
- CN
- China
- Prior art keywords
- device driver
- driver
- signal conditioning
- conditioning package
- hardware
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title abstract description 10
- 238000003672 processing method Methods 0.000 title abstract description 4
- 238000003860 storage Methods 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000003750 conditioning effect Effects 0.000 claims description 78
- 238000000034 method Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 19
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 description 39
- 230000006870 function Effects 0.000 description 26
- 238000007726 management method Methods 0.000 description 22
- 238000013500 data storage Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000007639 printing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 241000675108 Citrus tangerina Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N ferric oxide Chemical compound O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Abstract
本发明涉及信息处理装置及信息处理方法。所述信息处理装置包括:硬件设备;执行使用该硬件设备的操作的至少一个应用程序;操作***;管理所述硬件设备的第一设备驱动程序和第二设备驱动程序;第一存储单元,存储所述第一设备驱动程序和所述第二设备驱动程序;第二存储单元,包括用于使用所述操作***操作所述第一设备驱动程序和所述第二设备驱动程序的存储区域。所述操作***控制所述第一存储单元和所述第二存储单元,以响应于所述信息处理装置的启动将该第二设备驱动程序加载到所述存储区域上。所述操作***还控制所述第一存储单元和所述第二存储单元,以在启动所述信息处理装置之后满足预定条件时,将该第一设备驱动程序加载到所述存储区域上。
Description
技术领域
本发明涉及信息处理装置及信息处理方法。
背景技术
信息处理装置具有硬件设备(下文也称为“设备”),可以使用在该信息处理装置上操作的操作***(OS)控制所述硬件设备。
在OS上操作的应用程序经由设备驱动程序控制硬件设备。如果在OS上操作的应用程序直接控制硬件设备,并且已从多个应用程序向硬件设备发出了多个请求,则应用程序不能确定要处理哪个请求。为了避免这个问题,在OS上操作的应用程序可以经由设备驱动程序控制硬件设备。
在信息处理装置上操作的OS,在信息处理装置的启动期间,将设备驱动程序从非易失性存储单元(例如,硬盘)加载到易失性存储单元(例如,动态随机存取存储器(DRAM))以控制硬件设备(例如,参见日本专利申请特开第2001-34480号公报)。
缩短启动具有硬件设备的信息处理装置需要的时间是所期望的优点。
然而,在信息处理装置的启动期间,将设备驱动程序加载到存储区域(例如,DRAM上的存储区域)上来操作该设备驱动程序,会需要大量的时间来完成该设备驱动程序的加载。尤其是,用于具有多个复杂功能的硬件设备的设备驱动程序的数据量很大。因此,加载这样的设备驱动程序花费的时间会很长。
在日本专利申请特开第2001-34480号公报公开的方法中,预先对多个设备驱动程序进行指定,以向OS通知应该在启动信息处理装置时加载所述多个设备驱动程序中的特定设备驱动程序,还是在启动时不加载所述多个设备驱动程序中的特定设备驱动程序。对于预先指定为启动时不加载的设备驱动程序,执行控制,使得只有在访问了该设备驱动程序时才加载该设备驱动程序。
因此,与在信息处理装置的启动期间将信息处理装置上操作的OS能够加载的所有设备驱动程序进行加载相比,能够缩短启动信息处理装置所花费的时间。
在日本专利申请特开第2001-34480号公报公开的常规方法中,当OS管理的应用程序访问了其设备驱动程序尚未加载的设备时,加载符合的设备驱动程序。应用程序进行等待,直到该设备驱动程序被加载并且从OS接收到响应。因此,应用程序的处理会延迟。
当应用程序发出了针对表示硬件设备的结构的结构信息的请求时,OS可能只将该结构信息通知给应用程序。
然而,要加载的设备驱动程序可能包含除结构信息以外的信息。因此,直到加载该结构信息之后还加载了其它信息时,应用程序才能接收到该结构信息。
发明内容
本发明旨在提供一种信息处理装置,该信息处理装置具有用于缩短启动信息处理装置所用的时间的硬件设备,并且通过应用程序执行利用该硬件设备的操作缩短了处理时间。
根据本发明的一个方面,提供了一种信息处理装置,所述信息处理装置包括:硬件设备;至少一个应用程序,其被构成为执行使用所述硬件设备的操作;操作***,其被构成为管理所述至少一个应用程序;第一设备驱动程序,其被构成为管理所述硬件设备并包括用于控制所述硬件设备的硬件控制信息;第二设备驱动程序,其被构成为管理所述硬件设备并包括关于所述硬件设备的设备信息;第一存储单元,其被构成为存储所述第一设备驱动程序和所述第二设备驱动程序;第二存储单元,其被构成为包括用于经由所述操作***操作所述第一设备驱动程序和所述第二设备驱动程序的存储区域。所述操作***被构成为控制所述第一存储单元和所述第二存储单元,以响应于所述信息处理装置的启动将所述第二设备驱动程序加载到所述存储区域上,并且在启动所述信息处理装置之后预定条件被满足时将所述第一设备驱动程序加载到所述存储区域上。
参照附图,根据以下对各实施例的详细描述,本发明的其他特征和方面将变得清楚。
附图说明
附图包括在说明书中并构成说明书一部分,其例示了本发明的各种实施例、特征和方面,并与文字描述一起用于说明本发明的基本原理。
图1例示了根据本发明第一实施例的信息处理装置的示例性软件结构。
图2例示了根据本发明第一实施例的信息处理装置的示例性硬件结构。
图3例示了根据本发明第一实施例的信息处理装置的操作面板的示例性外观。
图4例示了根据本发明第一实施例的设备驱动程序的示例性内部结构。
图5例示了根据本发明第一实施例的构架(skeleton)驱动程序的示例性内部结构。
图6例示了根据本发明第一实施例的全(full)驱动程序的示例性内部结构。
图7是例示了根据本发明第一实施例在启动信息处理装置时由信息处理装置的中央处理单元(CPU)执行的示例性处理的流程图。
图8是例示了根据本发明第一实施例在启动信息处理装置时由信息处理装置的OS执行的示例性处理的流程图。
图9是例示了根据本发明第一实施例在启动信息处理装置时由应用程序执行的示例性处理的流程图。
图10例示了根据本发明第二实施例的构架驱动程序的示例性内部结构。
图11例示了根据本发明第二实施例的全驱动程序的示例性内部结构。
图12例示了根据本发明第二实施例的构架驱动程序与全驱动程序之间的关系。
图13例示了根据本发明第三实施例的表示用于开始加载设备驱动程序的等待时间的表的示例。
图14是例示了根据本发明第三实施例在启动信息处理装置时由信息处理装置的OS执行的示例性处理的流程图。
图15是例示了根据本发明第三实施例在启动信息处理装置时由信息处理装置的OS执行的示例性处理的流程图。
具体实施方式
以下将参照附图对本发明的各种实施例、特征及方面进行详细的说明。应当注意,在这些实施例中提及的组件的相对布置、数字表示及数值并不限制本发明的范围。
以下将对本发明第一实施例进行详细的说明。图2例示了根据本发明第一实施例的信息处理装置的硬件结构。根据本实施例的信息处理装置是具有诸如复印功能、传真发送功能和打印机功能的多个功能的多功能***设备(MFP)。然而,本发明并不限于本实施例。个人计算机(PC)可以用作根据本实施例的信息处理装置。
参照图2,CPU 201连接到存储器控制器202。CPU 201从连接到存储器控制器202的DRAM 203加载各种程序并执行它们。除了所述程序之外,DRAM 203还可以存储诸如运算数据或其它数据的各种数据。存储器控制器202连接到LCD控制器204和总线控制器205。
串行通信接口控制器(SIO)206和只读存储器(ROM)207连接到总线控制器205。总线控制器205包括电子集成驱动器(IDE,Integrated DriveElectronics)物理层(PHY)210(是用于连接到硬盘的连接器)和网络PHY208(是用于连接到网络电缆的连接器)。总线控制器205可以用作硬盘控制器和网络控制器。
LCD控制器204和SIO 206连接到面板PHY 209。具有能使用户操作信息处理装置的LCD屏(触摸屏)的操作面板220(图3)连接到面板PHY209。以下参照图3对操作面板220进行详细的说明。
ROM 207存储用于操作信息处理装置的设定值和启动信息处理装置所需的引导程序。
信息处理装置包括CPU 217。CPU 217经由总线212与DRAM 216和诸如硬件设备(PHY)213到硬件设备(PHY)215的各种硬件设备进行通信。DRAM 216存储各种数据和CPU 217执行的各种程序。
总线212经由总线桥211连接到总线控制器205。可以经由总线控制器205、总线桥211和总线212将DRAM 203上存储的各种数据发送给DRAM 216。也可以以相反的方向发送数据。
CPU 201和CPU 217能够经由总线桥211互相通信。因此,CPU 201可以通过与CPU 217通信来控制连接到各种硬件设备(PHY)213到硬件设备(PHY)215的硬件单元。CPU 201可以从连接到连接器(IDE PHY)210的硬盘(HDD)将CPU 217执行的程序加载并写在DRAM 216上。HDD是非易失性第一存储单元,而DRAM 216是易失性第二存储单元。
操作面板220连接到面板PHY 209,以下将对该操作面板220进行详细的说明。
图3例示了根据本实施例的操作面板220的外观。
操作面板220包括数字键301。信息处理装置的用户操作数字键301来输入各种参数和信息。操作面板220包括复位按钮302。用户可以操作复位按钮302来清除(取消)用户经由操作面板220输入的设置。
操作面板220包括软电源按钮303。用户可以操作软电源按钮303来发出用于对信息处理装置通电和断电的指令。用户可以操作开始按钮304来发出用于开始诸如传真发送功能和复印功能的各种功能的指令。用户可以操作停止按钮305来暂停当前执行的功能。
发光二极管(LED)306指示信息处理装置被通电还是断电。LED 310指示信息处理装置中当前执行的作业的状态。LED 311指示关于在信息处理装置上发生的错误的信息。在通过SIO 206进行的串行通信中,可以将这些LED设定为关闭状态、绿灯亮状态、绿灯闪状态或桔灯亮状态。
用户可以操作帮助(指南)键307来显示和参照用于操作信息处理装置的各种帮助画面。用户可以操作用户模式键308来将信息处理装置的操作模式改变为用户模式。
操作面板220包括触摸屏309,该触摸屏309包括液晶显示器。当用户操作操作面板220上的各种按钮或触摸屏309时,经由面板PHY 209和SIO 206向CPU 201通知操作信息。
CPU 201通过根据DRAM 203上存储的程序控制LCD控制器204,来显示触摸屏309并更新触摸屏309上显示的信息。CPU 201通过控制SIO206来执行用于点亮和熄灭LED的控制。
以下将对根据本实施例的信息处理装置的功能进行详细的说明。
在发出用于开始复印作业的指令前,用户将文档放置在连接到扫描仪PHY 215的扫描仪单元(未图示)上,并操作操作面板220来进行复印作业的设置。复印作业的设置包括复印份数的设置、用于拣选输出品的方法和用于读取文档的放大率。这些设置值存储在DRAM 203上。当用户按下开始按钮304时,CPU 201检测到按下了开始按钮304并指示CPU 217驱动扫描仪单元。
CPU 201除了将用于驱动扫描仪单元的指令通知给CPU217之外,还将放大率的设定值和关于获取的图像数据的发送目的地的信息通知给CPU 217。将来自扫描仪单元的图像数据的发送目的地指定为DRAM 203或DRAM 216。在从CPU 201接收到上述指令和信息后,CPU 217根据所接收到的指令和信息经由扫描仪PHY 215驱动扫描仪单元。
扫描仪单元通过对用户放置的文档进行光学扫描来形成图像数据。然后将扫描仪单元读取的图像数据存储在DRAM 216上。在图像数据经过预定图像处理后,图像数据被发送到CPU 201指定的图像数据发送目的地并存储在那里。如果CPU 201将图像数据存储在连接到IDE PHY 210的硬盘上,也是实用的。
CPU 201向CPU 217发出用于使用连接到打印机PHY 214的打印机引擎(未图示)打印所获取的图像数据的指令。在接收到来自CPU 201的打印指令后,CPU 217经由打印机PHY 214控制打印机引擎以打印所指示的图像数据。打印机引擎根据来自CPU 217的指令将图像数据打印在打印片材(sheet)上。
向打印机引擎逐页发出打印指令。当将具有多页的文档放置在扫描仪单元上时,CPU 201多次(等于文档页数)指示CPU 217打印图像数据。当用户经由操作面板220指示了拣选方法(sorting method)时,通过CPU201根据用户指示的拣选方法指定要打印的图像数据,来实现拣选功能。
以下将详细说明根据本实施例的传真发送处理。在开始传真发送作业前,用户将文档放置在连接到扫描仪PHY 215的扫描仪单元上。用户操作操作面板220以输入发送目的地的电话号码并进行用于读取文档图像的设置。
当用户按下开始按钮304时,CPU 201检测到已按下了开始按钮304,并且指示CPU 217驱动扫描仪单元以读取文档的图像。然后将读取的图像数据存储在DRAM 203、硬盘或DRAM 216上。
CPU 201指示CPU 217通过利用连接到FAX PHY 213的传真发送单元(未图示)将存储的图像数据发送到与指定的电话号码相对应的发送目的地。CPU 217通过经由FAXPHY213控制传真发送单元,来将CPU 201指定的图像数据发送到与指定的电话号码相对应的发送目的地。
以下将对根据本实施例的用于接收传真的处理进行详细的说明。当经由传真接收到图像数据时,传真发送单元向CPU 217通知已接收到图像数据。传真发送单元将从发送源装置接收到的图像数据发送到DRAM 216并存储在那里。
CPU 217向CPU 201通知经由传真接收到图像数据以及该图像数据和关于该图像数据的信息。CPU 201指示CPU 217利用打印机引擎输出所接收到的图像数据。打印机引擎打印经由传真发送单元接收到的图像数据。
将用户生成的诸如页面描述语言(PDL)数据的文档数据通过网络经由连接器208发送给信息处理装置。经由连接器208接收到的文档数据被暂时存储在DRAM 203上。CPU 201解释DRAM 203上存储的文档数据,并将文档数据转换成图像数据。CPU 201将图像数据存储在DRAM 203上。CPU 201指示CPU 217利用打印机引擎输出图像数据。CPU 217经由打印机PHY214控制打印机引擎以打印图像数据。
可以将由上述复印功能、传真发送功能和打印机功能打印并输出的图像数据存储在连接到IDE PHY 210的硬盘上。打印过的图像数据可以再次使用。当处理多个图像数据时,将存储在DRAM 203上的图像数据发送给硬盘并从DRAM 203中删除被发送的图像数据。利用这种结构,在图像数据的处理期间,可以读取或生成其它图像数据。这种结构可以增大处理作业的速度。
以下将参照图1详细说明CPU 201执行的软件***的示例性结构。图1例示了根据本实施例的信息处理装置的软件结构。
图1例示了根据本实施例的信息处理装置的CPU 201执行的软件***的结构。
参照图1,控制作业的作业控制单元141在OS 120上操作。用户界面(UI)控制应用程序142控制操作面板220,并在OS 120上操作。打印控制应用程序143在OS 120上操作。打印控制应用程序143连接到打印机PHY 214并控制打印机引擎。
复印控制应用程序144在OS 120上操作,控制复印处理。PDL控制应用程序145在OS 120上操作,控制打印机功能。传真发送控制应用程序146在OS 120上操作,控制传真发送功能。
OS 120支持诸如文件分配表(FAT)或第二扩展文件***(ext2)的各种文件***。“文件***”是指用于将文件有效地存储在硬盘上以当需要时获取该文件的***。
在OS 120上操作的应用程序可以通过操作OS 120发布的公共应用程序接口(API)来使用文件***。例如,复印控制应用程序144通过操作API可以将利用扫描仪单元读取的图像数据有效地存储在硬盘上。通过以任意的顺序获取存储在硬盘上的图像数据,可以使用各种布局(通过倒序打印和多页合并打印(n-up printing))在片材上打印图像数据。
传真发送控制应用程序146通过操作API可以将经由传真接收到的图像数据存储在硬盘上。经由传真接收到的图像可被再次使用。PDL控制应用程序145通过操作API可以将通过对接收到的图像数据进行解释而获得的图像数据有效地存储在硬盘上。
生成的图像数据在被输出到打印机引擎之前可以不删除。在生成预定数量图像的图像数据后,可能需要PDL控制应用程序145暂停解释处理,直到打印机引擎打印图像数据。通过将图像数据存储在硬盘上,可以增加能够同时存储的图像的数量。因此,可以降低PDL控制应用程序145暂停解释处理的频率。
文件***121操作硬盘驱动程序126,该硬盘驱动程序126控制安装在总线控制器205中的硬盘控制器。总线控制器205用作连接到IDE PHY210的硬盘的控制器。可以将数据发送给HDD或从HDD发送数据。
OS 120支持诸如发送控制协议/互联网协议(TCP/IP)和用户数据报协议(UDP)的各种网络协议。OS支持开放式***互联(OSI)参考模型的应用层以下的层的网络协议。
协议栈122为在OS 120上操作的应用程序提供接口。应用程序可以通过操作该接口利用各种协议与外部装置通信。例如,PDL控制应用程序145利用该接口接收从外部装置发送的文档数据。作业控制应用程序141利用该接口通过简单网络管理协议(SNMP)与外部装置通信。
协议栈122通过操作网络驱动程序127与经由连接器208连接到信息处理装置的外部装置通信,该网络驱动程序127控制安装在总线控制器205中的网络控制器。UI控制应用程序142通过操作LCD驱动程序123在触摸屏309上显示图像,该LCD驱动程序123控制LCD控制器204和SIO206。
UI控制应用程序142接收用户通过操作操作面板220输入的命令。UI控制应用程序142根据用户操作改变画面,并指示作业控制单元141执行用户期望的操作。
打印控制应用程序143通过操作打印机驱动程序124将各种图像数据打印在片材上,该打印机驱动程序124控制连接到打印机PHY 214的打印机引擎。要打印的图像数据由作业控制应用程序141指定。
复印控制应用程序144根据来自UI控制应用程序142的指令操作扫描仪驱动程序125。扫描仪驱动程序125控制连接到扫描仪PHY 215的扫描仪单元。复印控制应用程序144读取放置在扫描仪单元上的文档的图像并生成该文档的图像数据。
复印控制应用程序144通过操作文件***121将生成的图像数据写入到硬盘上。复印控制应用程序144通过操作协议栈122将图像数据发送给外部信息处理装置。复印控制应用程序144向作业控制单元141发出用于打印图像数据的指令。
作业控制应用程序141向打印控制应用程序143发出用于打印所指定的图像数据的指令。
在本实施例中,复印控制应用程序144将通过读取文档获得的图像数据存储在硬盘上。本实施例通过控制要打印的图像数据的打印顺序,能够以在从UI控制应用程序142发出的指令中所描述的拣选顺序打印图像数据。
PDL控制应用程序145通过使用协议栈122来解释它接收到的诸如PDL数据的各种文档数据,并将该数据转换成图像数据。PDL控制应用程序145向作业控制应用程序141发出用于打印图像数据的指令。作业控制应用程序141向打印控制应用程序143发出打印指定的图像数据的指令。
传真发送控制应用程序146根据来自UI控制应用程序142的指令或来自FAX驱动程序128的调用接受事件进行操作,所述FAX驱动程序128控制连接到FAX PHY 213的传真发送单元。当UI控制应用程序142指示了传真的发送时,传真发送控制应用程序146操作扫描仪驱动程序125以读取放置在扫描仪单元上的文档的图像,所述扫描仪驱动程序125控制连接到扫描仪PHY215的扫描仪单元。
传真发送控制应用程序146通过传真将所读取的图像数据发送至与由UI控制应用程序142指定的电话号码相对应的发送目的地。传真发送控制应用程序146操作FAX驱动程序128,所述FAX驱动程序128控制连接到FAX PHY 213的传真发送单元。
当从FAX驱动程序128通知了调用接受事件时,传真发送控制应用程序146读取通过调用接收到的图像数据,并向作业控制应用程序141发出用于打印图像数据的指令。作业控制应用程序141指示打印控制应用程序143打印由传真发送控制应用程序146指定的图像数据。
以下将参照图4对设备驱动程序的内部结构进行详细的说明。图4例示了根据本实施例的设备驱动程序的内部结构。
参照图4,驱动程序接口(I/F)401接收来自应用程序的请求。驱动程序I/F 401用作向应用程序发送对请求的响应的接口。驱动程序I/F 401由用于打开设备驱动程序的程序、用于关闭设备驱动程序的程序、用于向驱动程序发出请求的程序和用于读取和写入数据的程序组成。
设备信息管理单元402包括用于管理硬件设备的设备信息的程序。“设备信息”包括表示由设备驱动程序管理的硬件设备是处于正常操作状态(硬件设备正常操作)还是处于异常操作状态(或硬件设备没连接到信息处理装置)的信息。如果信息处理装置处于异常操作状态,则设备信息包括关于异常状态的类型的信息。
驱动程序信息管理单元403是管理表示设备驱动程序的操作状态的驱动程序信息的程序。设备驱动程序的操作状态包括是否设备驱动程序被打开并且当前正在操作。设备驱动程序的操作状态包括应用程序与硬件设备之间的数据发送的状态(发送等待状态、当前正发送状态等)。
硬件控制单元404包括用于接收经由驱动程序I/F 401输入的来自应用程序的请求并根据所接收到的请求控制硬件设备的程序。硬件控制单元404管理在应用程序与硬件设备之间发送数据时使用的缓冲器。如果从应用程序向硬件设备发出了多个请求,则硬件控制单元404执行用于排除选择要处理的请求的排除选择处理。在对设备驱动程序初始化中,硬件控制单元404清理缓冲器并初始化在排除处理中使用的软件资源。
标记和消息队列可以用作软件资源。
硬件访问单元405包括用于响应于来自设备信息管理单元402和硬件控制单元404的请求访问硬件设备的寄存器的程序。
以下将参照图5和图6对根据本实施例的设备驱动程序的内部结构进行详细的说明。图5例示了构架驱动程序500的内部结构,所述构架驱动程序500是根据本实施例的第二设备驱动程序。图6例示了全驱动程序600的内部结构,所述全驱动程序600是根据本实施例的第一设备驱动程序。
在本实施例中,构架驱动程序500或全驱动程序600作为以上参照图1说明的设备驱动程序123到设备驱动程序128进行操作。
图5和图6例示的应用程序等同于上述程序142到程序146中任意一个。图5和图6例示的硬件设备等同于与面板PHY 209、打印机PHY 214、扫描仪PHY 125、IDE PHY 210、网络PHY 208和FAX PHY 213中任意一个连接的设备。
图5例示的构架驱动程序500与图4例示的设备驱动程序的不同之处在于:构架驱动程序500不包括与硬件控制单元404相对应的组件。图6例示的全驱动程序600具有与图4例示的设备驱动程序相类似的结构。全驱动程序600包括硬件控制单元604,所述硬件控制单元604是与硬件控制单元404相对应的组件。构架驱动程序500的数据量比依赖于硬件控制单元604的全驱动程序600的数据量小,所述构架驱动程序500中不包括所述硬件控制单元604。
构架驱动程序500的驱动程序I/F 501和全驱动程序600的驱动程序I/F 601具有与驱动程序I/F 401(图4)的结构相同的结构。因此,这里不再重复其描述。构架驱动程序500的设备信息管理单元502和全驱动程序600的设备信息管理单元602具有与设备信息管理单元402(图4)的结构相同的结构。因此,这里不再重复其描述。
构架驱动程序500的驱动程序信息管理单元503和全驱动程序600的驱动程序信息管理单元603具有与驱动程序信息管理单元403(图4)的结构相同的结构。因此,这里不再重复其描述。全驱动程序600的硬件控制单元604具有与硬件控制单元404(图4)的结构相同的结构。因此,这里不再重复其详细描述。
如以下详细说明的,在信息处理装置的启动期间,将构架驱动程序500从HDD加载到DRAM 203的预定存储区域。构架驱动程序500的数据量比全驱动程序600的数据量小。因此,将构架驱动程序500从HDD加载到DRAM 203上所花费的时间比加载全驱动程序600所花费的时间短。
如果设备信息管理单元502存储表示硬件设备处于正常操作状态的设备信息,则因为构架驱动程序500不包括硬件控制单元,所以构架驱动程序500不能够控制硬件设备。即使设备信息表示硬件设备处于正常操作状态,驱动程序信息管理单元503也存储表示设备驱动程序处于不可操作状态(正在进行初始化)的驱动程序信息。
构架驱动程序500和全驱动程序600均包括设备信息管理单元和驱动程序信息管理单元。因此,构架驱动程序500和全驱动程序600均能够响应对硬件设备的设备信息的请求和对驱动程序的操作状态的请求。
以下将对根据本实施例的信息处理装置通电和启动的处理进行详细的说明。
当信息处理装置的操作者(用户)按下信息处理装置的主电源开关(未图示)时,从外部商用电源向信息处理装置的交流(AC)/直流(DC)转换单元供给交流电压。AC/DC转换单元向信息处理装置的各组件和单元供给DC电压以启动信息处理装置。
图7是例示了根据本实施例的当对信息处理装置通电(启动)时由CPU201执行的处理的流程图。图7例示了由CPU 201执行的用于开始执行OS120的处理。
参照图7,在步骤S701中,CPU 201将基本输入输出***(BIOS)从ROM 207加载到DRAM 203上并执行初始化处理。在步骤S702中,CPU201从DRAM 203执行BIOS以将启动加载程序从ROM 207加载到DRAM203上。
在步骤S703中,CPU 201从DRAM 203执行启动加载程序以经由IDEPHY 210访问HDD。CPU 201将OS从HDD加载到DRAM 203上。在步骤S704中,CPU 201开始从DRAM 203执行OS 120。
以下将参照图8对在启动信息处理装置时由OS 120执行的处理进行详细的说明。图8是例示了根据本实施例在启动信息处理装置时由OS 120执行的处理的流程图。当CPU 201开始执行OS 120时开始图8的流程图中的处理。
参照图8,在步骤S801中,当OS 120从总线控制器205接收到硬件连接信号时,OS 120识别信息处理装置的硬件设备。“硬件设备”包括连接到面板PHY 209(图2)、打印机PHY 214(图2)、扫描仪PHY 125(图2)、IDE PHY 210(图2)、网络PHY 208(图2)和FAX PHY 213(图2)中任意一个的设备。
在步骤S802中,OS 120将构架驱动程序500从HDD加载到DRAM203上。在步骤S803中,OS 120开始执行应用程序。在步骤S803中执行的应用程序包括上述程序142到程序146。因为各应用程序已存储在HDD上,所以OS 120将应用程序从HDD加载到DRAM 203上。
以下将参照图9对由在步骤S803中执行的应用程序执行的处理进行详细的说明。
在步骤S804中,OS 120确定是否从在步骤S803中执行的应用程序向设备驱动程序发出了任何请求。如果向设备驱动程序发出了请求(步骤S804中是),则处理进入步骤S805。如果未发出请求(步骤S804中否),则OS 120返回步骤S804。
在步骤S805中,OS 120确定从应用程序发出的请求是否是用于控制硬件设备的请求。如果从应用程序发出的请求是用于控制硬件设备的请求(步骤S805中是),则处理进入步骤S806。如果从应用程序发出的请求不是用于控制硬件设备的请求(步骤S805中否),则处理进入步骤S811。
在步骤S806中,OS 120确定是否已将全驱动程序600从HDD加载到DRAM 203上。如果已将全驱动程序600从HDD加载到DRAM 203(步骤S806中是),则处理进入步骤S808。如果尚未将全驱动程序600从HDD加载到DRAM 203上(步骤S806中否),则处理进入步骤S807。
在步骤S807中,OS 120将全驱动程序600从HDD加载到DRAM 203上。这里加载全驱动程序600是因为构架驱动程序500不包括用于控制硬件设备的硬件控制单元。当加载了全驱动程序600时,OS 120将用于控制硬件设备的设备驱动程序从构架驱动程序500改变为全驱动程序600。
在步骤S808中,OS 120通过使用全驱动程序600的硬件控制单元604发送对在步骤S804中接收到的来自应用程序的请求的响应。如果硬件设备是扫描仪并且应用程序是传真发送控制应用程序146,则传真发送控制应用程序146向作为扫描仪驱动程序125的全驱动程序600发出用于利用扫描仪单元读取文档的请求。
扫描仪驱动程序125响应于来自传真发送控制应用程序146的请求,向扫描仪单元(扫描仪)发出用于读取文档的指令。扫描仪驱动程序125将通过利用扫描仪读取文档所获得的图像数据存储在DRAM 203上。扫描仪驱动程序125向传真发送控制应用程序146通知图像数据已被存储在DRAM 203上。
在步骤S809中,OS 120确定是否发出了用于关闭OS 120的指令。如果发出了用于关闭OS 120的指令(步骤S809中是),则处理进入步骤S810。如果尚未发出用于关闭OS 120的指令(步骤S809中否),则处理返回步骤S804。当信息处理装置的操作者按下了软电源按钮303时,OS 120确定发出了用于关闭OS 120的指令。
在步骤S810中,OS 120执行用于关闭OS 120的处理以停止OS 120的操作。
如果步骤S805中的确定结果为否,则执行步骤S811到步骤S813中的处理。
当步骤S805中的确定结果为否时,来自应用程序的请求不是用于控制硬件设备的请求。如果应用程序接收到了针对设备信息或驱动程序信息的请求,则步骤S805中的确定结果为否。
在步骤S811中,OS 120确定来自应用程序的请求是否是设备信息获取请求。如果来自应用程序的请求是设备信息获取请求(步骤S811中是),则处理进入步骤S812。如果来自应用程序的请求不是设备信息获取请求(步骤S811中否),则处理进入步骤S813。
在步骤S812中,OS 120响应于来自应用程序的设备信息获取请求,控制设备信息管理单元以将设备信息发送给应用程序。
如果构架驱动程序500作为设备驱动程序操作,则设备信息管理单元502作为设备信息管理单元执行步骤S812中的处理。如果全驱动程序600作为设备驱动程序操作,则设备信息管理单元602作为设备信息管理单元执行步骤S812中的处理。
在步骤S813中,因为来自应用程序的请求是驱动程序信息获取请求,所以OS 120控制驱动程序信息管理单元以将驱动程序信息发送给应用程序。
如果构架驱动程序500作为设备驱动程序操作,则驱动程序信息管理单元503作为驱动程序信息管理单元执行步骤S813中的处理。如果全驱动程序600作为设备驱动程序操作,则驱动程序信息管理单元603作为驱动程序信息管理单元执行步骤S813中的处理。
以下将参照图9对应用程序执行的处理进行详细的说明。图9是例示了根据本实施例在启动信息处理装置时由应用程序执行的处理的流程图。“应用程序”可以包括上述程序142到程序146中的任何一个。
参照图9,在步骤S901中,应用程序向与应用程序使用的硬件设备相对应的设备驱动程序发出针对设备信息的请求。获取设备信息以验证应用程序使用的硬件设备至少正在正常操作。
在步骤S902中,应用程序确定是否从设备驱动程序获取了设备信息。如果尚未从设备驱动程序获取设备信息(步骤S902中否),则处理返回步骤S902。如果从设备驱动程序获取了设备信息(步骤S902中是),则处理进入步骤S903。
在步骤S903中,应用程序参照从设备驱动程序获取的设备信息并确定硬件设备是否处于可操作状态。如果硬件设备没有处于可操作状态(步骤S903中否),则处理返回步骤S901。如果硬件设备处于可操作状态(步骤S903中是),则处理进入步骤S904。如果所接收到的设备信息表明硬件设备一直在正常操作,则应用程序确定硬件设备处于可操作状态。
在步骤S904中,应用程序向与应用程序使用的硬件设备相对应的设备驱动程序发出针对驱动程序信息的请求。获取驱动程序信息以验证与应用程序使用的硬件设备相对应的设备驱动程序的操作状态。
在步骤S905中,应用程序确定是否从设备驱动程序获取了驱动程序信息。如果尚未从设备驱动程序获取驱动程序信息(步骤S905中否),则处理返回步骤S905。如果从设备驱动程序获取了驱动程序信息(步骤S905中是),则处理进入步骤S906。
在步骤S906中,应用程序参照从设备驱动程序获取的驱动程序信息并且确定设备驱动程序是否处于可操作状态。如果设备驱动程序没有处于可操作状态(步骤S906中否),则处理返回至步骤S904。如果设备驱动程序处于可操作状态(步骤S906中是),则处理进入步骤S907。如果驱动程序信息表明设备驱动程序已被打开或者等待输入数据,则应用程序确定设备驱动程序处于可操作状态。
除非获取到硬件信息和驱动程序信息并且验证硬件设备和设备驱动程序处于可操作状态,否则应用程序不能够进入步骤S907。因此,除非OS 120已完全加载了设备驱动程序并且因此能够将设备信息和驱动程序信息发送给应用程序,否则不能够执行使用硬件设备的处理。
更具体来说,可能需要对应用程序加载设备驱动程序以执行使用硬件设备的处理。因此,加载设备驱动程序所花费的时间决定了激活应用程序所花费的时间。
在步骤S907中,应用程序确定是否发出了用于执行使用硬件设备的处理的硬件控制请求。如果尚未发出用于使用硬件设备执行处理的硬件控制请求(步骤S907中否),则处理返回至步骤S907中。如果发出了用于执行使用硬件设备的处理的硬件控制请求(步骤S907中是),则处理进入步骤S908。如果应用程序是传真发送控制应用程序146,当发出用于使用扫描仪读取文档的请求时,则步骤S907中的确定结果为肯定(“是”)。
在步骤S908中,应用程序向设备驱动程序通知硬件控制请求。在步骤S909中,应用程序确定是否向应用程序发出了用于关闭OS 120的指令。如果向应用程序发出了用于关闭OS 120的指令(步骤S909中是),则处理进入步骤S910。如果尚未向应用程序发出用于关闭OS 120的指令(步骤S909中否),则处理返回至步骤S907。如果从OS 120发出了关闭指令,则应用程序确定发出了用于关闭OS 120的指令。
如上所述,在启动信息处理装置时,OS 120加载不包括用于控制硬件设备的硬件控制信息的构架驱动程序500。因此,与加载包括硬件控制信息的全驱动程序600的情况相比,能够缩短启动信息处理装置所花费的时间。
如果从应用程序发出了用于控制硬件设备的请求,则本实施例可以通过加载全驱动程序600来适当地响应来自应用程序的请求。更具体来说,利用上述结构,本实施例能够缩短启动具有硬件设备的信息处理装置所花费的时间,同时有效地避免了由应用程序使用硬件设备所执行的处理的一部分暂停。
在本实施例中,构架驱动程序500不包括硬件控制信息。然而,本发明并不限于本实施例。更具体来说,如果构架驱动程序500包括至少部分硬件控制信息,则构架驱动程序500的数据量可能变得比构架驱动程序500完全不包括硬件控制信息的情况大,但是比全驱动程序600的数据量小。因此,与加载全驱动程序600的情况所花费的时间相比,本实施例也能够缩短启动信息处理装置所花费的时间。
“部分硬件控制信息”可以包括诸如OS 120为了经由硬件访问单元获取硬件设备的制造版本而使用的控制信息的各种信息。
在本实施例中,在从应用程序发出了用于控制硬件设备的请求的预定条件下加载全驱动程序600。然而,本发明并不限于本实施例。更具体来说,如果在计时器(其在操作者按下主电源开关时开始计数)计数了预定计数值(即经过了预定时间长度)的预定条件下加载全驱动程序600,则也是实用的。在操作者按下主电源开关或在步骤S802中加载构架驱动程序的时刻开始对经过的时间计数,设置这样的定时是实用的。
以下将对本发明的第二实施例进行详细的说明。在本实施例中,信息处理装置是具有诸如复印功能、传真发送功能和打印机功能的多个功能的MFP。然而,本发明并不限于本实施例。PC可以用作根据本实施例的信息处理装置。
第一实施例和第二实施例都使用构架驱动程序和全驱动程序作为用于管理特定硬件设备的设备驱动程序。第二实施例与第一实施例的不同之处在于:根据第二实施例的全驱动程序不包括设备信息管理单元和驱动程序信息管理单元,而根据第一实施例的全驱动程序包括设备信息管理单元和驱动程序信息管理单元。
第二实施例与第一实施例的不同之处在于:与通过在构架驱动程序和全驱动程序之间切换来操作这二者中的任意一个的第一实施例相反,第二实施例总是操作构架驱动程序而只在需要时才同时操作全驱动程序。
除非另外指出,否则在第二实施例中与第一实施例相同的组件和单元采用了相同的附图标记和符号。因此,这里不再重复其描述。
图10例示了根据本实施例的构架驱动程序1000的内部结构。
构架驱动程序1000与图4例示的设备驱动程序的不同之处在于:构架驱动程序1000不包括与硬件控制单元404等同的组件。
图11例示了根据本实施例的全驱动程序1000的内部结构。
图11例示的全驱动程序1100的硬件控制单元1102具有与第一实施例中的全驱动程序600的硬件控制单元604的结构相同的结构。
图11例示的驱动程序I/F 1101与全驱动程序600的驱动程序I/F 601的不同之处在于:驱动程序I/F 1101不是与应用程序的直接接口。如图12所例示,在从构架驱动程序1000调用全驱动程序1100之后,全驱动程序1100被包含在构架驱动程序1000中作为其一部分。全驱动程序1100的驱动程序I/F 1101包括用作与构架驱动程序1000的接口的程序。
与全驱动程序600的硬件访问单元603相反,图11例示的硬件访问单元1103不是与硬件设备的直接接口。如图12所例示,在从构架驱动程序1000调用全驱动程序1100之后,全驱动程序1100被包含在构架驱动程序1000中作为其一部分。全驱动程序1100的硬件访问单元1103包括用作与构架驱动程序1000的接口的程序。
根据第二实施例的全驱动程序1100不用作与应用程序和硬件设备的直接接口,而是与构架驱动程序1000的直接接口。因此,每当应用程序访问设备驱动程序时,OS 120能够控制应用程序访问构架驱动程序1000。
OS 120没有必要在构架驱动程序与全驱动程序之间切换要访问的驱动程序。取代在构架驱动程序与全驱动程序之间切换要访问的设备驱动程序,如果从应用程序发出了用于控制硬件设备的请求,则构架驱动程序1000调用全驱动程序1100。全驱动程序1100的硬件控制单元1102发送对来自应用程序的硬件控制请求的响应。
在本实施例中,全驱动程序1100既不包括设备信息管理单元也不包括驱动程序信息管理单元。因此,全驱动程序1100的数据量比第一实施例的全驱动程序600的数据量小。因此,与第一实施例中加载设备驱动程序所花费的时间相比,本实施例能够缩短加载全驱动程序所花费的时间。
在本实施例中,构架驱动程序1000不包括硬件控制信息。然而,本发明并不限于本实施例。更具体来说,如果构架驱动程序1000至少包括部分硬件控制信息,则也是实用的。
在此情况下,构架驱动程序1000的数据量可能变得比在构架驱动程序1000完全不包括硬件控制信息的情况下的数据量大,但是比全驱动程序1100的数据量小。因此,与加载全驱动程序1100的情况下花费的时间相比,本实施例也能够缩短启动信息处理装置所花费的时间。
“部分硬件控制信息”可以包括诸如OS 120为了经由硬件访问单元获取硬件设备的制造版本而使用的控制信息的各种信息。
以下将对本发明的第三实施例进行详细的说明。在本实施例中,信息处理装置是具有诸如复印功能、传真发送功能和打印机功能的多个功能的MFP。然而,本发明并不限于此实施例。更具体来说,PC可以用作根据本实施例的信息处理装置。
第一实施例和第三实施例都使用全驱动程序作为用于管理特定硬件设备的驱动程序。第三实施例与第一实施例的不同之处在于:第三实施例不使用构架驱动程序,而第一实施例使用构架驱动程序。
如果在信息处理装置的启动期间,同时加载能够在信息处理装置上操作的所有设备驱动程序,则启动信息处理装置所花费的时间可能会变长。因此,本实施例缩短了加载设备驱动程序以启动信息处理装置的时间。
除非另外指出,否则第三实施例中与第一实施例相同的组件和单元具有相同的附图标记和符号。因此,这里不再重复其描述。
图13例示了根据本实施例的表示与能够在信息处理装置上操作的硬件设备相对应的设备驱动程序123到设备驱动程序128的等待时间的表的示例。在本实施例中,“等待时间”是指从用户按下信息处理装置的主电源开关的时刻到OS 120开始执行设备驱动程序的时刻所花费的时间。
参照图13,设备驱动程序123到设备驱动程序126的等待时间是“0秒”。因此,在开始启动信息处理装置的同时加载设备驱动程序123到126。网络驱动程序127的等待时间约为20秒。因此,自开始启动信息处理装置起,在经过了20秒后,开始加载网络驱动程序127。
FAX驱动程序128的等待时间约为25秒。因此,自开始启动信息处理装置起,在经过了25秒后,开始加载FAX驱动程序128。
本实施例通过在加载特定设备驱动程序时应用诸如“20秒”或“25秒”的等待时间,而使用不同的加载时间。因此,本实施例可以缩短在加载了其它设备驱动程序之后直到硬件设备变得可用(激活)时所花费的时间。
以下将参照图14和图15对在启动信息处理装置时由OS 120执行的处理进行详细的说明。
参照图14,在步骤S1401中,OS 120识别信息处理装置中包括的硬件设备。“硬件设备”包括连接到面板PHY 209(图2)、打印机PHY 214(图2)、扫描仪PHY 125(图2)、IDE PHY 210(图2)、网络PHY 208(图2)或FAX PHY 213(图2)的设备。
在步骤S1402中,OS 120开始执行应用程序。在步骤S1402中执行的应用程序包括以上在第一实施例中描述的程序142到程序146。因为各应用程序已存储在HDD上,所以OS 120将应用程序从HDD加载到DRAM203上。
步骤S1402中执行的应用程序的处理与上面参照图9在第一实施例中所描述的处理相同。
在步骤S1403中,OS 120参照图13所例示的表并确定LCD驱动程序123的等待时间是否已经过。如果LCD驱动程序123的等待时间尚未经过(步骤S1403中否),则处理进入步骤S1405。如果LCD驱动程序123的等待时间已经过(步骤S1403中是),则处理进入步骤S1404。在步骤S1404中,OS 120将LCD驱动程序123从HDD加载到DRAM 203上。
在本实施例中,在信息处理装置中设置有当操作者(用户)按下主电源开关时开始计数的计时器。OS 120基于从计时器发送来的计数值和图13的表中例示的等待时间来确定等待时间是否已经过。
在步骤S1405中,OS 120参照图13所例示的表并且确定打印机驱动程序124的等待时间是否已经过。如果打印机驱动程序124的等待时间尚未经过(步骤S1405中否),则处理进入步骤S1407。如果打印机驱动程序124的等待时间已经过(步骤S1405中是),则处理进入步骤S1406。在步骤S1406中,OS 120将打印机驱动程序124从HDD加载到DRAM 203。
在步骤S1407中,OS 120参照图13中例示的表并确定扫描仪驱动程序125的等待时间是否已经过。如果扫描仪驱动程序的等待时间尚未经过(步骤S1407中否),则处理进入步骤S1409。如果扫描仪驱动程序125的等待时间已经过(步骤S1407中是),则处理进入步骤S1408中。在步骤S1408中,OS 120将扫描仪驱动程序125从HDD加载到DRAM 203上。
在步骤S1409中,OS 120参照图13中例示的表并且确定HDD驱动程序126的等待时间是否已经过。如果HDD驱动程序126的等待时间尚未经过(步骤S1409中否),则处理进入步骤S1411。如果HDD驱动程序126的等待时间已经过(步骤S1409中是),则处理进入步骤S1410。在步骤S1410中,OS 120将HDD驱动程序126从HDD加载到DRAM 203上。
在步骤S1411中,OS 120参照图13中例示的表并且确定网络驱动程序127的等待时间是否已经过。如果网络驱动程序127的等待时间尚未经过(步骤S1411中否),则处理进入步骤S1413。如果网络驱动程序127的等待时间已经过(步骤S1411中是),则处理进入步骤S1412。在步骤S1412中,OS 120将网络驱动程序127从HDD加载到DRAM 203上。
在步骤S1413中,OS 120参照图13中例示的表并且确定FAX驱动程序128的等待时间是否已经过。如果FAX驱动程序128的等待时间尚未经过(步骤S1413中否),则处理进入步骤S1415。如果FAX驱动程序128的等待时间已经过(步骤S1413中是),则处理进入步骤S1414。在步骤S1414中,OS 120将FAX驱动程序128从HDD加载到DRAM 203上。
在步骤S1415中,OS 120确定是否从在步骤S1402中开始执行的应用程序向设备驱动程序发出了任何请求。如果从应用程序向设备驱动程序发出了请求(步骤S1415中是),则处理进入步骤S1416。如果尚未从应用程序向设备驱动程序发出请求(步骤S1415中否),则处理进入步骤S1419。
在步骤S1416中,OS 120确定是否已加载了在步骤S1415中已被请求执行的设备驱动程序。如果已加载了被请求的设备驱动程序(步骤S1416中是),则处理进入步骤S1417。如果尚未加载被请求的设备驱动程序(步骤S1416中否),则处理进入步骤S1418。
在步骤S1417中,OS 120通过使用已被请求执行的设备驱动程序中包括的硬件控制单元604,来发送对在步骤S1415中接收到的来自应用程序的请求的响应。在步骤S1418中,OS 120向应用程序通知尚未加载已被请求执行的设备驱动程序。
在步骤S1419中,OS 120确定是否已向OS 120发出用于关闭OS 120的指令。如果已向OS 120发出用于关闭OS 120的指令(步骤S1419中是),则处理进入步骤S1420。如果尚未向OS 120发出用于关闭OS 120的指令(步骤S1419中否),则处理返回步骤S1403。
当信息处理装置的操作者按下了软电源按钮303时,OS 120确定发出了用于关闭OS 120的指令。
在步骤S1420中,OS 120执行用于关闭OS 120的处理以停止OS 120的操作。
本实施例可以针对能够在信息处理装置上操作的多个设备驱动程序,分别且不同地设置用于加载各设备驱动程序的定时。因此,与在信息处理装置的启动期间同时加载能够在信息处理装置上操作的所有设备驱动程序的情况相比,本实施例能够缩短在特定硬件设备变得可为设备驱动程序所用之前的时间。
图13所例示的表是一个示例。可以任意地设置各设备驱动程序的等待时间。
本发明还可以通过以下方式实现:将存储有实现实施例功能的软件的程序代码的存储介质(或记录介质)提供给***或设备,并且使用***或设备的计算机(CPU或微处理单元(MPU))读取并执行存储在存储介质中的程序代码。
从存储介质读取程序代码,并且该程序代码实现上述实施例的功能,因此,存储该程序代码的存储介质构成了本发明。
虽然参照各实施例对本发明进行了说明,然而应当理解,本发明并不限于所公开的实施例。应当对以下权利要求书的范围给予最宽泛的解释,以使其涵盖所有这种变型例、等同结构以及功能。
Claims (18)
1.一种信息处理装置,所述信息处理装置包括:
硬件设备;
至少一个应用程序,其被构成为执行使用所述硬件设备的操作;
操作***,其被构成为管理所述至少一个应用程序;
第一设备驱动程序,其被构成为管理所述硬件设备并包括用于控制所述硬件设备的硬件控制信息;
第二设备驱动程序,其被构成为管理所述硬件设备并包括关于所述硬件设备的设备信息,所述第二设备驱动程序具有小于所述第一设备驱动程序的数据量;
第一存储单元,其被构成为存储所述第一设备驱动程序和所述第二设备驱动程序;
第二存储单元,其被构成为包括用于经由所述操作***操作所述第一设备驱动程序和所述第二设备驱动程序的存储区域,
其中,所述操作***控制所述第一存储单元和所述第二存储单元,以响应于所述信息处理装置的启动将所述第二设备驱动程序从所述第一存储单元加载到所述第二存储单元的所述存储区域上,并且在启动所述信息处理装置之后预定条件被满足时将所述第一设备驱动程序从所述第一存储单元加载到所述第二存储单元的所述存储区域上。
2.根据权利要求1所述的信息处理装置,其中所述预定条件是所述应用程序发出的用于控制所述硬件设备的请求。
3.根据权利要求1所述的信息处理装置,其中所述预定条件是在启动了所述信息处理装置之后经过的预定时间长度。
4.根据权利要求1所述的信息处理装置,其中所述第一设备驱动程序包括所述设备信息,并且所述操作***在将所述第一设备驱动程序加载到所述存储区域上之后,操作所述第一设备驱动程序作为用于控制所述硬件设备的所述设备驱动程序。
5.根据权利要求4所述的信息处理装置,其中所述操作***在将所述第一设备驱动程序加载到所述存储区域上之后,执行用以删除加载到所述存储区域上的所述第二设备驱动程序的控制。
6.根据权利要求1所述的信息处理装置,其中所述操作***在将所述第一设备驱动程序加载到所述存储区域上之后,操作所述第一设备驱动程序和所述第二设备驱动程序作为用于控制所述硬件设备的设备驱动程序。
7.根据权利要求1所述的信息处理装置,其中所述第二设备驱动程序包括表示所述第二设备驱动程序的操作状态的驱动程序信息。
8.根据权利要求1所述的信息处理装置,其中所述第一存储单元是非易失性存储单元,所述第二存储单元是易失性存储单元。
9.根据权利要求1所述的信息处理装置,其中所述第二设备驱动程序不包括所述硬件控制信息的至少一部分。
10.一种信息处理装置的操作方法,所述信息处理装置被构成为包括:硬件设备;至少一个应用程序,其被构成为执行使用所述硬件设备的操作;操作***,其被构成为管理所述至少一个应用程序;第一设备驱动程序,其被构成为包括用于控制所述硬件设备的硬件控制信息;以及第二设备驱动程序,其被构成为包括关于所述硬件设备的设备信息,所述第二设备驱动程序具有小于所述第一设备驱动程序的数据量,所述操作方法包括如下步骤:
响应于所述信息处理装置的启动,将所述第二设备驱动程序从第一存储单元加载到第二存储单元的存储区域上;
在启动所述信息处理装置之后预定条件被满足时,将所述第一设备驱动程序从所述第一存储单元加载到所述第二存储单元的所述存储区域上;以及
根据来自所述操作***的指令,操作被加载到所述存储区域上的所述第一设备驱动程序和所述第二设备驱动程序中的至少一个。
11.根据权利要求10所述的操作方法,其中所述预定条件是所述应用程序发出的用于控制所述硬件设备的请求。
12.根据权利要求10所述的操作方法,其中所述预定条件是在启动了所述信息处理装置之后经过的预定时间长度。
13.根据权利要求10所述的操作方法,其中所述第一设备驱动程序包括关于所述硬件设备的设备信息,所述操作方法还包括如下步骤:
在将所述第一设备驱动程序加载到所述存储区域上之后,操作所述第一设备驱动程序作为用于控制所述硬件设备的所述设备驱动程序。
14.根据权利要求13所述的操作方法,还包括如下步骤:
在将所述第一设备驱动程序从所述第一存储单元加载到所述存储区域上之后,删除加载到所述第二存储单元的所述存储区域上的所述第二设备驱动程序。
15.根据权利要求10所述的操作方法,还包括如下步骤:
在将所述第一设备驱动程序加载到所述存储区域上之后,操作所述第一设备驱动程序和所述第二设备驱动程序作为用于控制所述硬件设备的设备驱动程序。
16.根据权利要求10所述的操作方法,其中所述第二设备驱动程序包括表示所述第二设备驱动程序的操作状态的驱动程序信息。
17.根据权利要求10所述的操作方法,其中所述第一存储单元是非易失性存储单元,所述第二存储单元是易失性存储单元。
18.根据权利要求10所述的操作方法,其中所述第二设备驱动程序不包括所述硬件控制信息的至少一部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-096091 | 2008-04-02 | ||
JP2008096091 | 2008-04-02 | ||
JP2008096091A JP5178282B2 (ja) | 2008-04-02 | 2008-04-02 | 情報処理装置、制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551755A true CN101551755A (zh) | 2009-10-07 |
CN101551755B CN101551755B (zh) | 2012-05-23 |
Family
ID=41132982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101333542A Expired - Fee Related CN101551755B (zh) | 2008-04-02 | 2009-04-02 | 信息处理装置及信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8166290B2 (zh) |
JP (1) | JP5178282B2 (zh) |
CN (1) | CN101551755B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025146A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种文件生成方法、装置和*** |
CN110874191A (zh) * | 2018-08-31 | 2020-03-10 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923521B (zh) * | 2009-06-09 | 2012-06-20 | 鸿富锦精密工业(深圳)有限公司 | 具保护其通用串行总线端口功能的电子装置及方法 |
TWI401593B (zh) * | 2010-08-19 | 2013-07-11 | Novatek Microelectronics Corp | 具有觸控面板的電子裝置及觸控面板更新方法 |
US10146369B2 (en) | 2010-08-19 | 2018-12-04 | Novatek Microelectronics Corp. | Electronic apparatus with touch panel and method for updating touch panel |
JP5200085B2 (ja) | 2010-11-04 | 2013-05-15 | レノボ・シンガポール・プライベート・リミテッド | コンピュータを短時間で起動する方法およびコンピュータ |
JP5895609B2 (ja) * | 2012-03-06 | 2016-03-30 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置およびプログラム |
JP5955104B2 (ja) * | 2012-05-30 | 2016-07-20 | キヤノン株式会社 | 情報処理装置、プログラムおよび制御方法 |
US9348604B2 (en) * | 2013-04-24 | 2016-05-24 | Dell Products L.P. | System and method for inventory collection optimization by selective binding of the pre-boot drivers |
US10503518B2 (en) * | 2017-10-11 | 2019-12-10 | Microsoft Technology Licensing, Llc | Initializing hardware components using parallel driver loading and serial access granting |
CN108388451B (zh) * | 2018-03-02 | 2021-08-31 | 深圳市知赢科技有限公司 | 移动终端启动方法、装置和移动终端 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07219878A (ja) * | 1994-02-07 | 1995-08-18 | Toshiba Corp | 装置ドライバ及び計算機 |
JPH0935026A (ja) * | 1995-07-18 | 1997-02-07 | Fuji Film Micro Device Kk | コンピュータ用カード |
JPH11265289A (ja) * | 1998-03-16 | 1999-09-28 | Mitsubishi Electric Corp | 情報処理装置および情報処理装置の高速初期起動方法 |
JP2001034480A (ja) | 1999-07-26 | 2001-02-09 | Toshiba Corp | 情報処理装置の起動方法 |
JP2001265598A (ja) * | 2000-03-15 | 2001-09-28 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2002091783A (ja) * | 2000-09-12 | 2002-03-29 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP3933055B2 (ja) * | 2003-02-12 | 2007-06-20 | 日本電気株式会社 | 動的機能追加方式、および、プログラム |
US7174447B2 (en) * | 2003-11-14 | 2007-02-06 | Intel Corporation | Providing a pre-boot driver for use during operating system runtime of a computer system |
US7461247B2 (en) * | 2005-06-03 | 2008-12-02 | Qnx Software Systems Gmbh & Co. Kg | Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization |
CN100461103C (zh) * | 2005-12-09 | 2009-02-11 | 英业达股份有限公司 | 驱动程序加载***及方法 |
JP4616763B2 (ja) * | 2005-12-14 | 2011-01-19 | レノボ・シンガポール・プライベート・リミテッド | デバイス・コントローラの設定方法およびコンピュータ・システム |
US7624260B2 (en) * | 2006-05-04 | 2009-11-24 | Qnx Software Systems Gmbh & Co. Kg | System executing a fast boot wake-up |
JP2009134601A (ja) * | 2007-11-30 | 2009-06-18 | Fujitsu Ltd | ディスクアクセス方式切替装置 |
-
2008
- 2008-04-02 JP JP2008096091A patent/JP5178282B2/ja not_active Expired - Fee Related
-
2009
- 2009-04-01 US US12/416,838 patent/US8166290B2/en not_active Expired - Fee Related
- 2009-04-02 CN CN2009101333542A patent/CN101551755B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025146A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种文件生成方法、装置和*** |
CN107025146B (zh) * | 2016-01-30 | 2019-10-18 | 华为技术有限公司 | 一种文件生成方法、装置和*** |
CN110874191A (zh) * | 2018-08-31 | 2020-03-10 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
CN110874191B (zh) * | 2018-08-31 | 2023-08-04 | 爱思开海力士有限公司 | 存储器***及该存储器***的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101551755B (zh) | 2012-05-23 |
JP2009251728A (ja) | 2009-10-29 |
US20090251727A1 (en) | 2009-10-08 |
JP5178282B2 (ja) | 2013-04-10 |
US8166290B2 (en) | 2012-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551755B (zh) | 信息处理装置及信息处理方法 | |
US7933029B2 (en) | Printing system and printing apparatus | |
JP5038055B2 (ja) | 印刷装置及びその制御方法、並びにコンピュータプログラム | |
CN101909132B (zh) | 图像处理装置 | |
CN101894003B (zh) | 信息处理设备和控制方法 | |
JP5025342B2 (ja) | 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム | |
CN104902130B (zh) | 信息处理装置及信息处理装置的控制方法 | |
JP2004178249A (ja) | 情報処理装置、情報処理方法、制御プログラム | |
CN101207671A (zh) | 管理设备、管理方法、程序和存储介质 | |
CN101807143A (zh) | 图像形成装置 | |
JP5979822B2 (ja) | 管理装置、その方法、及びプログラム | |
JP5268419B2 (ja) | 印刷装置、印刷管理方法、及び、プログラム | |
CN103685817A (zh) | 信息处理***、图像处理控制器和图像处理控制器控制方法 | |
JP2012061767A (ja) | 画像形成装置、画面表示方法及びプログラム | |
CN110336927A (zh) | 打印控制装置及其控制方法、以及打印*** | |
CN102591163A (zh) | 图像形成装置及作业管理方法 | |
CN103167209A (zh) | 图像形成装置以及图像形成方法 | |
JP2015106771A (ja) | 画像形成システム、画像処理装置、画像形成装置、それらの制御方法、及びプログラム | |
CN100524193C (zh) | 信息处理***和信息处理方法 | |
JP2012161023A (ja) | 画像処理装置、情報処理方法、及びプログラム | |
JP2017061079A (ja) | 画像形成装置、及びその制御方法 | |
CN101557448A (zh) | 作业处理装置及其控制方法 | |
CN110764720B (zh) | 打印设备、打印设备的控制方法和存储介质 | |
JP2010093486A (ja) | 画像処理装置、情報処理方法、及びプログラム | |
JP2020205488A (ja) | 情報処理装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20200402 |