CN100430887C - 事件处理方法和*** - Google Patents
事件处理方法和*** Download PDFInfo
- Publication number
- CN100430887C CN100430887C CNB2004800426738A CN200480042673A CN100430887C CN 100430887 C CN100430887 C CN 100430887C CN B2004800426738 A CNB2004800426738 A CN B2004800426738A CN 200480042673 A CN200480042673 A CN 200480042673A CN 100430887 C CN100430887 C CN 100430887C
- Authority
- CN
- China
- Prior art keywords
- processor
- computer system
- poll
- event
- timer
- 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.)
- Expired - Fee Related
Links
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
描述了一种用于事件处理机制的方法和设备。在本发明的一个实施例下,一种方法包括为多个时间间隔设置定时器,在所述多个时间间隔的每一个的结束处调用轮询功能,该轮询功能由第一处理器来执行;并且如果轮询功能导致肯定的结果,则使用第二处理器处理该轮询功能的结果。
Description
技术领域
本发明的实施例一般地涉及计算机操作,更具体地涉及事件处理机制。
发明背景
在计算机操作中,通常存在一些过程以考虑到特定的事件处理。在一个常见的例子中,可以存在一个中断过程,其中中断信号是使用来暂停正常的***操作并且将处理转移到特定事件。然而,中断过程的利用***的本质也要求额外开销,且因此减缓了处理。
在某些环境中,特定的事件处理可以改为由定时器中断来操控,一种可以被称作为“免中断(interrupt free)”的***。如果某些事件需要监控,则这种类型的事件处理机制可以被修改以包括周期的轮询,通过该轮询,一个过程、连接或其它项会以一定的间隔被检查或轮询来确定是否需要动作。周期的轮询可以通过使用周期的定时器事件和每次定时器期满时实现的功能来加以实现。
然而,周期轮询可能在处理器操作上强加一定的花费。轮询操作必须按应用所需要的去足够频繁地执行。然而,应用需要的轮询越频繁,所引起的性能损失越大。
附图简述
通过参照下面的描述和用于示例本发明的实施例的附图,本发明可以得到最佳理解。在附图中:
图1示出了一个常规的中断处理;
图2示出了在多处理器***中周期轮询的一个实施例;
图3示出了在一个事件处理机制中处理器任务的一个实施例;
图4示出了用于一个事件处理机制的处理器操作的一个实施例;
图5示出了为事件处理使用另一个处理器的处理机制的处理器操作的一个实施例;
图6示出了在一个计算机***中事件处理的实施例的流程图;以及
图7示出了一个典型计算机环境的实施例的框图。
具体实施例
描述了一种用于事件处理机制的方法和设备。
在描述可以实现本发明的各种实施例的典型环境之前,将简单定义在本申请中使用的某些术语。
如这里所用到的,“引导(bootstrap)处理器”指用来初始化***的处理器。***的初始化可以包括引导一个操作***。
如这里所用到的,“应用处理器”指除了引导处理器之外的处理器,用于执行***中的应用和进程。
根据本发明的一个实施例,事件机制被提供在多处理器(MP)或超线程(HT)计算机结构中。根据本发明的实施例,事件机制通过允许一个物理或逻辑处理器来从事正常的处理、而同时将特定的事件操作定向到另一个物理或逻辑处理器来实现。在一个例子中,一个物理或逻辑处理器可能是一个引导处理器并且另一个物理或逻辑处理器可能是一个应用处理器。
在本发明的一个实施例下,计算机结构利用定时器中断来进行事件通知。在一个实施例下,使用定时器中断来实现周期轮询。该周期轮询操作包括被以一定的时间间隔设置的定时器中断,让功能或其它动作在定时器刚一达到一个时间间隔时就被调用。根据一个实施例,一个物理或逻辑处理器至少部分地与执行周期轮询任务的另一个物理或逻辑处理器并行地执行正常处理。
在本发明的一个特定实施例下,多处理器(MP)或超线程(hyper-threading)(HT)结构被用于为Intel公司的EFI(可扩展固件接口)实现并行事件处理机制。(EFI接口在技术规范,即Intel公司在2002年12月1日的1.10版本、在2003年11月26日更新的可扩展固件接口技术规范中被更充分地加以描述。)该事件处理机制利用了“免中断”环境中的异步事件通知,该通知指示了唯一可用的中断为定时器中断。该定时器中断是EFI环境下的唯一异步事件源并且可用于实现异步事件通知。
在本发明的一个实施例下,事件处理机制是基于定时器中断。为了实现事件处理机制,通过利用周期的定时器事件来实现周期轮询。通过调用事件和定时器服务,程序驱动器将创建一个周期的定时器事件并且对于该事件登记一个回调(callback)通知功能。该回调功能可以由事件处理机制周期地(例如,每1毫秒一次)执行。在一个例子中,USB(通用串行总线)驱动器可以登记一个回调功能,该回调功能周期地轮询一个或者多个USB端口以确定是否有任何USB设备的***或移除的事件已经发生。然而,事件处理机制的一个实施例可以是为需要周期轮询的任何事件来实现的。
虽然“免中断”方法可以简化一个计算机结构,比如EFI结构,并且因此增强***的稳定性,但是在比如,举例来说对其而言实时性能是很关键的网络堆栈或其它网络处理的情况中存在着麻烦。在一个用于网络堆栈的事件处理机制中,轮询功能可以被实现来周期地轮询网络接口卡(NIC)以便以适时方式获得到来的数据。因为到来的数据的频率和被接收的数据的长度通常是不可预料的,并且因为通常不可能对于网络的当前状况做出任何假设,所以可能需要相对短的定时器周期来以足够的频率轮询以防止数据的丢失。
然而,通过支持定时器中断来实现的周期轮询机制通常将中断用于一个处理器的正常的执行线程并且因此导致对正常执行的线程的性能的负面影响。在周期轮询中使用的定时器周期越短,则在轮询上所花费的CPU(中央处理单元)周期越多,并且其它任务可用的CPU周期越少。在复杂过程的处理中,比如TCP/IP(因特网协议上的传输控制协议),周期定时器事件自身的处理机可能变得复杂。结果,整个***执行可能被大大减缓。在某些点上,例如在计算节点之间存在大量的数据传送的模块式计算环境中,速度上的损失可能变得无法忍受。因此,随着周期轮询更频繁地发生,对于正常执行线程的性能损失可能增加,但是周期轮询的频率需要足够高以获得应用所需的实时性能。
在本发明的一个实施例下,执行线程的性能和事件机制的性能之间的冲突通过利用在MP/HT平台中提供的额外处理能力来减轻。在本发明的一个实施例下,事件处理机制从引导处理器(BSP)转移到应用处理器(AP)。在这个实施例中,事件处理的负担被从引导处理器移到应用处理器,从而免去了引导处理器的操作。
通常对于MP/HT***,外部中断可以被分发到引导处理器或应用处理器,这些处理器对于中断分发目的而言是等同的。在本发明的一个实施例下,在平台初始化的一开始,应用处理器专用于处理定时器中断,并且该定时器中断被指定为只分发到那个应用处理器。在这个实施例中,所述指定的应用处理器因此专用于事件处理,因为事件处理机制是基于定时器中断。应用处理器负责执行通过使用周期的定时器事件而实现的周期轮询任务。引导处理器于是负责执行正常的计算任务。正常的计算任务和周期的轮询任务被并行执行,至少部分地在时间上重叠。在这个实施例中,周期的轮询任务并不带来对于正常任务的重大性能损失,并且周期的轮询任务可以按需要被频繁地执行,以便满足特定应用的需要。
在常规的BIOS中(基本输入-输出***),引导处理器可以负责执行正常任务和事件处理。事件处理,尤其是通过使用周期定时器事件实现的周期轮询任务,对于正常任务的执行有重大的负面影响。在一个事件处理机制的实施例下,引导处理器仅执行正常任务并且一个指定的应用处理器提供给事件处理。通过利用另一个处理器进行事件处理的事件机制,正常任务的性能和事件处理的实时性能都可以得到提高。在利用了典型的BIOS PXE(预引导执行环境)引导的本发明的一个实施例中,带有多处理器的事件处理的采用既可以减小引导时间又可以提高网络堆栈的性能,这进而又可以减少数据分组的丢失。在本发明的这样的实施例下,对于现有的结构有很少的影响,因此使之比较易于实现和布置。
在一个可能的实例中,EFI为一个单线程且“免中断”的环境,使该执行的线程仅由一个定时器中断来中断。周期轮询机制可以通过支持定时器中断而在这样的***中被实现。周期轮询操作正常地将中断正常的执行线程并且对正常执行的线程的性能具有负面的影响。随着周期轮询更频繁地发生,对于正常执行线程的性能损失也增加。然而,实际上,周期轮询的频率必须足够高以获得所需的实时性能。在具有多处理器的***中,可以通过利用除了引导处理器之外的计算资源来解决这个进退两难的局面。在本发明的一个实施例下,轮询任务被转移到一个应用处理器。在平台初始化的一开始,一个应用处理器被指派来处理该定时器中断并且该定时器中断被指定为只分发给那个应用处理器。正常的任务和轮询任务可以至少部分地并行执行,这些任务在时间上重叠。
图1示出了一个常规的中断过程。在图1中,常规的多处理器***可能具有两个或多个物理处理器,或者可能具有一个物理处理器,该物理处理器带有提供两个或多个逻辑处理器的超线程技术。在这样的示例中,第一处理器作为一个应用处理器(AP)110工作并且第二处理器作为引导处理器(BSP)105工作。(该处理器被示出为连接到总线115的单独的物理处理器,但类似的过程可以使用逻辑处理器来实现。)外部中断120可以被分发给任一处理器。对于中断分发的目的,引导处理器105和应用处理器110可以被视作是等同的。
图2示出了在多处理器***中的周期轮询的一个实施例。在这个示例中,第一物理或逻辑处理器作为一个应用处理器210来使用并且第二物理或逻辑处理器作为一个引导处理器205来使用。这些处理器被连接到总线215。在图2中,计算机环境利用定时器中断,该中断象征性地由一个定时器220来表示。周期轮询是通过以周期性的间隔设置定时器220以从事回调功能225而实现的,因此产生了一个到处理器的调用来用于周期轮询230。在常规的***中,在这个实例中的功能调用235可以被定向到引导处理器205。然而,到引导处理器的周期调用可能将花费强加到正常的处理上,特别是如果应用需要定时器间隔比较短的话。在本发明的一个实施例下,功能调用240改为被定向到应用处理器210,因此该调用与引导处理器的正常处理操作被并行处理。使用并行处理的周期轮询过程因此考虑了正常操作的更少中断和更高的性能。
图3示出了在一个事件处理机制中的处理器任务的一个实施例。在图3中,该处理任务被象征性示出以示例本发明的实施例的操作。在使用定时器中断来产生对事件管理的周期轮询的非并行操作305中,一个引导处理器315可能接收到周期的功能调用,因为定时器以一定的定时器间隔从事回调功能。然而,该周期轮询任务给***操作强加了负担,使轮询任务以一定的时间间隔中断引导处理器315的正常操作。除了处理时间的损失之外,引导处理器315可能变得过度繁忙并且潜在地可能丢失一定的数据分组。这时,应用处理器320可能是空闲的。
在并行操作310中,引导处理器325可能不被要求来为周期轮询功能处理轮询任务。引导处理器325因此可能能够集中精力处理正常的任务,如图3所示的,这可能被完成得更快。该应用处理器330可能处理该轮询任务,该任务在该示例中被示作具有轮询任务周期的可选的空闲周期。
图4示出了用于事件处理机制的处理器操作的一个实施例。图4特别地演示了使用事件处理机制来实现的TCP/IP(因特网协议上的传输控制协议)网络堆栈。在图4中,引导处理器405接收周期功能调用以使能一个周期轮询功能。应用处理器410此时是存在的,但是是空闲的。还示出了共享存储器415,可用于在引导处理器405和应用处理器410之间传送数据,尽管也可以利用其它的数据传送方法。轮询循环420由一个应用使用来周期地轮询网络堆栈。在这个特定的示例中,轮询循环420可以用网络协议层425和网络接口层430来启动一个过程。一旦确定了存在数据要从网络堆栈传送,那么在网络接口层430和网络协议层425之间存在反向的通信。数据分组432可能被传送以便由引导处理器405来处理,其可能需要一定的动作,比如写入盘435、执行命令440、后处理操作450,比如关于FTP(文件传送协议)服务器的操作、以及其它的功能445。然而,置于引导处理器405之上的工作量可能非常大,特别是如果轮询循环420以很短的间隔运行的话。在一定的情况下,周期轮询任务可能产生这样的情形,即其中数据分组被丢失或者要不然性能是不可接受的。
图5示出了用于利用另一个处理器进行事件处理的事件处理机制的处理器操作的一个实施例。图5展示了使用并行事件处理机制实现的TCP/IP网络堆栈。在这个实施例中,应用处理器510接收周期功能调用以使能周期轮询功能,同时引导处理器505从事正常处理。还示出了共享存储器515,可用于在引导处理器505和应用处理器510之间传送数据,尽管可以利用其它传送数据的方法。轮询循环520周期地轮询网络接口。在这个特定的示例中,轮询循环520提供用于网络协议层525和网络接口层530之间的通信。一旦确定了存在数据要从网络堆栈传送,那么在网络接口层530和网络协议层525之间存在反向的通信。数据分组535可能从应用处理器510传送到引导处理器505以进行处理,其可能从事动作,比如写入盘540、执行命令545、后处理操作555,比如关于FTP(文件传送协议)服务器的操作、以及其它操作550。在本发明的一个实施例下,与仅依赖于引导处理器执行轮询循环520的事件处理机制相比,置于引导处理器505之上的工作量可能被大大减少。通过并行事件处理机制,存在更多的机会来由引导处理器505进行不相关的工作560,因此提高了性能并且减少了数据丢失的可能性。
图6示出了在计算机***中的并行事件处理的实施例的流程图。图6示出了用于引导处理器和应用处理器的一定的过程。图6包含了简化的过程用于示出并行事件处理的实施例,并且其不打算来例示出处理器的所有操作。在这个示例中,引导处理器605提供用于正常处理610。如果与周期轮询相关的特定事件需要处理615比如来自网络堆栈的数据分组,该事件数据被处理620。如果不存在特定事件,正常处理610将继续进行。
对于应用处理器630,可以装载一个轮询功能635,该轮询功能被提供用于周期轮询。对于一定的时间间隔640设置定时器中断。时间间隔的长度取决于所关心的应用的需要。(在一个特定的实施例中,定时器间隔可能是等长的,比如每n微秒重复一次,但本发明的实施例并非限制为相等的时间间隔。)在一定的时延之后645,判定该定时器是否已经期满650,其表示该定时器已经运行达指定的间隔并且定时器中断发生。如果不是,则时延继续。如果是,便执行轮询功能操作655。如果不需要动作660,则对于下一个时间间隔的时延运行645。如果存在肯定的结果表示需要动作660,比如数据分组需要处理,那么存在到引导处理器665的通信,因此允许特定事件的处理620。
本发明的实施例可以在各种计算机环境中实现。图7为一个典型计算机环境的实施例的框图。在本发明的一个实施例下,计算机700包含了总线705或其它的通信装置用于传递信息、以及处理装置,比如一个或多个物理处理器710(被表示为711、712以及继续到713),其与总线705相耦合用于处理信息。每个物理处理器可以包括多个逻辑处理器。物理或逻辑处理器可以并行操作,比如在特定事件处理中被与正常的线程执行并行实行。每个处理器可以包括一个执行单元以及用于一定功能的操作的逻辑。
计算机700还包括随机存取存储器(RAM)或其它的动态存储设备作为主存储器715,用于存储信息和由处理器710执行的指令。主存储器715还可以用于在由处理器710执行指令期间存储临时变量或其它中间信息。计算机700还可以包括只读存储器(ROM)720和/或其它静态存储设备,用于为处理器710存储静态信息和指令。
数据存储设备725还可以被耦合到计算机700的总线705用于存储信息和指令。数据存储设备725可以包括磁盘或光盘以及其相应的驱动、闪存或其它非易失性存储器、或其它存储设备。这样的元件可以被结合到一起或者可以是单独的部件,并且利用了计算机700的其它元件的多个部分。
计算机700还可以通过总线705被耦合到显示设备730,比如液晶显示器(LCD)或其它显示技术,用于为终端用户显示信息。在某些环境下,显示设备可以是一个触摸屏,其也被用作输入设备的至少一部分。在某些环境下,显示设备730可以是或者可以包括听觉设备,比如扬声器用于提供听觉信息。输入设备740可以被耦合到总线705用于将信息和/或命令选择传递给处理器710。在各种实现中,输入设备740可以是键盘、小键盘、触摸屏和触针、话音激活的(voice-activated)***、或者其它的输入设备、或者这些设备的组合。可以包括的另一种类型的用户输入设备为光标控制设备745,比如鼠标、跟踪球、或用于传递指向信息和命令选择给处理器710并且用于控制光标在显示设备730上的移动的光标指向键。
通信设备750还可以被耦合到总线705。根据特定实现,通信设备750可以包括收发信机、无线调制解调器、网络接口卡或其它的接口设备。计算机700可以使用通信设备750被连接到网络或其它的设备上,该通信设备可以包括到因特网、局域网或另一个环境的链接。
在上面提供的描述中,为了解释的目的,阐述了许多的特定细节,用于提供对本发明的全面理解。然而,对于本领域的技术人员来说,显然本发明可以不用这些特定细节中的某些而被实施。在其它的例子中,已知的结构和设备以简化方框图形式被示出。
本发明可以包括各种过程。本发明的过程可以由硬件部件来执行或者可以被包含在机器可执行指令中,其可被使用来使得用该指令编程的通用或专用处理器或逻辑电路执行这些过程。可选地,这些过程可以由硬件和软件的结合来执行。
本发明的多个部分可以作为计算机程序产品来提供,其可以包括其上存储有指令的机器可读媒质,该指令可以用于编程计算机(或其它电子设备)来根据本发明执行一个过程。机器可读媒质可以包括,但不局限于软盘、光盘、CD-ROM(致密盘只读存储器)、以及磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪存、或适于存储电子指令的其它类型的媒体/机器可读媒质。而且,本发明还可以作为计算机程序产品被下载,其中程序通过被包含在载波中的数据信号的方式或其他传播媒质通过通信链接(例如调制解调器或网络连接)从远端计算机传送到请求计算机。
这里描述的许多方法是以它们最基本的形式,但可以向其中任何一个方法增加或从中删除过程,且可以向其中任何一个所描述的消息增加或从中减去信息,而不背离本发明的基本范围。对于本领域的技术人员来说,显然可以做出许多其它的修改和修正。所提供的特定实施例不是用于限制本发明而是举例说明它。本发明的范围不由上面所提供的特定例子来确定,而是仅由下面的权利要求来确定。
应当理解,在整个说明书中对“一个实施例”的引用意味着一个特定特征可以被包括到本发明的实施中。类似地,应当理解,在本发明的典型实施例的上述描述中,本发明的各种特征有时被组合到一单个实施例、特征或其描述中,用于简化本公开内容和帮助理解各创造性方面中一个或多个。然而,本公开内容的方法不应被解释为反映这样的意愿,即:所要求的发明需要比每个权利要求中所特别表述的特征更多的特征。而是,如下面的权利要求反映的,创造性方面在于少于单个上述公开实施例的所有特征。这样,权利要求由此被特别地结合到该说明书中,使每个权利要求本身代表本发明的一个单独的实施例。
Claims (21)
1.一种计算机事件处理方法,包括:
初始化一个计算机***,该计算机***包括第一处理器和第二处理器;
指定该第一处理器以处理对于该计算机***的定时器中断处理的轮询功能,由第二处理器处理一个正常执行线程;
为定时器中断处理的多个时间间隔设置定时器;
在所述多个时间间隔的每一个的结束处调用轮询功能,该轮询功能由第一处理器来执行,该轮询功能确定是否发生将被处理的任何事件;并且
如果该轮询功能表明发生了将被处理的事件,则用该第二处理器处理该事件。
2.权利要求1的方法,其中该轮询功能包括通过轮询计算机***的网络接口卡(NIC)对网络堆栈进行事件处理。
3.权利要求1的方法,其中第一处理器为计算机***的应用处理器。
4.权利要求3的方法,还包括声明第一处理器专用于该轮询功能。
5.权利要求1的方法,其中第二处理器为计算机***的引导处理器。
6.权利要求1的方法,其中第一处理器以和第二处理器处理正常执行线程在时间上相重叠的方式执行轮询功能。
7.权利要求1的方法,其中定时器中断处理是用于在计算机***中可用的第一处理器和第二处理器的异步事件处理的唯一方法。
8.一种用于计算机***的事件处理***,包括:
第一处理器,该第一处理器指定为处理定时器中断处理,该第一处理器在每次中断定时器达到一个特定的时间间隔时为事件处理执行一个轮询操作;以及
第二处理器,该第二处理器用来执行正常的处理操作,如果该第一处理器的轮询操作确定有需要被处理的事件,那么该第一处理器传送数据给第二处理器以便处理。
9.权利要求8的事件处理***,其中第一处理器执行轮询操作与第二处理器执行正常处理操作在时间上重叠。
10.权利要求8的事件处理***,其中第一处理器专用于事件处理。
11.权利要求8的事件处理***,其中用于计算机***的轮询操作的事件包括网络堆栈事件,且其中第一处理器轮询该计算机***的网络接口卡(NIC)。
12.权利要求8的事件处理***,其中第一处理器和第二处理器为该计算机***的单独的物理处理器。
13.权利要求8的事件处理***,其中第一处理器和第二处理器为该计算机***的一单个物理处理器中的逻辑处理器。
14.一种计算机***,包括:
第一处理器,该第一处理器被指定用来为计算机***执行事件处理功能;
第二处理器,该第二处理器用来为计算机***执行处理功能;
定时器,该定时器为第一处理器的事件处理功能的一个时间间隔来进行设置,用于在轮询事件的时间间隔的结束处调用第一处理器的功能调用;以及
共享存储器,第一处理器将与第一处理器处理的事件相关的数据写入到该共享存储器,以便将数据传送到第二处理器来进行处理。
15.权利要求14的计算机***,其中第二处理器为引导处理器。
16.权利要求14的计算机***,其中第一处理器为应用处理器。
17.权利要求14的计算机***,其中第一处理器执行事件处理功能与第二处理器执行处理功能在时间上重叠。
18.权利要求14的计算机***,其中定时器提供用于该计算机***的仅有的事件处理机制。
19.权利要求14的计算机***,其中计算机***包括单线程的处理环境。
20.权利要求14的计算机***,其中计算机***为多处理器***,且其中第一处理器是第一物理处理器及第二处理器是第二物理处理器。
21.权利要求14的计算机***,其中计算机***为超线程***,且其中第一处理器是一物理处理器的第一逻辑处理器及第二处理器是该物理处理器的第二逻辑处理器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2004/000289 WO2005099334A2 (en) | 2004-03-31 | 2004-03-31 | Event handling mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1926510A CN1926510A (zh) | 2007-03-07 |
CN100430887C true CN100430887C (zh) | 2008-11-05 |
Family
ID=35150390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800426738A Expired - Fee Related CN100430887C (zh) | 2004-03-31 | 2004-03-31 | 事件处理方法和*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US7451454B2 (zh) |
CN (1) | CN100430887C (zh) |
WO (1) | WO2005099334A2 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475001B2 (en) * | 2004-11-08 | 2009-01-06 | Nvidia Corporation | Software package definition for PPU enabled system |
US7565279B2 (en) * | 2005-03-07 | 2009-07-21 | Nvidia Corporation | Callbacks in asynchronous or parallel execution of a physics simulation |
US8886787B2 (en) * | 2009-02-26 | 2014-11-11 | Microsoft Corporation | Notification for a set of sessions using a single call issued from a connection pool |
CN101937364B (zh) * | 2009-06-30 | 2013-02-27 | 华为技术有限公司 | 一种中断合成方法及装置 |
US8606377B2 (en) | 2009-07-23 | 2013-12-10 | Biosense Webster, Inc. | Preventing disruptive computer events during medical procedures |
DE102009047024A1 (de) * | 2009-11-23 | 2011-05-26 | Beckhoff Automation Gmbh | Parallelisierte Programmsteuerung |
US8631284B2 (en) | 2010-04-30 | 2014-01-14 | Western Digital Technologies, Inc. | Method for providing asynchronous event notification in systems |
US8762682B1 (en) | 2010-07-02 | 2014-06-24 | Western Digital Technologies, Inc. | Data storage apparatus providing host full duplex operations using half duplex storage devices |
US8122167B1 (en) * | 2010-08-06 | 2012-02-21 | International Business Machines Corporation | Polling in a virtualized information handling system |
KR101717494B1 (ko) * | 2010-10-08 | 2017-03-28 | 삼성전자주식회사 | 인터럽트 처리 장치 및 방법 |
CN102455940B (zh) * | 2010-10-29 | 2014-02-12 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及*** |
US8626928B2 (en) * | 2010-11-22 | 2014-01-07 | International Business Machines Corporation | Disassociating and freeing managed connections based on usage patterns |
CN102457578B (zh) * | 2011-12-16 | 2015-10-07 | 中标软件有限公司 | 一种基于事件机制的分布式网络监控方法 |
CN103823657A (zh) * | 2014-02-17 | 2014-05-28 | 汉柏科技有限公司 | 一种超线程设备板间通信的方法 |
CN103823707A (zh) * | 2014-02-17 | 2014-05-28 | 汉柏科技有限公司 | 一种超线程设备处理业务的再平衡方法 |
CN104503757A (zh) * | 2014-12-24 | 2015-04-08 | 四川效率源信息安全技术有限责任公司 | 提升软件实时响应性能的延时处理方法 |
CN105653286B (zh) * | 2015-12-31 | 2019-01-18 | 南京理工大学 | Windows平台下毫秒级异步定时器的实现方法 |
CN106708697B (zh) * | 2016-09-29 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 检测用户使用应用程序的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990003003A1 (en) * | 1988-09-02 | 1990-03-22 | Fanuc Ltd | Interruption control method |
US5319785A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Polling of I/O device status comparison performed in the polled I/O device |
CN1229945A (zh) * | 1997-12-25 | 1999-09-29 | 日本电气株式会社 | 能够不中断在线处理更新操作文件的方法 |
US6108785A (en) * | 1997-03-31 | 2000-08-22 | Intel Corporation | Method and apparatus for preventing unauthorized usage of a computer system |
CN1349627A (zh) * | 2000-03-08 | 2002-05-15 | 三菱电机株式会社 | 处理器的省电控制方法、记录媒体、以及处理器的省电控制装置 |
CN1434940A (zh) * | 1999-12-10 | 2003-08-06 | 霍尼韦尔国际公司 | 用于航空电子设备和控制***软件应用的两层操作***和方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3040433B2 (ja) * | 1990-06-11 | 2000-05-15 | キヤノン株式会社 | 補正データ作成方法 |
US5724527A (en) * | 1995-12-28 | 1998-03-03 | Intel Corporation | Fault-tolerant boot strap mechanism for a multiprocessor system |
US5854905A (en) | 1996-09-03 | 1998-12-29 | Intel Corporation | Extensible bios for boot support of devices on multiple hierarchical buses |
US6065073A (en) * | 1998-08-17 | 2000-05-16 | Jato Technologies, Inc. | Auto-polling unit for interrupt generation in a network interface device |
US6684281B1 (en) * | 2000-11-02 | 2004-01-27 | Fujitsu Limited | Fast delivery of interrupt message over network |
US6988140B2 (en) * | 2001-02-23 | 2006-01-17 | Sun Microsystems, Inc. | Mechanism for servicing connections by disassociating processing resources from idle connections and monitoring the idle connections for activity |
US7055024B2 (en) | 2001-09-20 | 2006-05-30 | Intel Corporation | Computer system component initialization using a BIOS formal hardware language to represent the initialization requirements |
KR100456630B1 (ko) * | 2001-12-11 | 2004-11-10 | 한국전자통신연구원 | 프로세서간 통신을 위한 인터럽트 중계 장치 및 방법 |
US7392371B2 (en) | 2001-12-20 | 2008-06-24 | Zimmer Vincent J | Method and apparatus for using a volume top file to boot firmware modules |
US7296069B2 (en) * | 2002-05-08 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Method and system for network fault monitoring with linux |
US7003610B2 (en) * | 2002-09-20 | 2006-02-21 | Lsi Logic Corporation | System and method for handling shared resource writes arriving via non-maskable interrupts (NMI) in single thread non-mission critical systems with limited memory space |
US6971103B2 (en) * | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US7310724B2 (en) | 2003-06-30 | 2007-12-18 | Intel Corporation | Parallel execution of enhanced EFI based BIOS drivers on a multi-processor or hyper-threading enabled platform |
US20050086667A1 (en) | 2003-09-30 | 2005-04-21 | Feng Jin | Symmetric Scheduling for parallel execution |
-
2004
- 2004-03-31 WO PCT/CN2004/000289 patent/WO2005099334A2/en active Application Filing
- 2004-03-31 CN CNB2004800426738A patent/CN100430887C/zh not_active Expired - Fee Related
- 2004-03-31 US US10/562,945 patent/US7451454B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1990003003A1 (en) * | 1988-09-02 | 1990-03-22 | Fanuc Ltd | Interruption control method |
US5319785A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Polling of I/O device status comparison performed in the polled I/O device |
US6108785A (en) * | 1997-03-31 | 2000-08-22 | Intel Corporation | Method and apparatus for preventing unauthorized usage of a computer system |
CN1229945A (zh) * | 1997-12-25 | 1999-09-29 | 日本电气株式会社 | 能够不中断在线处理更新操作文件的方法 |
CN1434940A (zh) * | 1999-12-10 | 2003-08-06 | 霍尼韦尔国际公司 | 用于航空电子设备和控制***软件应用的两层操作***和方法 |
CN1349627A (zh) * | 2000-03-08 | 2002-05-15 | 三菱电机株式会社 | 处理器的省电控制方法、记录媒体、以及处理器的省电控制装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1926510A (zh) | 2007-03-07 |
WO2005099334A3 (en) | 2008-01-31 |
WO2005099334A2 (en) | 2005-10-27 |
US7451454B2 (en) | 2008-11-11 |
US20060155552A1 (en) | 2006-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100430887C (zh) | 事件处理方法和*** | |
CN106161537B (zh) | 远程过程调用的处理方法、装置、***及电子设备 | |
CN102591726B (zh) | 一种多进程通信方法 | |
US6957432B2 (en) | Real-time scheduler | |
JP2005513644A (ja) | オペレーティングシステム機能を実行する方法及びシステム並びに電子装置 | |
US20050102650A1 (en) | Multi-tasking real-time operating system for microprocessors with limited memory | |
EP1756956A2 (en) | Mobile communication device graceful shutdown system and method | |
CN101366012A (zh) | 用于多处理器***中的中断分配的方法和*** | |
US5715474A (en) | Simultaneous control of radio frequency modem in a multi-tasking system using a single session manager program with separate command queue for each application program | |
US7565659B2 (en) | Light weight context switching | |
CN101091169B (zh) | 通过监视外部接口生成中断的方法、装置和*** | |
CN102446144A (zh) | 一种串口资源调度方法及装置、*** | |
US7472194B2 (en) | Data channel resource optimization for devices in a network | |
US20050172287A1 (en) | Bus management techniques | |
CN111158875B (zh) | 基于多模块的多任务处理方法、装置及*** | |
CN102117261A (zh) | 一种芯片内部处理器之间的通信方法 | |
US7434223B2 (en) | System and method for allowing a current context to change an event sensitivity of a future context | |
RU2320081C2 (ru) | Система и способ совмещения передачи прямых и обратных пакетов данных по открытому информационному каналу беспроводного устройства | |
KR100420268B1 (ko) | 스택을 이용한 커널 스케줄링 방법 | |
CN117193979B (zh) | 基于独立中断栈的任务处理方法、装置、终端设备及介质 | |
CN112631671B (zh) | 一种操作***初始化的方法和装置 | |
US6934770B1 (en) | Method for aborting data transfer commands | |
US8046567B2 (en) | Multi-threaded processor architecture | |
JP2951175B2 (ja) | 統合課金装置 | |
JP2523167B2 (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 |
Granted publication date: 20081105 Termination date: 20210331 |
|
CF01 | Termination of patent right due to non-payment of annual fee |