CN1734417A - 具有多个嵌入驱动程序的应用程序 - Google Patents

具有多个嵌入驱动程序的应用程序 Download PDF

Info

Publication number
CN1734417A
CN1734417A CN200510088579.2A CN200510088579A CN1734417A CN 1734417 A CN1734417 A CN 1734417A CN 200510088579 A CN200510088579 A CN 200510088579A CN 1734417 A CN1734417 A CN 1734417A
Authority
CN
China
Prior art keywords
processor
driver
application program
operating system
compatible
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
CN200510088579.2A
Other languages
English (en)
Inventor
S·S·杜普利汉
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN1734417A publication Critical patent/CN1734417A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Abstract

提供实现在计算机可读媒体中的各种系统、方法和程序,用于与应用程序(126)关联的驱动程序运行。当应用程序(126)在计算机系统(100)中运行时,确定在计算机系统(100)中运行的操作系统(123)的处理器兼容性。在这方面,操作系统(123)与多个预定义类型的处理器其中之一兼容。在操作系统(123)的处理器兼容性与嵌入应用程序(126)的多个驱动程序(133)中的一个之间引出关联,其中驱动程序(133)中的一个与操作系统(123)兼容。在计算机系统(100)中实现与操作系统(123)兼容的驱动程序(133)中的一个的运行。

Description

具有多个嵌入驱动程序的应用程序
技术领域
本发明涉及计算机系统的工作,更具体来说,本发明涉及具有多个嵌入驱动程序的应用程序。
背景技术
在一些情况下,可能在计算机系统中运行某个应用程序、如系统实用程序,它访问计算机系统中的各种硬件、如处理器硬件或存储器硬件,以便执行各种功能、如存储器分析。这类应用程序通常需要驱动程序来访问预期硬件。
目前的计算机系统采用可能是例如32位处理器、64位处理器或其它处理器的多个不同类型的处理器其中之一。以各种不同的版本提供操作系统,其中各版本适合于处理器类型之一。选择访问给定计算机系统中的硬件所需的驱动程序,以便匹配在计算机系统中运行的操作系统的版本。跟踪哪个驱动程序需要在给定计算机系统中运行以便结合给定应用程序、如系统实用程序的运行提供计算机硬件访问,会是混乱且费时的。
发明内容
本发明提供一种用于与应用程序关联的驱动程序运行的方法,包括:在计算机系统中运行应用程序;在应用程序运行之后确定在计算机系统中运行的操作系统的处理器兼容性,其中操作系统与多个预定义类型的处理器其中之一兼容;在操作系统的处理器兼容性与嵌入应用程序的多个驱动程序中的一个之间引出关联,驱动程序中的所述一个与操作系统兼容;以及在计算机系统中实现与操作系统兼容的所述驱动程序中的所述一个的运行。
在本发明的一个实施例中,在计算机系统中与操作系统兼容的所述驱动程序中的所述一个的运行的实现还包括:把所述驱动程序中的所述一个从应用程序自动复制到大容量存储装置;以及通过应用程序从所述大容量存储装置自动发起在计算机系统中的所述驱动程序的所述一个的运行。
在本发明的一个实施例中,所述方法还包括在应用程序关闭时关闭所述驱动程序中的所述一个。
在本发明的一个实施例中,所述方法还包括在所述驱动程序中的所述一个关闭之后,从大容量存储装置中删除所述驱动程序中的所述一个。
在本发明的一个实施例中,所述驱动程序中的所述一个从所述应用程序到所述大容量存储装置的自动复制还包括所述驱动程序中的所述一个从所述应用程序到所述计算机系统中的硬盘驱动器的自动复制。
本发明还提供一种用于驱动程序运行的系统,包括:处理器电路,具有处理器和存储器;存储在所述存储器中并可由所述处理器执行的应用程序,所述应用程序包括:嵌入所述应用程序中的多个驱动程序,所述驱动程序中的每个与多个操作系统中相应的一个兼容,其中所述操作系统中的每个与多个预定义类型的处理器中相应的一个兼容;包含在所述应用程序中的加载器,所述加载器包括:在与所述处理器兼容的所述操作系统之一与所述驱动程序中所述兼容的一个之间引出关联的逻辑;以及结合所述处理器对所述应用程序的运行实现所述处理器对所述驱动程序中所述兼容的一个的运行的逻辑。
在本发明的一个实施例中,结合所述处理器对所述应用程序的运行实现所述处理器对所述驱动程序中所述兼容的一个的运行的逻辑还包括:把所述驱动程序中所述兼容的一个从所述应用程序自动复制到与所述处理器电路关联的大容量存储装置的逻辑;以及从所述大容量存储装置自动发起所述处理器对所述驱动程序中所述兼容的一个的运行的逻辑。
在本发明的一个实施例中,所述加载器还包括在所述应用程序关闭时关闭所述驱动程序中所述兼容的一个的逻辑。
在本发明的一个实施例中,所述加载器还包括在所述驱动程序中所述兼容的一个关闭之后从大容量存储装置中删除所述驱动程序中所述兼容的一个的逻辑。
在本发明的一个实施例中,所述大容量存储装置是在操作上耦合到所述处理器电路的硬盘驱动器。
附图说明
参照以下附图能够理解本发明。附图中的组件不一定按照比例。另外,附图中,相同的参考标号在若干视图中表示相应的部件。
图1是根据本发明的一个实施例、包括具有多个嵌入驱动程序的应用程序的计算机系统的示意图;
图2是根据本发明的一个实施例、包括在图1的应用程序中的处理器硬件驱动程序加载器的流程图;以及
图3是根据本发明的一个实施例、与应用程序关联的驱动程序运行的方法的一个实例的流程图。
具体实施方式
参照图1,表示根据本发明的一个实施例的计算机系统100的框图。计算机系统100包括处理器电路,其中具有均耦合到本地接口109的处理器103和存储器106。本地接口可以是例如具有所附控制总线的数据总线,如本领域的技术人员可理解的那样。在这个方面,计算机系统100可以是例如台式计算机、膝上型计算机、个人数字助理或者具有相似功能的其它这种装置,如可理解的那样。计算机系统100包括大容量存储装置113。大容量存储装置113在操作上耦合到本地接口109,并可由处理器103访问。在这方面,大容量存储装置113在操作上耦合到计算机系统100中的处理器电路,如可理解的那样。
计算机系统100包括存储在存储器106中并可由处理器103执行的各种组件。这些组件可以是例如软件组件或固件组件,如可理解的那样。这些组件包括例如操作系统123和处理器硬件应用程序126。另外,其它组件可存储在存储器106中并可由计算机系统100执行,例如计算机系统中通常存在的各种应用程序。这类应用程序可包括字处理程序、电子表格以及众多其它类型的应用程序,如本领域的技术人员可理解的那样。操作系统123可以是例如MicrosoftCorporation(Redmond Washington)创造的WindowsTM操作系统或者其它操作系统。
处理器硬件应用程序126在计算机系统100中运行,以便访问计算机系统100中硬件组件的各种功能,例如处理器103本身的电路、组成存储器106的一部分的存储器组件或者其它组件,如可理解的那样。例如,处理器硬件应用程序126可以是配置成访问硬件、例如查找系统存储器或者临时安装文件系统等的实用程序。访问的硬件组件可例如驻留在与计算机系统100关联的主板上或者驻留在其它某种电路上,如可理解的那样。为了访问计算机系统100中的硬件,与这种硬件关联的适当驱动程序由处理器103运行。这种驱动程序有助于通信以及对处理器103运行的应用程序的一部分中的上述各种组件的访问。换言之,一旦适当的驱动程序被运行,处理器硬件应用程序126则可通过驱动程序访问计算机系统100中的硬件的各个方面。或者,处理器硬件应用程序126可以是不同于访问处理器硬件的那些程序、但仍然需要驱动程序用于其它目的的任何应用程序,如可理解的那样。
但是,处理器103的设计可根据制造商而有所不同。例如,典型类型的处理器103可以是例如均由Intel Corporation(Santa Clara,California)制造的Intel架构32位(IA-32)或者Intel架构64位(IA-64),或者由AMD(Sunnyvale,Califomia)制造的AMD64位处理器(AMD64)。
操作系统123编写为与处理器103的每个设计或类型兼容。因此,被运行以便提供对处理器硬件应用程序126的硬件访问的处理器硬件驱动程序需要与操作系统123以及处理器103的类型兼容。
为了提供与相应操作系统123以及处理器103的类型兼容的处理器硬件驱动程序133的运行,以便于处理器硬件应用程序126的硬件访问,处理器硬件应用程序126包含处理器硬件驱动程序加载器129。另外,在处理器硬件应用程序126中嵌入的是多个处理器硬件驱动程序133。在这个方面,各处理器硬件驱动程序133与多个操作系统123中相应的一个兼容,其中,各操作系统与不同类型的处理器103中相应的一个兼容。
各处理器硬件驱动程序133嵌入处理器硬件应用程序126中,例如通过把它们附加到处理器硬件应用程序126的尾部。但是,在处理器硬件应用程序126中没有关于处理器硬件驱动程序133包含在其中的指示。在这个方面,在运行处理器硬件应用程序126时运行处理器硬件驱动程序加载器129,以便使得与操作系统123以及相应处理器103兼容的处理器硬件驱动程序133中相应的一个被运行,从而便于对计算机系统100的硬件的访问,如上所述。或者,处理器硬件驱动程序133其中之一可包括有助于对不同于处理器硬件的组件或外围设备的访问的驱动程序,这类驱动程序仍然与特定处理器类型兼容。
另外,计算机系统100可包括一个或多个外围设备(未示出)。具体来说,这类外围设备例如可包括键盘、数字小键盘、触摸垫、触摸屏、话筒、扫描仪、鼠标、操纵杆或者一个或多个按钮等。外围设备还可包括显示装置、指示灯、喇叭、打印机等。具体的显示装置例如可以是阴极射线管(CRT)、液晶显示屏、基于气体等离子体的平板显示器或者其它类型的显示装置等。
如上所述,存储器106/大容量存储装置113中存储的组件可由处理器103执行。在这方面,术语“可执行”表示以最终可由处理器103运行的形式的程序文件。可执行程序的实例例如可以是可转换为可加载到存储器106的随机存取部分并由处理器103运行的格式的机器代码的编译程序,或者可以是可用能够被加载到存储器106的随机存取部分并由处理器103运行的适当格式、如对象代码所表示的源代码,等等。可执行程序可存储在存储器106的任何部分或组件中,或者存储在大容量存储装置113中,包括例如随机存取存储器、只读存储器、硬盘驱动器、光盘(CD)、软盘或其它存储组件,如本文所述。
存储器106在本文中定义为易失性存储器和数据存储组件。易失性组件是在掉电时不保留数据的那些组件。因此,存储器106可包括例如随机存取存储器(RAM)。RAM可包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)和其它相似存储装置。
大容量存储装置113在本文中定义为非易失性数据存储组件。非易失性组件是在掉电时保留数据的那些组件。因此,大容量存储装置113可包括例如只读存储器(ROM)、硬盘驱动器、经由关联软盘驱动器存取的软盘、经由光盘驱动器存取的光盘、经由适当磁带驱动器存取的磁带和/或其它存储组件,或者这些存储组件的任何两个或两个以上的组合。ROM可包括例如可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其它相似存储装置。
另外,处理器103可表示多个处理器,以及存储器106可表示并行工作的多个存储器。在这种情况下,本地接口109可以是便于所述多个处理器的任何两个之间、任何处理器与存储器的任一个之间、或者存储器的任何两个之间等的通信的适当网络。处理器106可以是电、光或其它某种构造的,如本领域的普通技术人员可理解的那样。
操作系统123经运行以控制计算机系统100中诸如存储器、处理时间和外围设备之类硬件资源的分配和使用。这样,操作系统123用作应用程序所依靠的基础,如本领域普通技术人员一般了解的那样。
随后提供对于在运行处理器硬件应用程序126时计算机系统100的操作的描述。首先,用户通过适当的输入装置、例如键盘、鼠标或其它输入装置来操纵计算机系统100,以便引起处理器硬件应用程序126的运行。一旦处理器硬件应用程序126被运行,处理器硬件驱动程序加载器129作为其中的一部分自动运行,以便确定在计算机系统100中运行的操作系统123的处理器兼容性。如上所述,操作系统123与多个不同类型的处理器103中相应的一个兼容,其中,处理器103为处理器类型中给定的一种。为了确定操作系统123的处理器兼容性,处理器硬件驱动程序加载器129例如可调用操作系统123中的适当方法,以便获得表明操作系统123兼容哪个处理器类型的操作系统版本或配置。
一旦操作系统123的处理器兼容性为已知,则在操作系统123的处理器兼容性与嵌入处理器硬件应用程序126中的处理器硬件驱动程序133其中之一之间引出关联。在操作系统123的处理器兼容性与兼容于操作系统123的驱动程序其中之一之间引出关联。在这方面,各处理器硬件驱动程序133包括各种标签或其它信息,它通知处理器硬件驱动程序加载器129关于它与特定类型的操作系统123的兼容性。或者,表格可包含在处理器硬件应用程序126中,对它进行查询以便把操作系统兼容性映射到各个处理器硬件驱动程序133。
一旦适当的处理器硬件驱动程序133被识别,处理器硬件驱动程序加载器129实现处理器硬件驱动程序133的运行。在实现处理器硬件驱动程序133其中之一的运行时,处理器硬件驱动程序加载器129把相应的处理器硬件驱动程序133从处理器硬件应用程序126自动复制到大容量存储装置113。在一个实施例中,大容量存储装置113可以是硬盘驱动器。但是,大容量存储装置113还可包括其它形式的存储器,如上所述。相应的处理器硬件驱动程序133加载到大容量存储装置113,使得它可作为与处理器硬件应用程序126分离的独立可执行文件集来运行。
此后,处理器硬件驱动程序加载器129自动发起在计算机系统100中驱动程序133所选的一个从大容量存储装置113中的运行。在这方面,处理器硬件驱动程序加载器129可通过对操作系统123的适当方法的适当调用,实现存储在大容量存储装置113中的处理器硬件驱动程序133的运行,如可理解的那样。此后,存储在大容量存储装置113中的处理器硬件驱动程序133加载到存储器106的RAM部分,例如供处理器103来运行。此后,处理器硬件应用程序126可通过这种处理器硬件驱动程序133来访问计算机系统100的硬件,如可理解的那样。
一旦处理器硬件应用程序126的运行完成,并且用户关闭处理器硬件应用程序126,则在实现用于关闭处理器硬件应用程序126的过程中,处理器硬件驱动程序加载器129使得由处理器103所运行的驱动程序其中之一也被关闭。另外,处理器硬件驱动程序加载器129还在驱动程序本身关闭之后从大容量存储装置113中删除处理器硬件驱动程序133其中之一。
接下来参照图2,所示的是流程图,它提供根据本发明的一个实施例的处理器硬件驱动程序加载器129的操作的一个实例。或者,图2的流程图可看作是描述在计算机系统100(图1)中实现以便实现处理器硬件驱动程序133(图1)中兼容的一个的运行、从而便于由处理器硬件应用程序126(图1)对计算机系统100中的硬件的访问的方法的一个实例的步骤。如图2的示例流程图所示的处理器硬件驱动程序加载器129的功能性例如可在面向对象的设计或者在其它某种编程体系结构中实现。假定功能性在面向对象的设计中实现,则每个框表示可用封装在一个或多个对象中的一个或多个方法来实现的功能性。处理器硬件驱动程序加载器129可采用多个编程语言的任一种来实现,例如C、C++、汇编或其它编程语言。
以框153开始,处理器硬件驱动程序加载器129通过对操作系统123进行适当调用以得到所需操作系统信息,来获取操作系统123的版本。例如,在基于WindowsTM的系统中,可进行Windows系统调用“GetNativeSystemInfo”,以便确定操作系统123的版本及操作系统123和处理器硬件应用程序126运行于其中的处理器类型或架构。
此后,在框156,处理器硬件驱动程序加载器129等待,直到已经通过对系统调用的应答等得到操作系统的版本。假定操作系统版本为已知,则在框156,处理器硬件驱动程序加载器129查找与操作系统的版本兼容的处理器硬件驱动程序133。明确地说,例如采用映射操作系统版本与特定处理器硬件驱动程序文件的查找表来定位嵌入应用程序126中的特定处理器硬件驱动程序133。另外,这种表指向处理器硬件应用程序126中相应处理器硬件驱动程序133开始和结束的特定位置。或者,各种标签可与各处理器硬件驱动程序133的开始和结束关联,以便于在处理器硬件应用程序126中查找它们,只要处理器硬件驱动程序133被嵌入,使得处理器硬件应用程序126看似单个文件,即使处理器硬件驱动程序133包含在其中。作为附加备选方案,不是在处理器硬件应用程序126中包含表以便查找预期处理器硬件驱动程序133,而是可搜索与各处理器硬件驱动程序133关联的标签。另外,其它方法可用来查找在处理器硬件应用程序126中嵌入的处理器硬件驱动程序133。与所用方法无关,在操作系统的处理器兼容性与嵌入处理器硬件应用程序126中的处理器硬件驱动程序133中兼容的一个之间引出关联。
此后,处理器硬件驱动程序加载器129继续自动把相应处理器硬件驱动程序133的副本存储在大容量存储装置113中。进行这个操作,使得处理器硬件驱动程序133可从大容量存储装置113在处理器电路中运行,如对于其它应用程序等进行的那样。明确地说,在大容量存储装置113为硬盘驱动器的情况下,通过对操作系统123进行适当调用来运行处理器硬件驱动程序133,如可理解的那样。在任何情况下,处理器硬件驱动程序133不是作为处理器硬件应用程序126的一部分可执行的,因为它们作为独立文件来运行。
随后,在框163,处理器硬件驱动程序加载器129利用处理器电路发起处理器硬件驱动程序133的加载和运行。在这方面,相应处理器硬件驱动程序133可从可以是例如硬盘驱动器的大容量存储装置113加载到作为存储器106的一部分的随机存取存储器,供处理器133运行。
此后,在框166,处理器硬件驱动程序加载器129等待,直到通常在用户指导下关闭处理器硬件应用程序126。假定情况是这样,则处理器硬件驱动程序加载器129进入框169,在其中,处理器硬件驱动程序133被关闭并从它在其中运行的存储器106的随机存取存储器或其它部分中删除。此后,在框173,处理器硬件驱动程序133从大容量存储装置113中删除,因为只要处理器硬件应用程序126已经关闭,它就不再需要运行。
在这方面,如框159、163、166.169和173中所述的把处理器硬件驱动程序133复制到大容量存储装置113、加载及运行处理器硬件驱动程序133、关闭处理器硬件驱动程序133以及从大容量存储装置113中删除处理器硬件驱动程序133的功能都在没有用户干预或输入的情况下自动实现。在这个方面,用户只需要运行单个文件、即处理器硬件应用程序126,并且不需要加载和运行与操作系统123和处理器103兼容的独立硬件驱动程序以便获得对计算机系统100的计算机硬件的访问权。
另外,假定处理器硬件驱动程序133在它被创建时嵌入处理器硬件应用程序126,则不存在结合各种处理器硬件应用程序126的运行不小心加载过时处理器硬件驱动程序133、从而可能导致系统故障等的风险。另外,假如处理器硬件驱动程序133在以上的框169和框173中被自动关闭和删除,则处理器硬件驱动程序加载器129防止处理器硬件驱动程序133不必要地使用计算机系统100的处理器电路中的存储器存储容量,从而有助于针对在其中运行的其余应用程序的更有效操作。
虽然处理器硬件应用程序126以及作为它的一部分的处理器硬件驱动程序加载器129如以上所述以通用硬件执行的软件或代码来实现,但是作为备选方案,它们也可用专用硬件或软件/通用硬件和专用硬件的组合来实现。如果以专用硬件来实现,则处理器硬件应用程序126以及作为它的一部分的处理器硬件驱动程序加载器129可作为采用多种技术的任一个或组合的电路或状态机来实现。这些技术可包括但不限于:离散逻辑电路,具有用于在施加一个或多个数据信号时实现各种逻辑功能的逻辑门;专用集成电路,具有适当的逻辑门、可编程门阵列(PGA)、现场可编程门阵列(FPGA)或其它组件等。这类技术一般是本领域的技术人员众所周知的,因此本文不作详细描述。
图1和图2的框图及流程图表示处理器硬件应用程序126以及作为它的一部分的处理器硬件驱动程序加载器129的实现的体系结构、功能性和操作。如果以软件来实现,则各框可表示模块、代码段或部分,它包含程序指令以实现指定的逻辑功能。程序指令可通过其中包含以编程语言编写的人类可读语句的源代码的形式来体现,或者以其中包含适当的运行系统、如计算机系统或其它系统中的处理器可识别的数字指令的机器代码来体现。机器代码可从源代码等转换。如果以硬件来实现,则各框可表示实现指定逻辑功能的电路或多个互连电路。
虽然图2的流程图表示特定的执行顺序,但大家理解,执行顺序可与所述的不同。例如,对于所示顺序,两个或两个以上的框的执行顺序可以被打乱。另外,图2中依次表示的两个或两个以上的框可同时执行或部分同时执行。另外,任何数量的计数器、状态变量、告警信标或消息可添加到本文所述的逻辑流中,用于增强效用、记帐、性能测量或提供故障排除帮助等。大家理解,所有这些变更均处于本发明的范围之内。
另外,在处理器硬件应用程序126以及作为它的一部分的处理器硬件驱动程序加载器129包含软件或代码,每个可实现在任何计算机可读媒体中,供指令执行系统、例如计算机系统或其它系统中的处理器使用或与其结合使用。在这个意义上,逻辑可包括例如含指令和声明的语句,它们可从计算机可读媒体中取出并由指令执行系统执行。在本发明的上下文中,“计算机可读媒体”可以是能够包含、存储或维护处理器硬件应用程序126以及作为它的一部分的处理器硬件驱动程序加载器129、供指令执行系统使用或与其配合使用的任何媒体。计算机可读媒体可包括诸如电子、磁、光、电磁、红外或半导体媒体之类的许多物理媒体其中的任一个。适当的计算机可读媒体的更具体实例包括但不限于磁带、磁软盘、磁硬盘驱动器或光盘。另外,计算机可读媒体可以是随机存取存储器(RAM),例如包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)。另外,计算机可读媒体可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)或其它类型的存储装置。
参照图3,所示的是根据本发明的一个实施例、用于结合应用程序、如处理器硬件应用程序126(图1)运行驱动程序、如处理器硬件驱动程序133的方法180的一个实例的步骤。以步骤183开始,应用程序、如处理器硬件应用程序126在计算机系统100中运行。此后,在步骤186,在应用程序126运行之后,确定在计算机系统100中运行的操作系统123的处理器兼容性,其中,操作系统123与多个预定义类型的处理器103其中之一兼容。然后,在步骤189,在操作系统123的处理器兼容性与嵌入应用程序126的多个驱动程序133中与操作系统123兼容的一个之间引出关联。实现与计算机系统100中的操作系统123兼容的驱动程序133之一的运行。
虽然针对某些实施例表示及描述了本发明,但非常明显,在阅读和理解本说明之后,本领域技术人员会想到等效和修改方案。本发明包括所有这些等效和修改方案,并且仅受到权利要求的范围的限制。

Claims (10)

1.一种用于与应用程序(126)关联的驱动程序运行的方法,包括:
在计算机系统(100)中运行所述应用程序(126);
在所述应用程序(126)运行之后确定在计算机系统(100)中运行的操作系统(123)的处理器兼容性,其中所述操作系统(123)与多个预定义类型的处理器其中之一兼容;
在所述操作系统(123)的所述处理器兼容性与嵌入所述应用程序(126)的多个驱动程序(133)中的一个之间引出关联,所述驱动程序(133)中的所述一个与所述操作系统(123)兼容;以及
在所述计算机系统(100)中实现与所述操作系统(123)兼容的所述驱动程序(133)中的所述一个的运行。
2.如权利要求1所述的方法,其特征在于,在所述计算机系统(100)中与所述操作系统(123)兼容的所述驱动程序(133)中的所述一个的运行的实现还包括:
把所述驱动程序(133)中的所述一个从所述应用程序(126)自动复制到大容量存储装置(113);以及
通过所述应用程序(126)从所述大容量存储装置(113)自动发起在所述计算机系统(100)中的所述驱动程序(133)的所述一个的运行。
3.如权利要求1所述的方法,其特征在于,还包括在所述应用程序(126)关闭时关闭所述驱动程序(133)中的所述一个。
4.如权利要求3所述的方法,其特征在于,还包括在所述驱动程序(133)中的所述一个关闭之后,从大容量存储装置(113)中删除所述驱动程序(133)中的所述一个。
5.如权利要求2所述的方法,其特征在于,所述驱动程序(133)中的所述一个从所述应用程序(126)到所述大容量存储装置(113)的自动复制还包括所述驱动程序(133)中的所述一个从所述应用程序(126)到所述计算机系统(100)中的硬盘驱动器的自动复制。
6.一种用于驱动程序运行的系统,包括:
处理器电路,具有处理器(103)和存储器(106);
存储在所述存储器(106)中并可由所述处理器(103)执行的应用程序(126),所述应用程序(126)包括:
嵌入所述应用程序(126)中的多个驱动程序(133),所述驱动程序(133)中的每个与多个操作系统中相应的一个兼容,其中所述操作系统中的每个与多个预定义类型的处理器中相应的一个兼容;
包含在所述应用程序(126)中的加载器(129),所述加载器(129)包括:
在与所述处理器兼容的所述操作系统之一与所述驱动程序(133)中所述兼容的一个之间引出关联的逻辑;以及
结合所述处理器对所述应用程序(126)的运行实现所述处理器对所述驱动程序(133)中所述兼容的一个的运行的逻辑。
7.如权利要求6所述的系统,其特征在于,结合所述处理器(103)对所述应用程序(126)的运行实现所述处理器(103)对所述驱动程序(133)中所述兼容的一个的运行的逻辑还包括:
把所述驱动程序(133)中所述兼容的一个从所述应用程序(126)自动复制到与所述处理器电路关联的大容量存储装置(113)的逻辑;以及
从所述大容量存储装置(113)自动发起所述处理器(103)对所述驱动程序(133)中所述兼容的一个的运行的逻辑。
8.如权利要求6所述的系统,其特征在于,所述加载器(129)还包括在所述应用程序(126)关闭时关闭所述驱动程序(133)中所述兼容的一个的逻辑。
9.如权利要求8所述的系统,其特征在于,所述加载器(129)还包括在所述驱动程序(133)中所述兼容的一个关闭之后从大容量存储装置(113)中删除所述驱动程序(133)中所述兼容的一个的逻辑。
10.如权利要求7所述的系统,其特征在于,所述大容量存储装置(113)是在操作上耦合到所述处理器电路的硬盘驱动器。
CN200510088579.2A 2004-08-02 2005-08-01 具有多个嵌入驱动程序的应用程序 Pending CN1734417A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/909,872 US7424719B2 (en) 2004-08-02 2004-08-02 Application with multiple embedded drivers
US10/909872 2004-08-02

Publications (1)

Publication Number Publication Date
CN1734417A true CN1734417A (zh) 2006-02-15

Family

ID=35733893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510088579.2A Pending CN1734417A (zh) 2004-08-02 2005-08-01 具有多个嵌入驱动程序的应用程序

Country Status (2)

Country Link
US (1) US7424719B2 (zh)
CN (1) CN1734417A (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293272B1 (en) 2004-02-26 2007-11-06 Veritas Operating Corporation Device driver processing for automated system restores
US8117559B2 (en) * 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7752600B2 (en) 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US20060069662A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for remapping accesses to virtual system resources
US8095940B2 (en) * 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7950010B2 (en) * 2005-01-21 2011-05-24 Sap Ag Software deployment system
US20070033592A1 (en) * 2005-08-04 2007-02-08 International Business Machines Corporation Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors
US20070083610A1 (en) * 2005-10-07 2007-04-12 Treder Terry N Method and a system for accessing a plurality of files comprising an application program
US8131825B2 (en) * 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
US20070083620A1 (en) * 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
US8813063B2 (en) * 2006-12-06 2014-08-19 International Business Machines Corporation Verification of successful installation of computer software
US8832679B2 (en) * 2007-08-28 2014-09-09 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US9652210B2 (en) * 2007-08-28 2017-05-16 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US8171483B2 (en) * 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8292165B2 (en) * 2008-12-01 2012-10-23 Research In Motion Limited System and method of multiple smart card driver support
US8745153B2 (en) * 2009-02-09 2014-06-03 Apple Inc. Intelligent download of application programs
US8090797B2 (en) * 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US20120198436A1 (en) * 2011-01-27 2012-08-02 Preimesberger Lee A Compatible Operating System
US9058190B2 (en) 2011-06-25 2015-06-16 International Business Machines Corporation Comparing system engram with product engram to determine compatibility with system
US8930939B2 (en) * 2011-06-25 2015-01-06 International Business Machines Corporation Comparing system engram with product engram to determine compatibility of product with system
CN103677873A (zh) * 2012-09-10 2014-03-26 联想(北京)有限公司 操作系统安装方法、操作系统切换方法及电子设备
JP5943984B2 (ja) * 2014-10-29 2016-07-05 株式会社コンテック ドライバの実行方法および機器
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496793B1 (en) * 1993-04-21 2002-12-17 Borland Software Corporation System and methods for national language support with embedded locale-specific language driver identifiers
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5794245A (en) * 1995-12-15 1998-08-11 International Business Machines Corporation Generic wrapper for decompressing DOS driver sys files
US6182275B1 (en) * 1998-01-26 2001-01-30 Dell Usa, L.P. Generation of a compatible order for a computer system
US7058563B1 (en) * 1998-09-23 2006-06-06 Microsoft Corporation Device driver auto-load
US6567860B1 (en) * 1998-10-30 2003-05-20 Computer Associates Think, Inc. Method and apparatus for new device driver installation by an operating system
US6353928B1 (en) * 1999-01-04 2002-03-05 Microsoft Corporation First run installer
EP1202168A3 (en) * 2000-10-30 2006-08-23 Microsoft Corporation System and method for dynamically veryfying the compatibility of a user interface resource
US6735756B1 (en) * 2002-02-22 2004-05-11 Xilinx, Inc. Method and architecture for dynamic device drivers

Also Published As

Publication number Publication date
US20060026602A1 (en) 2006-02-02
US7424719B2 (en) 2008-09-09

Similar Documents

Publication Publication Date Title
CN1734417A (zh) 具有多个嵌入驱动程序的应用程序
CN1273891C (zh) 最小单位地更新多个文件的方法
EP0938050A2 (en) Modular storage method and apparatus for use with software applications
KR101699981B1 (ko) 외래 정보를 분할함에 의한 가상 머신 코드의 메모리 최적화
US20110023007A1 (en) Associating Workflows With Code Sections In A Document Control System
EP1548580A2 (en) Non-platforn-specific unique identifier generation
US8438468B2 (en) Annotation management
JP2008234673A (ja) モバイル・デバイスのアプリケーション・インストール管理システムおよび方法
WO1994027219A1 (en) Method and apparatus for patching code residing on a read only moemory device
JPH1040087A (ja) ソフトウェア工学で使われるデータモデルの取り扱い方法
CN101120312A (zh) 用户可配置软件库
CN1645841A (zh) 使用插入消息更改向代码自适应地分派接收消息
CN104603750A (zh) 使用bpram来布局和执行软件应用
US20190114165A1 (en) Using semantic annotations to control compatibility behaviors
US20060059149A1 (en) Generation of anonymized data records from productive application data
CN101916170A (zh) 动态菜单的重排序
CN1892601A (zh) 选择性地安装多个操作系统中的一个的计算机系统及方法
CN1707432A (zh) 确定环境变量在非易失性存储器中的位置
US10394756B2 (en) System and method for customizing archive of a device driver generator tool for a user
CN104583948A (zh) 使用bpram来布局和执行操作系统
US6324688B1 (en) Method and apparatus for optimizing execution of Java programs
CN1892652A (zh) 将文件系统事件集成到关系数据库中的方法和系统
US6592628B1 (en) Modular storage method and apparatus for use with software applications
CN102193818B (zh) 虚拟应用程序包重构
CN1864127A (zh) 用于控制一存储器件的系统、装置及方法

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