CN1540509A - 计算环境中多任务处理的方法与系统 - Google Patents

计算环境中多任务处理的方法与系统 Download PDF

Info

Publication number
CN1540509A
CN1540509A CNA2004100302629A CN200410030262A CN1540509A CN 1540509 A CN1540509 A CN 1540509A CN A2004100302629 A CNA2004100302629 A CN A2004100302629A CN 200410030262 A CN200410030262 A CN 200410030262A CN 1540509 A CN1540509 A CN 1540509A
Authority
CN
China
Prior art keywords
event indicator
multitasking
computing environment
hardware interrupts
executive routine
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
CNA2004100302629A
Other languages
English (en)
Other versions
CN1311349C (zh
Inventor
��¡�A���׶���
弗雷德·A·鲍尔
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.)
Meta Platforms Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1540509A publication Critical patent/CN1540509A/zh
Application granted granted Critical
Publication of CN1311349C publication Critical patent/CN1311349C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

公开了无硬件中断环境下的多任务处理。利用事件指示符在环境的进程之间进行多任务处理。将要多任务处理的进程彼此相互注册,在处理期间,一个进程切换事件指示符以允许另一进程执行。该切换允许这些进程在无中断环境下共享资源。

Description

计算环境中多任务处理的方法与系统
技术领域
本发明一般地涉及在计算环境下的多任务处理(multitasking),尤其涉及在无硬件中断计算环境下的多任务处理。
背景技术
有时候,需要在支持有限功能的计算环境内工作。这会减少复杂性并有助于调试。然而,为了提供有限的功能,需要禁止或不提供某些特性。一种这样的特性是系统或硬件中断。禁止系统中断会减少环境的复杂性,然而是有代价的。该代价是不能提供某些功能,比如多任务处理。
多任务处理允许单个进程与一个或多个其它单个进程共享资源,而不需要该进程在允许另一进程执行之前完全退出。替代地,多任务处理进程保持常驻于存储器中。
然而在禁止系统中断时,不进行多任务处理。替代地,在将要共享资源的另一进程开始执行之前,一进程运行一段时间,将其状态保存在永久存储器中,然后才完全退出。这会增加复杂性并降低系统性能。因此,需要有一种在无硬件中断的情况下支持多任务处理的能力。
发明内容
通过提供一种在计算环境下进行多任务处理的方法,克服了现有技术的缺陷,并提供了附加的优点。该方法包括例如在无硬件中断计算环境下执行第一进程;以及多任务处理第一进程和无硬件中断计算环境的第二进程,其中该多任务处理包括利用一个或多个事件指示符。
在一个实例中,指示符的利用包括切换一个或多个事件指示符中的至少一个事件指示符,以指示将执行第一进程和第二进程中的哪个进程。
在另一实施例中,提供一种在单处理器环境下进行多任务处理的方法。该方法包括例如在无硬件中断单处理器环境下执行第一进程;以及多任务处理第一进程和无硬件中断单处理器环境的第二进程。
这里也描述了对应于上述方法的系统与计算机程序产品,并且对它们提出权利要求。
通过本发明的技术,实现了附加特征和优点。这里详细描述本发明的其它实施例和方面,并且将其考虑为本发明的一部分。
附图说明
在说明书所附的权利要求中特别指出关于本发明的主题,并对其提出权利要求。从结合附图的如下详细描述中,本发明的上述和其它目的、特征以及优点将会很明显,其中:
图1a描述用以合并和使用本发明一个或多个方面的计算环境的一个实施例;
图1b描述按照本发明一方面,在图1a的计算环境的存储器中常驻的诊断执行程序(executive)的实例;
图2描述与初始化技术有关联的逻辑的实例,该初始化技术与本发明一方面的多任务处理功能有关;以及
图3描述与本发明一方面的多任务处理功能有关联的逻辑的实例。
具体实施方式
概述
按照本发明一方面,提供一种允许进程在无硬件中断计算环境下协作进行多任务处理的多任务处理功能。例如,这些进程利用事件指示符进行多任务处理。这些事件指示符的切换(toggling)指示某进程将要休眠,而另一进程将要执行。
详细描述
参照图1a,描述一个用以合并和使用本发明一个或多个方面的计算环境的实施例。计算环境100包括例如中央处理单元102,存储器104(比如主存储器),以及比如经由一个或多个总线108彼此连接的一个或多个输入/输出(I/O)设备106。
作为一个实例,计算环境100包括一由加州圣荷西的英特尔公司提供、实现可扩展固件接口(EFI)的Itanium处理器。EFI是一支持实用程序,比如诊断程序或操作系统加载程序的固件工作环境。EFI是针对特定规范而构建的,在URLhttp://developer.intel.com/technology/EFI中有一规范实例,因此这里完整地参考引用了其中的内容。EFI通过建立某些规则,允许机器无需大量的配置或功能即可工作。作为实例,将进程限制到特定优先级。换而言之,根据该规范,如果给定的进程在低或中等优先级下工作,可暂时增加其工作优先级,但不允许降低其工作优先级。而且,不允许较高优先级的进程启动较低优先级的进程。
尽管EFI已建立这些规则以降低复杂性,但即使在EFI环境中,仍然有实现更强功能的需要。因此,已采取措施克服EFI的某些局限。例如,现在提供一种功能,其中较高优先级的任务能够启动较低优先级的任务。这在于2001年7月2日申请、名为“启动低优先级任务的方法”(IBM档案第BEA920010009US1号)的美国专利申请09/898,978中有所描述,因此这里通过参考将其整体并入。
作为另一实例,在EFI环境中,禁止系统或硬件中断,以便减少环境中的复杂性。然而,禁止中断会影响提供某些可能有益的功能。这比如包括多任务处理,其中单独和不同的进程共享计算环境的资源(比如硬件资源,如CPU、存储器等)以执行。因此,按照本发明一方面,提供一种允许在无硬件中断环境下进行多任务处理的功能。
参照图2,描述与在无硬件中断环境下使能多任务处理的初始化过程相关联的逻辑的实施例。首先,在步骤200初始化一执行程序进程。该执行程序进程通常是以高于其它进程的优先级运行的进程,但不是必须的。例如,它可以是一负责启动、监控和解释诊断测试结果的诊断执行程序110(图1b)。该诊断执行程序常驻于存储器中,并且在一特权级别下运行,该级别允许它对诊断测试具有至少某种控制。该初始化包括例如为一事件指示符(比如标志)初始化预定义尺寸(一位或多位)的存储器位置。
除初始化该执行程序进程之外,在步骤202创建一轮询事件(比如在EFI中为EVT_Notify_signal事件)(图2)。例如,该轮询事件指示当进程因事件而休眠时,会复位(比如清除)一对应事件指示符,并且允许一个或多个进程执行。众所周知,该轮询事件是一支持等待标志切换的软件结构。在一些环境下,比如EFI,提供一个或多个应用编程接口(API)以创建该轮询事件。
而且,在步骤S204初始化一个或多个其它进程。在诊断实例中,这些进程可以是测试。然而,这些进程不必是诊断测试;可初始化其它类型的进程。类似于执行程序,这些进程中的每个都创建一事件指示符,并且将其置于选定存储器位置。类似地,在步骤206,每个进程创建它自己的相似于执行程序的事件的事件。
然后在步骤208,这些进程注册到执行程序上。这包括例如注册握手,其中交换这些进程的事件指示符的存储器位置。例如,一进程向执行程序提供有关它的指示符的位置的指示。因此,在该例中,执行程序和其它进程相互协作的方面在于,其至少隐式地共同工作以允许多任务处理。该注册过程完成初始化技术,并允许开始多任务处理。
参照图3,描述与无硬件终端环境中多任务处理相关的逻辑的实施例。首先,在步骤300,执行程序将对应于一协作进程事件的标志设置为表示该协作进程可以运行。在步骤302,执行程序的标志处于清除状态,并且执行程序休眠以等待它的事件。在步骤304,调度进程,比如EFI调度进程确定已触发协作进程的事件,并且其唤醒协作进程以便执行。在一个实例中,EFI调度程序将该进程置于执行就绪队列中。
在步骤306,该进程执行,并且在步骤308,该进程在期望时刻(比如在执行结束时或其它选定时刻)触发执行程序的事件。例如,该进程设置执行程序标志。而且,该进程在步骤309休眠以等待它的事件标志,并且将它的事件标志复位。
然后在步骤310,调度进程确定已触发执行程序进程的事件,并且唤醒执行程序进程以便执行。在步骤312,执行程序进程执行一段时间(比如直到完成特定任务为止,或其它选定时刻),并且在步骤300继续处理。
前面详细描述了允许在无硬件中断环境中对进程执行多任务处理的多任务处理功能。在一个实例中,该环境是单处理器环境。可以支持任意数量的进程。
优点
有利地,在无硬件中断环境下允许进行多任务处理。多任务处理允许进程共享资源(比如硬件资源,如CPU、存储器等)而无需终止执行。替代地,每个进程在存储器中保持活跃,以便保持进程的状态。这些进程简单地进入休眠以允许一个或多个其它进程执行,并且接着被轮流唤醒。资源共享是透明的,其中用户并不知道多个进程正在相同的物理硬件中工作。
该多任务处理功能有利地允许多个进程同时运行,其中通过一组由标志控制的事件,在进程之间来回传递活跃执行权(activeexecution)。
该多任务处理能力有利于许多功能,包括诊断测试。有利地,诊断执行程序执行一段时间,然后允许一个或多个其它测试进程运行。按照本发明一方面,该诊断执行程序是具有一个优先级(比如中等或高优先级)的中等优先级调度程序,当触发低优先级进程的事件时,其允许产生该低优先级进程。低优先级的进程执行一段时间,然后允许执行程序再次运行。
因此,按照本发明的一个或多个方面,在不允许和/或不使用硬件中断的环境中提供多任务处理。另外,程序员能够在EFI和类似环境所不允许的方向上跨越特权域。
可选实施例
虽然以上描述了计算环境的实例,但其仅仅是例子。具有不同部件的计算环境可合并和/或使用本发明的一个或多个方面。例如,处理器可以是Itanium处理器之外的其它处理器,和/或英特尔处理器之外的其它处理器。而且,该计算环境不必包括EFI环境。其它变形也是可能的,并将其考虑为本发明的一部分。而且,在不背离本发明的精神的前提下,其它计算和/或工作环境可以合并和使用本发明的一个或多个方面。
而且,在另一实施例中,执行程序进程可以是诊断执行程序以外的进程。在另一实施例中,不必有执行程序进程,而是只需有将要多任务处理的进程。而且,这些进程不必是诊断测试。而且,虽然在该例中每次仅有一个进程活跃运行,但是在其它实例中,多个进程可活跃运行。
本发明可包括在一件产品(比如一个或多个计算机程序产品)中,该产品比如具有计算机可用介质。该介质中比如体现了计算机可读程序代码装置,用于提供并有助于本发明的功能。该产品可包含为计算机系统的一部分,或者单独出售。
另外,可提供机器可读的至少一种程序存储设备,其体现了可被机器执行以完成本发明的功能的至少一个指令程序。
这里描述的流程图仅为实例。在不背离本发明的精神的情况下,可以对描述的这些框图或步骤(或操作)进行许多变形。例如,这些步骤可以按不同的顺序执行,或者增加、删除或修改这些步骤。所有这些变形均考虑为本发明的一部分。
虽然这里详细描述和说明了优选实施例,但是对于本领域技术人员显而易见的是,在不背离本发明的精神的情况下,可作出各种改型、附加、替换等,并且都落在由所附权利要求定义的发明范围中。

Claims (24)

1.一种在计算环境中进行多任务处理的方法,该方法包括:
在无硬件中断计算环境中执行第一进程;和
多任务处理第一进程与无硬件中断计算环境中的第二进程,其中该多任务处理包括利用一个或多个事件指示符。
2.如权利要求1所述的方法,其中指示符的利用包括切换一个或多个事件指示符中的至少一个事件指示符,以指示将要执行第一进程和第二进程中的哪个进程。
3.如权利要求1所述的方法,还包括:
创建一个或多个事件指示符中针对第一进程的第一事件指示符;
创建一个或多个事件指示符中针对第二进程的第二事件指示符;以及
在第一事件指示符和第二事件指示符之间切换,以多任务处理第一进程和第二进程。
4.如权利要求3所述的方法,其中第一事件指示符的设置允许第一进程执行。
5.如权利要求3所述的方法,其中第二事件指示符的设置允许第二进程执行。
6.如权利要求1所述的方法,还包括注册第二进程到第一进程。
7.如权利要求6所述的方法,其中该注册包括:
向第一进程提供有关第二进程的事件指示符的位置的指示;以及
向第二进程提供有关第一进程的事件指示符的位置的指示。
8.如权利要求1所述的方法,其中第一进程和第二进程中的至少一个是执行程序进程。
9.如权利要求8所述的方法,其中第一进程和第二进程中的另一个是产生的进程,其产生是由该执行程序进程响应于一个或多个事件指示符中的一个事件指示符而促成的,其中该执行程序进程具有比该产生的进程更高的优先级。
10.如权利要求1所述的方法,其中第一进程和第二进程是协作进程。
11.一种在计算环境中进行多任务处理的系统,所述系统包括:
在无硬件中断计算环境中的第一进程;和
用于多任务处理第一进程与无硬件中断计算环境中的第二进程的装置,其中该用于多任务处理的装置包括一个或多个事件指示符。
12.如权利要求11所述的系统,其中用于多任务处理的装置包括用于切换一个或多个事件指示符中的至少一个事件指示符,以指示将要执行第一进程和第二进程中的哪个进程的装置。
13.如权利要求11所述的系统,还包括:
用于创建一个或多个事件指示符中针对第一进程的第一事件指示符的装置;
用于创建一个或多个事件指示符中针对第二进程的第二事件指示符的装置;以及
用于在第一事件指示符和第二事件指示符之间切换,以多任务处理第一进程和第二进程的装置。
14.如权利要求13所述的系统,其中第一事件指示符的设置允许第一进程执行。
15.如权利要求13所述的系统,其中第二事件指示符的设置允许第二进程执行。
16.如权利要求11所述的系统,还包括用于注册第二进程到第一进程的装置。
17.如权利要求16所述的系统,其中用于注册的装置包括:
用于向第一进程提供有关第二进程的事件指示符的位置的指示的装置;以及
用于向第二进程提供有关第一进程的事件指示符的位置的指示的装置。
18.如权利要求11所述的系统,其中第一进程和第二进程中的至少一个是执行程序进程。
19.如权利要求18所述的系统,其中第一进程和第二进程中的另一个是产生的进程,其产生是由该执行程序进程响应于一个或多个事件指示符中的一个事件指示符而促成的,其中该执行程序进程具有比该产生的进程更高的优先级。
20.一种在计算环境中进行多任务处理的系统,所述系统包括:
在无硬件中断计算环境中的第一进程;和
计算单元,用于多任务处理第一进程与无硬件中断计算环境中的第二进程,其中该多任务处理包括利用一个或多个事件指示符。
21.至少一个机器可读的程序存储装置,其体现了可被该机器运行以在计算环境中执行一种多任务处理方法的指令程序,所述方法包括:
在无硬件中断计算环境中执行第一进程;以及
多任务处理第一进程与无硬件中断计算环境中的第二进程,其中该多任务处理包括利用一个或多个事件指示符。
22.如权利要求21所述的至少一个程序存储装置,其中指示符的利用包括切换一个或多个事件指示符中的至少一个事件指示符,以指示将要执行第一进程和第二进程中的哪个进程。
23.如权利要求21所述的至少一个程序存储装置,其中所述方法还包括注册第二进程到第一进程。
24.一种在单处理器环境中进行多任务处理的方法,该方法包括:
在无硬件中断单处理器环境中执行第一进程;和
多任务处理第一进程与无硬件中断单处理器环境中的第二进程,其中该多任务处理包括利用一个或多个事件指示符。
CNB2004100302629A 2003-04-22 2004-03-23 计算环境中多任务处理的方法与系统 Expired - Lifetime CN1311349C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/421,978 US7340740B2 (en) 2003-04-22 2003-04-22 Cooperatively multitasking in an interrupt free computing environment
US10/421,978 2003-04-22

Publications (2)

Publication Number Publication Date
CN1540509A true CN1540509A (zh) 2004-10-27
CN1311349C CN1311349C (zh) 2007-04-18

Family

ID=33298765

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100302629A Expired - Lifetime CN1311349C (zh) 2003-04-22 2004-03-23 计算环境中多任务处理的方法与系统

Country Status (2)

Country Link
US (2) US7340740B2 (zh)
CN (1) CN1311349C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101366007B (zh) * 2006-02-09 2011-04-06 索尼爱立信移动通讯股份有限公司 用于控制中断例程的执行的方法、计算机程序产品和计算机系统
CN102754058A (zh) * 2009-07-20 2012-10-24 惠普发展公司,有限责任合伙企业 电子设备中的活动的选择性休眠
CN106775988A (zh) * 2016-12-30 2017-05-31 广东欧珀移动通信有限公司 一种数据处理方法及设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440153C (zh) * 2004-09-17 2008-12-03 松下电器产业株式会社 处理器
TWI286704B (en) * 2005-08-08 2007-09-11 Via Tech Inc Computer system and boot method thereof
US8677101B2 (en) * 2007-06-07 2014-03-18 International Business Machines Corporation Method and apparatus for cooperative software multitasking in a processor system with a partitioned register file
FR2918193A1 (fr) * 2007-06-28 2009-01-02 Airbus France Sas Carte electrique apte a executer une commande provenant d'un systeme de simulation et une commande provenant d'un module de diagnostic et procede de simulation associe
FR2918232B1 (fr) * 2007-06-28 2010-11-26 Airbus France Procedes et dispositifs pour la communication de donnees de diagnostic dans un reseau de communication temps reel
US20110154133A1 (en) * 2009-12-22 2011-06-23 International Business Machines Corporation Techniques for enhancing firmware-assisted system dump in a virtualized computer system employing active memory sharing
US8230260B2 (en) * 2010-05-11 2012-07-24 Hewlett-Packard Development Company, L.P. Method and system for performing parallel computer tasks
CN107402807A (zh) * 2017-07-18 2017-11-28 浪潮金融信息技术有限公司 在计算机系统中有效提升多任务执行效率的方法、系统和处理器

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555368A (en) * 1896-02-25 Gardner and lewis
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US5218712A (en) * 1987-07-01 1993-06-08 Digital Equipment Corporation Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US4985831A (en) * 1988-10-31 1991-01-15 Evans & Sutherland Computer Corp. Multiprocessor task scheduling system
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
US5367680A (en) * 1990-02-13 1994-11-22 International Business Machines Corporation Rendering context manager for display adapters supporting multiple domains
US5257372A (en) * 1990-12-19 1993-10-26 Cray Research, Inc. Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
JP2520544B2 (ja) * 1991-09-26 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置
FR2684467B1 (fr) 1991-11-29 1994-03-04 Sextant Avionique Procede pour le test et, eventuellement, la validation des primitives d'un executif temps reel.
US5555368A (en) 1993-12-30 1996-09-10 Taligent Object-oriented multi-tasking view framework
US5566349A (en) 1994-05-16 1996-10-15 Trout; Ray C. Complementary concurrent cooperative multi-processing multi-tasking processing system using shared memories with a minimum of four complementary processors
US5781187A (en) * 1994-05-31 1998-07-14 Advanced Micro Devices, Inc. Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US5564060A (en) * 1994-05-31 1996-10-08 Advanced Micro Devices Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
US5555430A (en) * 1994-05-31 1996-09-10 Advanced Micro Devices Interrupt control architecture for symmetrical multiprocessing system
US5613126A (en) * 1994-05-31 1997-03-18 Advanced Micro Devices, Inc. Timer tick auto-chaining technique within a symmetrical multiprocessing system
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system
US5560018A (en) 1994-12-16 1996-09-24 International Business Machines Corporation Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US5721931A (en) * 1995-03-21 1998-02-24 Advanced Micro Devices Multiprocessing system employing an adaptive interrupt mapping mechanism and method
WO1996035167A1 (en) 1995-05-05 1996-11-07 Apple Computer, Inc. System and method for providing cooperative interrupts in a preemptive task scheduling environment
US5778236A (en) * 1996-05-17 1998-07-07 Advanced Micro Devices, Inc. Multiprocessing interrupt controller on I/O bus
US5911077A (en) * 1996-05-31 1999-06-08 Micron Electronics, Inc. System for multithreaded disk drive operation in a computer system
US5872963A (en) * 1997-02-18 1999-02-16 Silicon Graphics, Inc. Resumption of preempted non-privileged threads with no kernel intervention
JPH10312296A (ja) * 1997-05-12 1998-11-24 Nec Corp プロセス切替え制御方式
US5928321A (en) * 1997-05-30 1999-07-27 Sony Corporation Task and stack manager for digital video decoding
US5938708A (en) 1997-07-03 1999-08-17 Trw Inc. Vehicle computer system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of vehicle processes
US6243735B1 (en) 1997-09-01 2001-06-05 Matsushita Electric Industrial Co., Ltd. Microcontroller, data processing system and task switching control method
US6098090A (en) * 1997-09-05 2000-08-01 Novell, Inc. Methods and system for providing a background processing thread which manages the background tasks of external threads
US6256659B1 (en) 1997-12-09 2001-07-03 Mci Communications Corporation System and method for performing hybrid preemptive and cooperative multi-tasking in a computer system
JP2000029941A (ja) 1998-07-15 2000-01-28 Hitachi Inf & Control Syst Ltd スケジュールの進捗管理方法、スケジュール管理装置、スケジュール作成方法およびスケジュール管理用cdrom
US6098142A (en) * 1998-08-25 2000-08-01 Leggett; John D. Apparatus and method for using a communications port in polling mode and without interrupts
US6314471B1 (en) * 1998-11-13 2001-11-06 Cray Inc. Techniques for an interrupt free operating system
US7356820B2 (en) 2001-07-02 2008-04-08 International Business Machines Corporation Method of launching low-priority tasks
US7178062B1 (en) * 2003-03-12 2007-02-13 Sun Microsystems, Inc. Methods and apparatus for executing code while avoiding interference

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101366007B (zh) * 2006-02-09 2011-04-06 索尼爱立信移动通讯股份有限公司 用于控制中断例程的执行的方法、计算机程序产品和计算机系统
US9274807B2 (en) 2006-04-20 2016-03-01 Qualcomm Incorporated Selective hibernation of activities in an electronic device
CN102754058A (zh) * 2009-07-20 2012-10-24 惠普发展公司,有限责任合伙企业 电子设备中的活动的选择性休眠
US10268358B2 (en) 2009-07-20 2019-04-23 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US10877657B2 (en) 2009-07-20 2020-12-29 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US10901602B2 (en) 2009-07-20 2021-01-26 Qualcomm Incorporated Selective hibernation of activities in an electronic device
US11500532B2 (en) 2009-07-20 2022-11-15 Qualcomm Incorporated Selective hibernation of activities in an electronic device
CN106775988A (zh) * 2016-12-30 2017-05-31 广东欧珀移动通信有限公司 一种数据处理方法及设备

Also Published As

Publication number Publication date
US8056078B2 (en) 2011-11-08
US20040216100A1 (en) 2004-10-28
US7340740B2 (en) 2008-03-04
US20080066077A1 (en) 2008-03-13
CN1311349C (zh) 2007-04-18

Similar Documents

Publication Publication Date Title
CN101256503B (zh) 通过多线程主虚拟机监视器来实现多线程客户操作系统执行的方法和装置
US8261284B2 (en) Fast context switching using virtual cpus
JP4956418B2 (ja) コンピュータ装置用のオペレーティング・システムの、またはそれに関する改良
US8056078B2 (en) Cooperatively multitasking in an interrupt free computing environment
EP1936500A2 (en) Structured exception handling for application-managed thread units
US7296271B1 (en) Replaceable scheduling algorithm in multitasking kernel
US20020161957A1 (en) Methods and systems for handling interrupts
JP2013516021A (ja) プロセッサコアのハイパーバイザ離隔
CN112416546A (zh) 多任务调度方法、电子装置和计算机存储介质
US9047078B2 (en) Extract CPU time facility
EP0887730A1 (en) Method for providing exclusive access to a resource in a multiprocessor computer system
EP1639460A2 (en) Parallel execution of enhanced efi based bios drivers on a multi-processor or hyper-threading enabled platform
CN1975677A (zh) 用于提供无上下文切换属性的方法和系统
Sun et al. Atalanta: A new multiprocessor RTOS kernel for system-on-a-chip applications
Bloom et al. Scheduling and thread management with RTEMS
Zuo et al. Performance tuning towards a KVM-based low latency virtualization system
US10430205B2 (en) Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting
US7516311B2 (en) Deterministic microcontroller context arrangement
Lamie Real-time embedded multithreading: using ThreadX and ARM
US7895581B2 (en) Profiling collector for computer system
US7562207B2 (en) Deterministic microcontroller with context manager
Cherepov et al. Hard Real-time with {RTX} on Windows {NT}
US20220405121A1 (en) Parallel context switching for interrupt handling
Costescu et al. QMotor 3.0-An object oriented system for PC control program implementation and tuning
Hasan et al. Development of a Highly Optimized Preemptive Real Time Operating System (PRTOS)

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190812

Address after: California, USA

Patentee after: Facebook, Inc.

Address before: American New York

Patentee before: International Business Machines Corp.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Yuan platform Co.

Address before: California, USA

Patentee before: Facebook, Inc.

CX01 Expiry of patent term

Granted publication date: 20070418