CN101135983A - 用于管理驱动程序的资源管理方法及资源管理器 - Google Patents

用于管理驱动程序的资源管理方法及资源管理器 Download PDF

Info

Publication number
CN101135983A
CN101135983A CNA2007101126257A CN200710112625A CN101135983A CN 101135983 A CN101135983 A CN 101135983A CN A2007101126257 A CNA2007101126257 A CN A2007101126257A CN 200710112625 A CN200710112625 A CN 200710112625A CN 101135983 A CN101135983 A CN 101135983A
Authority
CN
China
Prior art keywords
driver
pipeline
priority
specific driver
group
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
Application number
CNA2007101126257A
Other languages
English (en)
Other versions
CN101135983B (zh
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.)
MediaTek Inc
Original Assignee
CrystalMedia Tech Inc
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 CrystalMedia Tech Inc filed Critical CrystalMedia Tech Inc
Publication of CN101135983A publication Critical patent/CN101135983A/zh
Application granted granted Critical
Publication of CN101135983B publication Critical patent/CN101135983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种用于管理驱动程序的资源管理方法。该方法包含有:接收并储存多个驱动程序的登录信息;接收并储存驱动程序的互连信息;接收至少一请求命令来启动并控制驱动程序的特定驱动程序;搜寻登录信息以找出特定驱动程序;以及参考互连信息来决定特定驱动程序是否依据上述请求命令而可被启动。通过本发明提供的资源管理机制,即便在实作上发生多个管线均需使用相同驱动程序的情形,同样能高效合理的配置这些驱动程序以及快速解决驱动程序彼此间的冲突,进而解决因当前软件应用程序中处理程序使用的试误法而引发的低效率等问题。

Description

用于管理驱动程序的资源管理方法及资源管理器
技术领域
本发明关于一种在运算系统中的资源管理器及实现方法,尤其关于一种用于管理驱动程序的资源管理方法及资源管理器。
背景技术
一般而言,如本领域内技术人员所知,当运算系统中处理程序(handler)需要特定驱动程序(例如视频解码器的驱动程序、调谐器(tuner)的驱动程序或是其它驱动程序)时,在逻辑观点(logical view)的角度上,此处理程序并不确定运算系统中有哪些可使用的驱动程序,举例来说,驱动程序可以是视频解码器的驱动程序、调谐器的驱动程序或是其它的驱动程序;而处理程序则可以是要求使用任一或是多个可使用的驱动程序的运算系统中的应用程序。
如前所述,因为应用程序在逻辑观点上无法得知有哪些可使用的驱动程序,所以软件程序(即应用程序)必然需要对运算系统的下层硬件架构具有某种程度的了解,然而若运算系统中硬件组件的规格定义是内存于本身硬件组件中,则将会造成整体系统效率低下。因此,倘若真的依据上述方式来实现,目前的软件应用程序的处理程序便必须使用试误法(trial and error)来找出可使用的驱动程序(此种作法相当缺乏效率);其中此处所述的驱动程序与处理程序的运作为本领域技术人员所熟悉,为了简化说明,在此不另赘述。
因此,为了解决上述所提到的技术问题,提出新颖并同时可改进现有机制的方法与装置显然是相当重要的。
发明内容
本发明目的是提供一种用于管理驱动程序的资源管理方法及资源管理器。
因此本发明的目的之一是在运算系统中提供资源管理方法及资源管理器,用来将运算系统的硬件抽象观点(hardware abstraction view)反映给运算系统的驱动程序。驱动程序的使用状况与驱动程序之间的有效互动状况是利用软件资源管理器来加以重新配置。
本发明实施例提供一种用于管理运算系统中驱动程序的资源管理方法,该资源管理方法包含有:接收并储存多个驱动程序的登录信息;接收并储存上述驱动程序的互连信息;接收至少一请求命令来启动并控制上述驱动程序中的特定驱动程序;搜寻登录信息以找出特定驱动程序;以及参考互连信息来决定特定驱动程序是否依据请求命令而可被执行。
本发明实施例还提供一种用于管理驱动程序的资源管理器,该资源管理器包含有:驱动程序登录单元、存储器、驱动程序管理单元及处理器。驱动程序登录单元用来接收多个驱动程序的登录信息及驱动程序的互连信息。存储器耦接于驱动程序登录单元,其用来储存登录信息与互连信息。驱动程序管理单元耦接于存储器,用来接收至少一请求命令来执行驱动程序中的特定驱动程序。处理器耦接于驱动程序管理单元与存储器,其用来搜寻特定驱动程序的登录信息,以及用来参考互连信息以产生结果。
本发明实施例的有益效果在于:
通过本发明提供的资源管理机制,即便在实作上发生多个管线均需使用相同驱动程序的情形,同样能高效合理的配置这些驱动程序以及快速解决驱动程序彼此间的冲突,进而解决因当前软件应用程序中处理程序使用的试误法而引发的低效率等问题。
附图说明
图1是本发明一实施例提供用于运算系统中驱动程序的资源管理器的功能方框图;
图2是本发明一实施例提供用于运算系统中驱动程序的资源管理方法的流程图。
具体实施方式
在此请注意到,说明书中所提到的管线(pipeline)的词汇是指一种用于描述编组(grouping)多个驱动程序(driver component)情形的概念,另外,上述驱动程序可轻易地被归类成以下三种类型的驱动程序的其中之一:驱动源程序(source driver component)、末端驱动程序(sink driver component)或是过程驱动程序(process driver component);举例来说,管线可以具有单一驱动源程序、连接于驱动源程序后的任何数目的过程驱动程序以及连接于前一个过程驱动程序后的任何数目的末端驱动程序。如稍后说明中所描述,本发明提供的实施例主要反映当多个管线均需使用到相同驱动程序时如何配置上述驱动程序以及如何解决驱动程序彼此冲突所引发的问题。因此,对于本发明而言,并不需要特别说明驱动程序的细节来强调本发明的发明特点;然而,需了解的是,本发明的精神可适用于目前已存在的驱动程序的其它分类方式、编组方法及机制。
请参阅图1,图1是本发明实施例提供用于运算系统(computing system)中的驱动程序资源管理器100的功能方框图。其中,在本发明一实施例中,资源管理器100设计成内嵌在电视机顶盒(set top box)中,并在电视机顶盒开机过程中运作,然而,此非本发明的限制。如图1所示,资源管理器100包含有驱动程序管理单元(driver broker)105、处理器140、存储器110及驱动程序登录单元(driver registration unit)130。驱动程序登录单元130是用来接收多个驱动程序的登录信息(registration  information)与互连信息(interconnection information),例如,驱动程序登录单元130可利用稍后所述的方式来登录(即通过驱动程序接收登录信息)并储存驱动程序的登录信息至存储器110中。驱动程序登录数据库120、互连信息数据库121、驱动程序互斥表122、驱动程序连接表123及驱动程序连接互斥表124则同样均储存于存储器110中。
而存储器110耦接于驱动程序登录单元130、处理器140与驱动程序管理单元105,存储器110用来储存先前所提及的驱动程序的登录信息与互连信息;处理器140则耦接于驱动程序管理单元105与存储器110,并用来搜寻储存于存储器110中的登录信息以找到特定驱动程序,并且参考其互连信息来产生结果。
驱动程序管理单元105耦接于存储器110,其用来接收至少一请求命令(request)以控制多个驱动程序中的特定驱动程序。如图1所示,驱动程序登录数据库120储存于存储器110中,而驱动程序管理单元105是在驱动程序登录数据库120中追踪关于已登录驱动程序的信息,其中此信息包含有驱动程序信息,例如,名称、识别码、群组名称、驱动程序连接表、驱动程序连接互斥表及驱动程序互斥表等等,但本发明并不以此为限。在本实施例中,驱动程序管理单元105用来执行冲突恢复处理程序(conflict restorehandler)、来源连接处理程序(source connection handler)、驱动程序搜寻引擎(driver component search engine)、管线处理程序(pipeline handler)及冲突解决引擎(conflict resolver engine)(均未在图1中显示)。
驱动程序管理单元105的运作与功能则进一步描述如下。应该注意的是,其详细的运作过程仅用来提供有助于了解本发明精神的背景知识以及与本发明有关的一定程度的技术揭露,然而,本发明不应被下文中所提到的范例所限制。举例来说,管线处理程序可建立(establish)/破坏(destroy)管线,并且也可追踪与已建立管线相关连的所有驱动程序。若特定管线被破坏而某些驱动程序仍与此特定管线相关连时,则管线处理程序可告知所有驱动程序的处理程序:目前此特定管线正被破坏;举例来说,管线处理程序会依据将驱动程序加入至管线的相反顺序来通知驱动程序中处理程序有关正被破坏的特定管线所关连的驱动程序。此外,一般而言,处理程序必需通过驱动程序管理单元105或驱动程序管理单元105中任一特定程序来与驱动程序进行交互,然而,在本说明书的其它部分,从驱动程序回传至处理程序的回传消息(callback)或通知消息(notification)可经由驱动程序管理单元105或者不经由驱动程序管理单元105来加以操作。上述相连接的驱动程序的例子为本领域技术人员所了解,而为了简化说明,在此省略其详细的运作过程。需注意的是,通常,处理程序为与运算系统相关的执行程序代码,并且具有可对驱动程序发出请求命令的优点。驱动程序搜寻引擎则用来在驱动程序登录数据库120中的一组已知的搜寻参数中搜寻合适的驱动程序,冲突解决引擎则是用来当一个冲突发生时决定如何解决此冲突所造成的问题,而在必要的状况下,冲突解决引擎也将会送出通知消息至与此冲突有关的处理程序,特别是那些支配冲突中的驱动程序的处理程序。连接处理程序是用来建立连接关系,而一旦连接关系已建立,则会通知处理程序;其中,连接处理程序所建立的任一连接关系可能由异步程序来加以实现。
下列的叙述用来加强说明驱动程序的运作与其彼此间具有上述功能的连结;显然地,在不违背本发明的精神下,也可对本实施例进行许多的设计变化,这均属本发明的范畴。驱动程序登录单元130会接收驱动程序互斥表122,而驱动程序互斥表122定义有包含无法同时被启动的驱动程序的至少一驱动程序群组。此外,驱动程序登录单元130会将驱动程序互斥表122储存于存储器110中。驱动程序管理单元105可能会分别通过第一管线与第二管线来分别接收对一第一特定驱动程序的第一请求命令及对第二特定驱动程序的第二请求命令,并且设定第一管线具有第一优先级(priority)以及设定第二管线具有第二优先级。接着,驱动程序管理单元105会参考储存于存储器110中的驱动程序互斥表122。若第一特定驱动程序与第二特定驱动程序均属于相同的驱动程序群组,则驱动程序管理单元105将会比较第一优先级与第二优先级来决定是否可启动(activate)第一特定驱动程序或是第二特定驱动程序。
驱动程序管理单元105还会将第一旗标(flag)设定给第一管线,以及将第二旗标设定给第二管线,并且当第一优先级与第二优先级相同时,驱动程序管理单元105会参考第一、第二旗标其中之一来决定特定驱动程序是否可被启动。对于在冲突环境中决定共享资源的分配情形,目前已有相当多的机制可达成相同的效果,举例来说,有许多符合本发明精神且可达到上述的关于应用第一、第二旗标等相同效果的例子,因为这些例子已被本领域中技术人员所熟知,故省略相关的运作说明。此外,驱动程序登录单元130会执行多个工作任务(task),而上述工作任务包括接收驱动程序连接表123(其储存于存储器110中)及将驱动程序连接表123储存至存储器110中,其中驱动程序连接表123定义有包含可利用特定顺序来进行连接的驱动程序的驱动程序群组。稍后,驱动程序管理单元105会参考驱动程序连接表123来检查特定驱动程序与另一特定驱动程序是否属于驱动程序连接表123中的同一驱动程序群组,以决定是否启动特定驱动程序。
此外,驱动程序登录单元130会接收用来定义包含多个驱动程序群组中至少一集合的驱动程序连接互斥表124,并会将驱动程序连接互斥表124储存至存储器110,其中每一驱动程序群组中的多个驱动程序可利用特定顺序来进行连接。然而,上述驱动程序群组的集合中所定义的驱动程序连接并无法同时启动。接着,依据处理程序的请求命令的需要,驱动程序管理单元105会参考驱动程序连接互斥表124以检查特定驱动程序与另一特定驱动程序是否属于驱动程序互斥表122中相同集合下的不同驱动程序群组,其中特定驱动程序与另一驱动程序对应于不同的驱动程序连接关系,而若特定驱动程序与另一特定驱动程序属于驱动程序互斥表122中相同集合下的不同驱动程序群组,则驱动程序管理单元105则会比较第一优先级与第二优先级来决定是否可执行特定驱动程序。
此外,驱动程序管理单元105会将第一旗标设定给第一管线并且将第二旗标设定给第二管线。接着,当第一优先级与第二优先级相同时,驱动程序管理单元105会参考第一、第二旗标其中之一来决定是否可执行上述特定驱动程序。举例来说,驱动程序管理单元105会比较第一优先级与第二优先级以决定第一管线与第二管线其中之一可使用上述特定驱动程序;当第一优先级与第二优先级相同时,驱动程序管理单元105分别将第一旗标与第二旗标设定给第一管线与第二管线,并且参考第一、第二旗标其中之一以决定第一管线与第二管线的其中之一可使用上述特定驱动程序。
请参阅图2,图2是本发明一实施例提供用于运算系统中驱动程序的资源管理方法的流程图。其详细的流程步骤如下所述:
步骤200:开始。
步骤210:在运算系统的初始开机程序中,驱动程序登录其登录信息至驱动程序登录单元130中。
步骤220:处理程序会向驱动程序管理单元105发出请求命令来请求驱动程序。
步骤225:处理器140会参考登录信息来决定是否依据请求命令来启动特定驱动程序。
步骤230:驱动程序管理单元105会依据驱动程序的登录信息与优先级来提供被请求的驱动程序。
步骤240:驱动程序管理单元105会更新驱动程序的状态以反应出目前被请求的驱动程序的使用情况。
步骤250:驱动程序管理单元105会等候下一个处理程序的请求命令与驱动程序的登录信息,接着,返回步骤220。
综上所述,本实施例的流程开始于步骤200。而在步骤210中,驱动程序会将其信息登录在驱动程序登录单元130中(驱动程序可在运算系统的初始开机程序中登录其信息),而所有驱动程序必定均能够登录其信息于驱动程序登录单元130中;而在步骤210中,驱动程序会在登录信息至驱动程序登录单元130时,提供信息至管线处理程序。
请注意到,任一数目的驱动程序均可被编组以形成多个驱动程序所构成的单一群组或丛集(cluster);之后,处理程序可利用发出单一请求命令至资源管理器100来请求特定群组中的多个驱动程序,举例来说,在资源管理器100中可定义一个常用的驱动程序群组(即在特定组态下较常使用到的数个驱动程序,其中特定组态可能是由特定驱动程序数据库参数所定义)。因此,处理程序可通过指定某些驱动程序参数(例如类型(type)与群组(group))来发出单一请求命令至驱动程序管理单元105以请求单一驱动程序(例如为一群组驱动程序)。
请注意到,在步骤210中,本发明并没有限定储存于存储器110的驱动程序登录信息的种类,因此,举例来说,在本实施例中,驱动程序登录单元130可接收定义有包含无法同时启动的驱动程序的至少一驱动程序群组的驱动程序互斥表122,并将驱动程序互斥表122储存于存储器110中;而在另一例子中,驱动程序登录单元130则可接收驱动程序连接表123并将驱动程序连接表123储存于存储器110中,其中驱动程序连接表123中定义有包含可利用特定顺序来连接的驱动程序的至少一驱动程序群组;而在另外的其它例子中,驱动程序登录单元130可接收驱动程序连接互斥表124并将驱动程序连接互斥表124储存于存储器110中,其中驱动程序连接互斥表124用来定义包含多个驱动程序群组中至少一集合,而每一驱动程序群组中的驱动程序则可利用特定顺序来连接,然而,由此集合中的这些驱动程序群组所定义的驱动程序连接关系则无法同时被启动。
在步骤225中,处理器140会参考登录信息来决定是否可依据请求命令而启动特定驱动程序,举例来说,在本实施例中所经常提及的登录信息可包含有驱动程序登录数据库120、互连信息数据库121、驱动程序互斥表122、驱动程序连接表123与驱动程序连接互斥表124,并且均可储存于存储器110中;然而,这并非是本发明的限制。
而在下面说明中,本发明同样提出其它例子来说明如何使用存储器110中不同的登录信息,举例来说,当通过第一管线来请求另一特定驱动程序以及通过第二管线来请求特定驱动程序时,可参考驱动程序连接表123来检查特定驱动程序与另一特定驱动程序是否属于驱动程序连接表123中同一驱动程序群组,以决定是否可启动上述特定驱动程序。
在另一例子中,若通过第一管线来请求一特定驱动程序,并再通过第二管线来请求此特定驱动程序时,则会设定第一优先级给第一管线以及设定第二优先级给第二管线。此外,在另外的例子中,若此特定驱动程序与另一特定驱动程序是属于同一驱动程序群组,则处理器140会比较第一优先级与第二优先级来决定是否启动此特定驱动程序;例如,上述说明所提及的冲突解决引擎可在驱动程序管理单元105内部实现。
另外,在其他的例子中,若此特定驱动程序与另一特定驱动程序是属于驱动程序互斥表122中相同集合中的不同驱动程序群组,则处理器140会比较第一优先级与第二优先级来决定是否可执行此特定驱动程序,其中第一管线进一步被设定为具有第一旗标,而第二管线进一步被设定为具有第二旗标,以及当第一优先级与第二优先级相同时,处理器140必须参考第一、第二旗标其中之一来决定是否可启动此特定驱动程序。
再或者,第一管线被设定为具有第一旗标,而第二管线则被设定为具有第二旗标;处理器140必须比较第一、第二优先级来决定是否可启动此特定驱动程序,而当第一优先级与第二优先级相同时,可通过参考第一、第二旗标其中之一来决定是否可启动此特定驱动程序,例如,上述说明所提及的冲突解决引擎可在驱动程序管理单元105内部实现。
此外,在其它例子中,若第一管线与第二管线均发出请求命令来请求特定驱动程序,而第一管线与第二管线分别被设定为具有第一优先级与第二优先级,则处理器140必然会参考储存于存储器110中的互连信息数据库121来决定是否可启动此特定驱动程序以响应此请求命令,详细来说,尤其是当参考驱动程序连接互斥表124来检查此特定驱动程序与另一特定驱动程序是否属于驱动程序连接互斥表124中相同集合中的不同驱动程序群组。其中此特定驱动程序与另一特定驱动程序分别对应于不同的驱动程序连接关系,例如,上述说明所提及的驱动程序搜寻引擎可在驱动程序管理单元105内部实现。
再者,在其它例子中,若第一管线与第二管线均发出请求命令来请求特定驱动程序,因此,第一管线与第二管线分别被设定为具有第一优先级与第二优先级,而驱动程序管理单元105会比较第一优先级与第二优先级来决定第一管线与第二管线其中之一来使用此特定驱动程序,举例来说,例如,上述说明所提及的冲突解决引擎可在驱动程序管理单元105内部实现。
而在某些情况下,上述管线的第一优先级与第二优先级可能会是相同的顺序,此时,驱动程序管理单元仅需参考第一、第二旗标其中之一来决定第一管线与第二管线其中之一使用此特定驱动程序。目前已有许多机制与技术来分配一冲突环境中有限的系统资源,例如在本发明实施例中所提到的驱动程序与处理程序。通过使用例子来说明的方式(但并非本发明的限制),本发明提出一个简易的优先级旗标仲裁机制,然而,本领域技术人员所熟悉的任何类似机制应该属于本发明的精神,均属本发明范畴,例如,上述说明所提及的冲突解决引擎可在驱动程序管理单元105内部实现;而为了简化说明,在此省略其详细的运作过程。
在步骤230中,驱动程序管理单元105会依据驱动程序登录信息与驱动程序或管线的优先级来提供所请求的驱动程序,例如,处理器140在步骤225中会参考驱动程序互斥表122来检查此特定驱动程序与另一特定驱动程序是否属于驱动程序互斥表122中同一驱动程序群组,以提供驱动程序管理单元105检查后的结果来执行后续步骤230,例如,上述说明所提及的驱动程序搜寻引擎可在驱动程序管理单元105内部实现。
驱动程序管理单元105在步骤240中则会更新驱动程序的状态来反映出所请求的驱动程序的使用情况,换言之,每当已经响应由多个处理程序其中之一所发出多个驱动程序的请求命令的其中之一,驱动程序管理单元105便更新驱动程序登录数据库120来正确指出每一被请求的驱动程序的最新状态。举例来说,先前所提及的连接处理程序可在驱动程序管理单元105内部实现以达到此目的。此外,驱动程序管理单元105在步骤250中则会等候下一个处理程序的请求命令,接着,上述流程步骤才会回到步骤220以接收处理程序的请求命令,并重复执行上述的流程步骤;举例来说,先前所提及的管线处理程序可在驱动程序管理单元105内部实现。是达到此项目所需的一个重要组件。
当接收至少一个登录信息群组(登录信息群组包含有部分驱动程序的登录信息)以及当储存登录信息群组至存储器110中时,相当可能会接收到驱动程序群组的请求命令,此驱动程序群组的请求命令包含有特定驱动程序,而当处理器140正在搜寻登录信息时,本发明所提出的实施例则可搜寻到对应于群组的登录信息群组;而需注意的是,上述的运作过程可轻易地在电视机顶盒中实现,尤其是在电视机顶盒的开机过程中。再请注意到,驱动程序管理单元105设计成可识别出(或以旗标注记)目前已结束使用的某一特定驱动程序管线(例如,处理程序可能已终止连接关系,所以不再需要使用目前的特定管线),所以可适当地留置特定管线,若稍后将再度使用到特定管线,则可避免重新建立整个管线,此种作法将有助于提升资源管理器100的工作效率,然而,这并非用来作为对本发明的限制。
以上所述仅为本发明的较佳实施例,凡根据本发明所做的均等变化与修饰,都属于本发明的保护范围。

Claims (26)

1.一种用于管理驱动程序的资源管理方法,其特征在于,该方法包含有:
接收并储存多个驱动程序的登录信息;
接收并储存所述多个驱动程序的互连信息;
接收至少一请求命令来启动并控制所述多个驱动程序中的特定驱动程序;
搜寻所述登录信息以找出所述特定驱动程序;以及
参考所述互连信息来决定所述特定驱动程序是否依据所述请求命令而可被启动并控制。
2.如权利要求1所述的资源管理方法,其特征在于:所述接收并储存所述多个驱动程序的互连信息的步骤包含有:
接收非必需的驱动程序互斥表,并储存该驱动程序互斥表;其中所述驱动程序互斥表定义有至少一驱动程序群组,该至少一驱动程序群组包含无法同时启动的多个驱动程序。
3.如权利要求2所述的资源管理方法,其特征在于:进一步包括:第一管线请求另一特定驱动程序,第二管线请求所述特定驱动程序,所述第一管线被设定为具有第一优先级,所述第二管线被设定为具有第二优先级,以及所述参考所述互连信息来决定所述特定驱动程序是否依据所述请求命令而可被启动并控制的步骤包含有:
参考所述驱动程序互斥表来检查所述特定驱动程序与所述另一特定驱动程序是否属于所述驱动程序互斥表中的同一驱动程序群组;以及
若所述特定驱动程序与所述另一特定驱动程序属于所述同一驱动程序群组,比较所述第一优先级与所述第二优先级来决定所述特定驱动程序是否可被启动与控制。
4.如权利要求3所述的资源管理方法,其特征在于:所述该第一管线被设定为具有第一旗标,所述该第二管线被设定为具有第二旗标,以及所述该比较所述该第一优先级与所述该第二优先级来决定所述该特定驱动程序是否可被启动与控制的步骤包含有:
当所述第一优先级相同于所述第二优先级时,参考所述第一旗标与所述第二旗标其中之一来决定所述特定驱动程序是否可被启动与控制。
5.如权利要求1所述的资源管理方法,其特征在于:所述接收并储存所述多个驱动程序的互连信息的步骤包含有:
接收并储存驱动程序连接表;其中所述驱动程序连接表定义了至少一驱动程序群组,该至少一驱动程序群组包含可利用特定顺序来连接的多个驱动程序。
6.如权利要求5所述的资源管理方法,其特征在于:进一步包括:第一管线请求另一特定驱动程序,第二管线请求所述特定驱动程序,以及所述参考所述互连信息来决定所述特定驱动程序是否依据所述请求命令而可被启动并控制的步骤包含有:
参考所述驱动程序连接表来检查所述特定驱动程序与所述另一特定驱动程序是否属于所述驱动程序连接表中的同一驱动程序群组,以决定所述特定驱动程序是否可被启动并控制。
7.如权利要求1所述的资源管理方法,其特征在于:所述接收并储存所述多个驱动程序的互连信息的步骤包含有:
接收并储存驱动程序连接互斥表;其中所述驱动程序连接互斥表定义有包含多个驱动程序群组的至少一集合,而该集合中每一驱动程序群组的驱动程序可利用特定顺序来连接,以及该集合中所述多个驱动程序群组所定义的驱动程序连接关系无法同时启动。
8.如权利要求7所述的资源管理方法,其特征在于:进一步包括:第一管线请求另一特定驱动程序,第二管线请求所述特定驱动程序,所述第一管线设定为具有第一优先级,所述第二管线设定为具有第二优先级,以及所述参考所述互连信息来决定所述特定驱动程序是否依据该请求命令而可被启动并控制的步骤包含有:
参考所述驱动程序连接互斥表来检查所述特定驱动程序与所述另一特定驱动程序是否属于驱动程序互斥表中相同集合中的不同驱动程序群组,其中所述特定驱动程序与所述另一特定驱动程序对应于不同的驱动程序连接关系;以及
若所述特定驱动程序与所述另一特定驱动程序属于所述驱动程序互斥表中相同集合中的不同驱动程序群组,比较所述第一优先级与所述第二优先级来决定所述特定驱动程序是否可被启动。
9.如权利要求8所述的资源管理方法,其特征在于:所述第一管线另被设定为具有第一旗标,所述第二管线另被设定为具有第二旗标,以及所述比较所述第一优先级与所述第二优先级来决定所述特定驱动程序是否可被启动的步骤包含有:
当所述第一优先级相同于所述第二优先级时,参考所述第一旗标与所述第二旗标其中之一来决定所述特定驱动程序是否可被启动。
10.如权利要求1所述的资源管理方法,其特征在于:进一步包括:第一管线与第二管线请求所述特定驱动程序,所述第一管线被设定为具有第一优先级,所述第二管线被设定为具有第二优先级,以及所述接收所述请求命令来启动并控制所述特定驱动程序的步骤包含有:
比较所述第一优先级与所述第二优先级来决定所述第一管线与所述第二管线其中之一可使用所述特定驱动程序。
11.如权利要求10所述的资源管理方法,其特征在于:所述第一管线另被设定为具有第一旗标,所述第二管线另被设定为具有第二旗标,以及比较所述第一、第二优先级来决定所述第一、第二管线其中之一可使用所述特定驱动程序的步骤包含有:
当所述第一优先级相同于该第二优先级时,参考所述第一旗标与所述第二旗标其中之一来决定所述第一管线与所述第二管线的其中之一可使用所述特定驱动程序。
12.如权利要求1所述的资源管理方法,其特征在于:所述接收并储存所述多个驱动程序的登录信息的步骤包含有:
接收并储存至少一登录信息群组,该登录信息群组包含有所述多个驱动程序的一部分的登录信息;以及
所述接收所述请求命令来启动并控制所述多个驱动程序中所述特定驱动程序的步骤包含有:
接收对应于包含有所述特定驱动程序的驱动程序群组的请求命令;以及
所述搜寻对应于所述特定驱动程序的登录信息的步骤包含有:
搜寻所述驱动程序群组所对应的登录信息群组的登录信息。
13.如权利要求1所述的资源管理方法,其特征在于:所述接收所述驱动程序的登录信息并储存所述驱动程序的登录信息的步骤是在电视机顶盒的开机程序中执行。
14.一种用于管理驱动程序的资源管理器,其特征在于,所述资源管理器包含有:
驱动程序登录单元,所述驱动程序登录单元用来接收多个驱动程序的登录信息以及接收该多个驱动程序的互连信息;
存储器,所述存储器耦接于所述驱动程序登录单元,用来储存所述登录信息与所述互连信息;
驱动程序管理单元,所述驱动程序管理单元耦接于所述存储器,用来接收至少一请求命令来执行所述多个驱动程序中的特定驱动程序;以及
处理器,所述处理器耦接于所述驱动程序管理单元与所述存储器,用来搜寻所述特定驱动程序的登录信息,并参考所述互连信息来决定所述特定驱动程序是否依据所述请求命令而可被执行。
15.如权利要求14所述的资源管理器,其特征在于:所述驱动程序登录单元会接收驱动程序互斥表并将该驱动程序互斥表储存至所述存储器中,所述驱动程序互斥表定义有包含无法同时执行的驱动程序中至少一驱动程序群组。
16.如权利要求15所述的资源管理器,其特征在于:所述驱动程序管理单元接收由第一管线所发出对应另一特定驱动程序的请求,以及由第二管线所发出的对应所述特定驱动程序的请求;所述驱动程序管理单元会设定第一优先级给所述第一管线,并设定第二优先级给所述第二管线;以及所述驱动程序管理单元会参考储存在所述存储器中的所述驱动程序互斥表,若所述特定驱动程序与所述另一特定驱动程序属于同一驱动程序群组,则所述驱动程序管理单元会比较所述第一优先级与所述第二优先级来决定所述特定驱动程序是否可被执行。
17.如权利要求16所述的资源管理器,其特征在于:所述驱动程序管理单元会设定第一旗标给所述第一管线,并设定第二旗标给所述第二管线,以及当所述第一优先级相同于所述第二优先级时,所述驱动程序管理单元会参考所述第一旗标与所述第二旗标其中之一来决定所述特定驱动程序是否可被执行。
18.如权利要求14所述的资源管理器,其特征在于:所述驱动程序登录单元会接收驱动程序连接表并将所述驱动程序连接表储存至所述存储器中,所述驱动程序连接表定义有以特定顺序连接的至少一驱动程序群组。
19.如权利要求18所述的资源管理器,其特征在于:所述驱动程序管理单元接收由第一管线所发出对应另一特定驱动程序的请求,以及由第二管线所发出的对应所述特定驱动程序的请求;所述驱动程序管理单元会参考所述驱动程序连接表来检查所述特定驱动程序与所述另一特定驱动程序是否属于所述驱动程序连接表中同一驱动程序群组,以决定所述特定驱动程序与所述另一特定驱动程序是否可彼此连接。
20.如权利要求14所述的资源管理器,其特征在于:所述驱动程序登录单元会接收并储存驱动程序连接互斥表至所述存储器中,所述驱动程序连接互斥表定义有包含多个驱动程序群组中至少一集合,其中该集合中每一驱动程序群组的驱动程序可利用特定顺序来连接,以及该集合中所述多个驱动程序群组所定义的驱动程序连接关系无法同时启动。
21.如权利要求20所述的资源管理器,其特征在于:所述驱动程序管理单元接收由第一管线所发出对应另一特定驱动程序的请求,以及由第二管线所发出的对应所述特定驱动程序的请求;所述驱动程序管理单元会参考所述驱动程序连接互斥表来检查所述特定驱动程序与所述另一特定驱动程序是否属于驱动程序互斥表中相同集合的不同驱动程序群组,其中所述特定驱动程序与所述另一特定驱动程序对应于不同的驱动程序连接关系;所述驱动程序管理单元设定第一优先级给所述第一管线,并设定第二优先级给所述第二管线,以及若所述特定驱动程序与所述另一特定驱动程序属于所述驱动程序互斥表中相同集合的不同驱动程序群组,所述驱动程序管理单元还会比较所述第一优先级与所述第二优先级来决定所述特定驱动程序是否可被执行。
22.如权利要求21所述的资源管理器,其特征在于:所述驱动程序管理单元会设定第一旗标给所述第一管线及设定第二旗标给所述第二管线;以及当所述第一优先级相同于所述第二优先级时,所述驱动程序管理单元会参考所述第一旗标与所述第二旗标中其中之一来决定所述特定驱动程序是否可被执行。
23.如权利要求14所述的资源管理器,其特征在于:所述驱动程序管理单元接收由第一管线与第二管线发出的对应所述特定驱动程序的请求;所述驱动程序管理单元设定第一优先级给所述第一管线,并设定第二优先级给所述第二管线;以及所述驱动程序管理单元会比较所述第一优先级与所述第二优先级来决定所述第一管线与所述第二管线中其中之一可使用所述特定驱动程序。
24.如权利要求23所述的资源管理器,其特征在于:所述驱动程序管理单元会设定第一旗标给所述第一管线及设定第二旗标给所述第二管线;以及当所述第一优先级相同于所述第二优先级时,所述驱动程序管理单元会参考所述第一旗标与所述第二旗标中其中之一来决定所述第一管线与所述第二管线中其中之一可使用所述特定驱动程序。
25.如权利要求14所述的资源管理器,其特征在于:所述驱动程序登录单元会接收至少一登录信息群组并会储存该登录信息群组至所述存储器中,所述登录信息群组具有所述驱动程序的一部分登录信息;所述驱动程序管理单元会接收对应于具有所述特定驱动程序的驱动程序群组的请求命令;以及所述处理器会搜寻所述驱动程序群组所对应的登录信息群组的登录信息。
26.如权利要求14所述的资源管理器,其特征在于:所述驱动程序登录单元接收所述登录信息,以及在电视机顶盒的开机程序中储存所述登录信息至所述存储器中。
CN2007101126257A 2006-08-30 2007-06-25 用于管理驱动程序的资源管理方法及资源管理器 Active CN101135983B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/468,760 US20080059266A1 (en) 2006-08-30 2006-08-30 Resource managing method and device for managing drivers
US11/468,760 2006-08-30

Publications (2)

Publication Number Publication Date
CN101135983A true CN101135983A (zh) 2008-03-05
CN101135983B CN101135983B (zh) 2011-04-20

Family

ID=39153093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101126257A Active CN101135983B (zh) 2006-08-30 2007-06-25 用于管理驱动程序的资源管理方法及资源管理器

Country Status (3)

Country Link
US (1) US20080059266A1 (zh)
CN (1) CN101135983B (zh)
TW (1) TWI338255B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098548B1 (en) * 2010-06-14 2015-08-04 Open Invention Network, Llc Method and apparatus for accessing a data source from a client using a driver
CN104111865A (zh) * 2014-08-04 2014-10-22 浪潮通用软件有限公司 一种通过数据库技术控制软件功能运行冲突的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5964843A (en) * 1996-04-25 1999-10-12 Microsoft Corporation System for enhancing device drivers
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US7421711B2 (en) * 1999-07-26 2008-09-02 Microsoft Corporation System, method and apparatus for supporting a kernel mode driver
EP1327191B1 (en) * 2000-09-22 2013-10-23 Lumension Security, Inc. Non-invasive automatic offsite patch fingerprinting and updating system and method
US6938161B2 (en) * 2001-02-20 2005-08-30 Networks Associates Technology, Inc. Test driver selection
US6671749B2 (en) * 2001-03-07 2003-12-30 Hewlett-Packard Development Company, L.P. Peripheral driver installation method and system
US8176503B2 (en) * 2004-01-27 2012-05-08 Hewlett-Packard Development Company, L.P. Device driver selection
JP4227035B2 (ja) * 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
US8271387B2 (en) * 2005-06-20 2012-09-18 Intraware, Inc. Method and apparatus for providing limited access to data objects or files within an electronic software delivery and management system

Also Published As

Publication number Publication date
TW200811715A (en) 2008-03-01
US20080059266A1 (en) 2008-03-06
TWI338255B (en) 2011-03-01
CN101135983B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
US8347318B2 (en) Application component communication apparatus of SCA-based system and method thereof
CN1174307C (zh) 用于自动设备驱动程序配置的方法和系统
US7877091B2 (en) Method and system for executing a container managed application on a processing device
US20080294764A1 (en) Storage medium bearing hba information provision program, hba information provision method and hba information provision apparatus
CN111625293B (zh) 一种基于linux内核的终端双系统及其硬件访问管理方法
US9569295B2 (en) Indicating states in a telematic system
EP2972824B1 (en) Computer system using in-service software upgrade
JPH05505263A (ja) トランザクション・コマンドの経路指定
US20030135617A1 (en) Intelligent system control agent
WO2021022714A1 (zh) 跨区块链节点的消息处理方法及装置、设备、介质
US20070050490A1 (en) Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
CN111858007A (zh) 一种基于消息中间件的任务调度方法方法和装置
CN111736809B (zh) 分布式机器人集群网络管理框架及其实现方法
WO2022214012A1 (zh) 实现应用程序的多语言翻译的系统、方法、设备和介质
US20080172494A1 (en) Method and apparatus for determining communication protocol
CN101135983B (zh) 用于管理驱动程序的资源管理方法及资源管理器
CN108429665B (zh) 一种并发通信传输数据的方法
CN111782417B (zh) 一种基于消息的多进程共享串口资源的实现方法
CN111209125B (zh) 一种多进程的命令行实现方法
US20040024856A1 (en) Method and system for a services environment management engine
CN106909368B (zh) 一种实现快速业务开发的服务端业务层逻辑架构
JP2007530353A (ja) 多数の制御デバイスを備えたバスシステムでの非コンパチビリティを認識する方法
US20110191405A1 (en) Automatic Client-Server Code Generator
CN115422277A (zh) 数据源连接池控制方法、装置及服务器
CN111708568B (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
ASS Succession or assignment of patent right

Owner name: MEDIATEK (USA) CO., LTD.

Free format text: FORMER OWNER: JINGFA TECH CO., LTD.

Effective date: 20080509

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080509

Address after: california

Applicant after: Mediatek Inc.

Address before: california

Applicant before: Crystalmedia Technology Inc.

C14 Grant of patent or utility model
GR01 Patent grant