CN101042660A - 多任务系统中的任务执行环境切换方法 - Google Patents
多任务系统中的任务执行环境切换方法 Download PDFInfo
- Publication number
- CN101042660A CN101042660A CNA2007100895083A CN200710089508A CN101042660A CN 101042660 A CN101042660 A CN 101042660A CN A2007100895083 A CNA2007100895083 A CN A2007100895083A CN 200710089508 A CN200710089508 A CN 200710089508A CN 101042660 A CN101042660 A CN 101042660A
- Authority
- CN
- China
- Prior art keywords
- task
- execution environment
- subfunction
- exclusive state
- function
- 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
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/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开一种多任务系统中的任务执行环境切换方法,包括如下步骤:第一步骤,用于将任务独占使用执行环境堆栈的当前任务执行环境信息疏散到上下文疏散区域,作为用于从所述任务中的主函数对子函数进行调用处理的预处理;第二步骤,用于从所述任务的执行环境表中将子函数的执行环境信息存储于用于所述任务的函数的执行环境堆栈中;第三步骤,用于从所述任务中的主函数调用所述子函数;和第四步骤,用于在处理过程从所述子函数返回所述主函数时,将在第一步骤中疏散到所述上下文疏散区域的所述任务执行环境信息,存储于所述任务独占使用执行环境堆栈的任务中。
Description
技术领域
本发明涉及一种多任务操作系统(OS)中的任务执行环境信息的切换方法,具体涉及一种用于多项任务共享堆栈存储器并用于执行其它CPU资源的独占访问控制的技术。
背景技术
图6是示出根据常规技术的多任务系统的处理方法的流程图。在该常规技术中,多项任务共享同一堆栈区域。对于各个公共堆栈区域,在对任务自始至终而执行的单元中,任务向公共堆栈区域的分配得到排他性的控制。该区别特征在于,在任务之间共享堆栈存储器时分配处理过程的单元被设置为“对任务自始至终的执行”。
参照图6,将描述根据在日本出版专利文献(日本未审查专利出版6-168145)中公开的根据常规技术的多任务处理系统中的堆栈控制操作。当存在执行任务的请求时,首先,在步骤S41中判断堆栈区域是否被共享该堆栈区域的其它任务所使用。当判断结果为其它任务没有正在使用该堆栈区域时,处理过程转向步骤S42,其中任务被设置为可执行。同时,当判断出其它任务正在使用公共堆栈区域时,处理过程转向步骤S43,其中延迟任务向可执行状态的过渡。因此,可以改进公共堆栈区域的存储器使用效率。
上述常规技术的操作系统具有堆栈管理功能,其用于将单个堆栈区域分配给具有相同优先权的多项任务。因此,单个堆栈区域被具有相同优先权的多项任务共享。不过,假设共同使用单个区域的多项任务并不同时被执行,并且这些任务的执行顺序可以提前确定。例如,在三项任务A、B和C共享单个堆栈区域的情况下,可做如下设置,即,在任务A终止执行后执行任务B,并在任务B终止执行后执行任务C。也就是说,公共堆栈区域只分配给将被独占执行的单个任务。进一步,还可能将单个任务区域分配给单个任务,使其独占使用。例如,当管理十项任务时,OS为两项任务中的每一项分配独占使用的堆栈区域,为四项具有相同优先权的任务分配单个公共堆栈区域,并为其余四项具有相同优先权的任务分配单个公共堆栈区域。结果,虽然任务有十项,但是堆栈区域的总数却为四个。因此,可以获得m<n的关系式,其中,任务总数为n(n为正整数),堆栈区域的总数为m(m为正整数)。因此,可以降低整个堆栈区域相对于RAM(随机访问存储器)的整个存储容量的比例。结果,有可能将多任务OS程序安装到单片机中,在该单片机中,内置RAM的存储容量受到限制。
不过,由于在多项任务共享堆栈存储器时用于分配处理过程的单元被设置为“对任务自始至终的执行”,所以上述常规技术具有如下问题。例如,在任务处理过程中可能执行通信的情况下,例如从主函数调用子函数时,或者在可能同时启动的多项任务之间执行处理的情况下,不可能共享任务堆栈区域。在这些情况中,有必要独立地确保用于独占处理的堆栈和其它任务处理的堆栈。因此,不可能降低存储量。
发明内容
因此,本发明的主要目的是实现如下目标:即使在任务处理过程中可能执行通信的情况下,例如,在从主函数调用子函数时,或者在可能同时启动的多项任务之间执行处理过程的情况下,实现任务堆栈区域的共享,从而降低整个系统中所使用的存储量。
为了解决以上问题,根据本发明的多任务系统中的任务执行环境切换方法,包括如下步骤:
第一步骤,用于将任务独占执行环境堆栈中的当前任务执行环境信息疏散到上下文疏散区域,作为用于从所述任务中的主函数对子函数进行调用处理的预处理;
第二步骤,用于从所述任务的执行环境表中将所述子函数的执行环境信息存储于用于所述任务的函数的执行环境堆栈中;
第三步骤,用于从所述任务中的所述主函数调用所述子函数;和
第四步骤,用于在处理过程从所述子函数返回所述主函数时,将在所述第一步骤中疏散到所述上下文疏散区域的所述任务执行环境信息,存储于用于所述任务函数的执行环境堆栈中。
在本发明中,多项任务共享作为单个单元的堆栈区域,该单元包括函数的起始直至终止。在这方面,本发明不同于常规技术,在常规技术中,堆栈区域作为包含从任务执行开始直至任务执行结束的单元而被共享。因此,在本发明中可以通过小于任务单元的函数单元而在多项任务之间共享所述堆栈。
具体而言,独占执行环境堆栈被分配给由OS管理的每项任务,而用于函数的公共执行环境堆栈作为包含函数的起始直至终止的单个单元而被分配。当存在调用子函数的请求时,判断是否正在使用用于函数的公共执行环境堆栈。当判断出正在使用时,任务转向执行等待状态。当判断出没有正在使用时,当前的任务执行环境信息被疏散到上下文疏散区域,分配给子函数的用于函数的公共执行环境堆栈被设置为“正在使用”,子函数的执行环境信息被替换为用于函数的执行环境堆栈,并且通过使用该执行环境堆栈来调用子函数。当处理过程从子函数返回时,所疏散的任务执行环境信息被替换为如下的任务独占的执行环境堆栈,所述任务独占的执行环境堆栈将被返回到就在调用子函数之前的任务执行环境信息。
结果,根据本发明,即使可能在任务处理过程中执行通信,或者甚至在可同时启动的多项任务之间执行通信,也可以执行堆栈区域的共享。因此,可降低整个系统中所使用的存储量。
存在本发明进一步包括如下步骤的实施例:
就在所述第二步骤之前,将在所述执行环境表中的所述任务执行信息转换成排斥其它任务而待使用的独占状态;和
在所述第四步骤之后立刻释放所述独占状态。
进一步存在若干针对前述实施例的实施例。在其中一个实施例中,在所述第一步骤中,判断是否设置标志用于指示在所述执行环境表中的每个任务执行环境信息中所提供的另一任务正在使用,并且当判断出正在设置所述标志时,则所述任务在所述第一步骤中被转向等待状态;
当在所述第一步骤中判断出所述标志还未设置时,在用于转换到所述独占状态的步骤中设置所述标志,以将所述执行环境表中的所述任务执行信息转换成所述独占状态;并且
在用于释放所述独占状态的步骤中,通过清除所述标志来释放所述独占状态。在这种情况下,当在第一步骤中正在设置所述标志时,返回错误,而不调用子函数。
在另一实施例中,通过将状态改变为任务调度禁止状态,执行用于向所述独占状态过渡的步骤;并且
通过将任务改变为任务调度允许状态,执行用于释放所述独占状态的步骤。这里所说的调度指的是针对由OS处理的多项任务而对CPU所进行的分配(安排)。
在又一实施例中,通过将任务改变为中断禁止状态,执行用于向所述独占状态过渡的步骤;并且
通过将任务改变为中断允许状态,执行用于释放所述独占状态的步骤。
否则,通过将任务改变为基本上限制了调度和中断的CPU锁定状态,可执行用于转向独占状态的步骤。
在上述的采用转向独占状态的实施例中,没有必要检查子函数的调用,也没有必要将任务转向等待状态。因此,处理效率变高。
另外,在本发明中,还存在如下实施例,其中,所述任务执行环境是堆栈寄存器;并且所述任务执行环境信息是用在所述子函数中的堆栈区域地址。进一步,还存在如下实施例,即,所述上下文疏散区域表明堆栈区域地址。
根据以上描述的本发明,可以通过小于任务单元的函数单元,在多项任务之间共享堆栈区域。因此,可以减少整个系统中所使用的存储量。因此,可以采用小容量的存储器操作多任务系统。
本发明是一种用于在多任务系统中切换任务执行环境的方法,该方法使得,即使在任务处理过程期间执行通信的情况下,或者甚至在可能同时启动的多项任务之间执行通信的情况下,也能够共享堆栈区域。因此,作为一种用于减小用在整个系统中的存储量的技术,本发明是非常有效的。
附图说明
本发明的其它目的将从以下对优选实施例和所附权利要求书的描述中变得清晰。本领域的技术人员通过实施本发明将认识到本发明还具有许多其它优点。
图1是示出本发明第一实施例中的多任务系统的结构的方框图;
图2是在本发明的第一实施例中用于从主函数调用子函数的处理过程的流程图;
图3是本发明第一实施例中的子函数调用检查处理过程的流程图;
图4示出本发明第一实施例中当上下文疏散区域指示子函数执行环境信息时如何使用堆栈区域;
图5是本发明第二实施例中用于在从主函数调用子函数时提供独占状态的处理过程的流程图;和
图6是描述根据常规技术的公共堆栈区域的独占控制的流程图。
具体实施方式
下文中,将针对本发明的各优选实施例,参照附图详细描述多任务系统中的任务执行环境切换方法的实施例。
第一实施例
图1是示出根据本发明第一实施例的多任务系统的结构的方框图。在该多任务系统中,操作系统(OS)1并行管理多项任务Ti(i=1,2,……,n),并控制它们的执行。每项任务Ti都包括各自的堆栈STi(i=1,2,……n),作为独占使用的执行环境。在任务T1中,主函数f1调用子函数f2。
操作系统1包括执行环境表A0和上下文疏散区域B0。执行环境表A0包含子函数f2的执行环境信息A1、子函数f2’的执行环境信息A2,……。子函数f2的执行环境信息A1存储任务T1执行子函数f2时所使用的执行环境堆栈的地址值。上下文疏散区域B0包括任务T1疏散区域B1、任务T2疏散区域B2,……。这些任务疏散区域是具有如下特征的区域,即,这些区域用于在改变作为堆栈寄存器的任务独占使用执行环境堆栈ST1之前疏散当前的堆栈寄存器值。可分别提供子函数执行环境信息和任务疏散区域中的至少一个。SPf是用于函数的执行环境堆栈。
图2是示出在本发明的第一实施例中用于从主函数调用子函数的处理过程的流程图。首先,在步骤S1中,检查执行环境表A0中的子函数f2的执行环境信息A1是否“正在使用”。当确认其没有正在被使用时,处理过程移向步骤S2。当确认其正被使用时,处理过程移向步骤S11。
在步骤S2中,任务独占使用执行环境堆栈ST1中的当前任务执行环境信息被疏散到上下文疏散区域B0的任务T1疏散区域B1,以对其进行保存。
然后,在步骤S3中,执行环境表A0中的子函数f2的执行环境信息A1被存储于作为堆栈寄存器的用于函数的执行环境堆栈SPf中,这就为执行子函数f2进行了准备。
然后,在步骤S4中,执行环境表A0中的子函数f2的执行环境信息A1被设置为“正在使用”。可以设置标志用来使执行环境信息A1处于“正在使用”。例如,通过将执行环境表A0(阵列变量)中的执行环境信息A1的最低位设置为“1”,可以将执行环境信息A1设置为“正在使用”,通过将所述最低位设置为“0”,可以将执行环境信息A1设置为“没有正在使用”。
然后,在步骤S5中,调用子函数f2,并在步骤S6中启动子函数f2的处理。当对子函数f2的处理结束时,在步骤S7中对其进行检查,并且处理过程从子函数f2返回到主函数f1。
然后,在步骤S8中,先前步骤S2中的上下文疏散区域B0的任务T1疏散区域B1中所疏散的执行环境信息被替换为任务独占使用执行环境堆栈ST1。
然后,在步骤S9中,执行环境表A0中的子函数f2的执行环境信息A1被设置为“没有正在使用”。例如,为了将执行环境信息A1设置为“没有正在使用”,其最低位被设置为“0”。当执行环境信息A1被设置为“没有正在使用”时,如果有必要则搜索用于子函数f2的执行环境信息的等待任务。如果存在等待任务,则有必要释放该任务的等待状态。在此不描述其详细的处理过程。最后,该处理过程返回到步骤10中的主函数f1。
同时,当在步骤S1中判断出执行环境表A0中的子函数f2的执行环境信息A1被设置为“正在使用”时,处理过程进入步骤S11,在步骤S11中,检查是否可以调用子函数f2。当判断出可以调用子函数f2时,处理过程转向步骤S2。当判断出不能调用子函数f2时,处理过程进入步骤S12,使处理过程返回主函数f1。
图3是示出用于检查是否可以调用子函数f2的过程的流程图。在下文中对该过程进行详细描述。首先,在步骤S21中,检查所述任务是否转向等待状态。当确定该任务未转向等待状态时,处理过程转向步骤S22。当确定该任务转向等待状态时,处理过程转向步骤S23。作为步骤S21的处理过程的一种具体实例,例如存在这样一种处理过程,其中,当特定OS中的特定变量的值为“1”时,所述任务转向等待状态,而当特定变量为“0”时,所述任务不转向等待状态。
当在步骤S21中确定任务不转向等待状态时,处理过程进入步骤S22以执行处理过程,并返回一不能被调用的值。同时,当在步骤S21中确定任务转向等待状态时,处理过程转向步骤S23。
在步骤S23中,任务T1被转向等待状态。此时,子函数f2的执行环境信息A1被设置处于使用等待状态,从而连接到OS中的等待提示,同时改变任务T1的状态变量并执行向OS所管理的另一任务的过渡处理。在此不描述向等待状态的过渡处理的细节。
当任务T1转向步骤S23中的等待状态并且由于某些原因而释放等待状态时,处理过程转向步骤S24。在步骤S24中,检查等待状态是否被正确释放。当确定其被正确释放时,处理过程转向步骤S26。不过,当确定其没有被正确释放时,处理过程转向步骤S25。例如,可以根据下文所述来判断等待状态是否被正确释放,也就是说,当确定子函数f2的执行环境信息A1的使用被另一任务被终止并且信息A1被释放时,可以判断出等待状态被正确释放。同时,当确定任务1的等待状态通过强制等待释放请求等进行释放时,可以判断出等待状态没有被正确释放。
当在步骤S24中确定等待状态没有被正确释放时,处理过程转向步骤S25。在步骤S25中执行终止处理,并且返回不能被调用的值。
当在步骤S11的检查处理过程中确定不能调用子函数时,处理过程转向步骤S12。也就是说,返回到主函数f1的处理过程。此时,有必要将不能调用子函数f2通知给主函数f1。因此,例如通过返回一错误值向主函数进行通知。当在步骤S11的检查处理过程中确定可以调用函数时,处理过程转向步骤S2。在这种情况下,步骤S2及其之后的处理过程以上述方式得以执行。
在上下文疏散区域B0表明子函数f2的执行环境信息A1的值“(SP)+4”的情况下,参照图4描述用于函数的执行环境堆栈SPf的使用。在这种情况下,子函数f2的执行环境信息A1的值指示子函数执行处理堆栈区域2,并且返回SP保存区域3指示子函数f2的执行环境信息A1的值“(SP)+4”。在任务T1中使用的最后的地址被保存于用于子函数f2的堆栈区域的返回SP保存区域3中。
如上文所述,在本实施例中,通过使所述函数由开始至结束形成单个单元,若干任务共享所述堆栈区域。因为基于比任务单元小的函数单元而在若干任务之间共享了所述堆栈,因此即使在任务处理中也可能执行通信的情况下,或者甚至在可能同时启动的任务之间执行通信的情况下,也可以共享堆栈区域。因此,可以减少在整个系统中所使用的存储量。
第二实施例
图5示出在本发明的第二实施例中用于从主函数f1调用子函数f2的处理过程的流程图。图5所示的该实施例的处理过程在以下方面不同于第一实施例的处理过程(图2)。也就是说,第二实施例在步骤S31中执行向独占状态过渡的处理过程,并在步骤S38中执行释放独占状态的处理过程,从而取代了步骤S4中的设置标志来指示“正在使用”的处理过程和步骤9中的设置标志来指示“没有正在使用”的处理过程。这将在下文中予以详细描述。
首先,在步骤S31中,转向独占状态。独占状态指的是,例如,任务调度禁止状态、中断禁止状态或CPU锁定状态。
接着,在步骤S32中,在任务独占使用执行环境堆栈ST1中的当前任务执行环境信息被疏散到上下文疏散区域B0的任务T1疏散区域B1,以对其进行保存。
然后,在步骤S33中,执行环境表A0中的子函数f2的执行环境信息A1被存储于用于函数的执行环境堆栈SPf中。然后,在步骤S34中调用子函数f2,并且在步骤S35中启动子函数f2的处理过程。当子函数f2的处理过程结束时,在步骤S36中对其进行检查,并且该处理过程从子函数f2返回到主函数f1。
然后,在步骤S37中,在步骤S32中上下文疏散区域B0的任务T1疏散区域B1中所疏散的执行环境信息,被替换成任务独占使用执行环境堆栈ST1。
然后,在步骤S38中释放独占状态。在步骤S31中任务被提前设置成任务调度禁止状态的情况下,在独占状态的释放处理过程中(步骤S38),任务被设置成任务调度允许状态。进一步,当在步骤S31中任务被提前设置成中断禁止状态时,在独占状态的释放处理过程中(步骤S38),该任务被设置成中断允许状态。更进一步,当在步骤S31中任务被提前设置成CPU锁定状态时,在独占状态的释放处理过程中(步骤S38),CPU锁定状态被释放。
在执行了步骤S38的上述处理过程后,在步骤S39中,该处理过程最后返回到主函数f1。
如上文所述,在本实施例中,通过使所述函数由开始至结束形成单个单元,若干任务共享所述堆栈区域。因为采用比任务单元小的函数单元而在若干任务之间共享了所述堆栈,因此即使在任务处理过程中可能执行通信的情况下,甚至在可能同时启动的任务之间执行通信的情况下,也可以共享堆栈区域。因此,可以减少在整个系统中所使用的存储量。另外,图2所示的用于检查子函数是否可以被调用的处理过程是没有必要的,并且没有任何向任务等待状态的转移,这提供了更高的处理效率。
第三实施例
在上述的第一实施例和第二实施例中,子函数f2的执行环境信息A1被认为是执行环境信息。作为替代,还可以进行如下构造,即,使子函数执行环境信息A1为CPU的运行模式,并在主函数f1的执行过程中将运行模式疏散到上下文疏散区域B0,以便在从主函数f1调用子函数f2的处理过程期间对其进行保存,从而切换子函数f2的CPU运行模式。
进一步,在具有多个CPU的多处理器的情况下,可以采用如下方式进行构建,即,在子函数f2的执行环境信息A1中指定特定的CPU,并且在从主函数f1调用子函数f2的处理过程中切换待使用的CPU。
本发明已经参照最优选的实施例进行了详细描述。不过,在不偏离所附权利要求书的精神和宽阔范围的前提下,可以对各组成部分进行各种不同的组合和修改。
Claims (7)
1、一种多任务系统中的任务执行环境切换方法,包括如下步骤:
第一步骤,用于将任务独占使用执行环境堆栈中的当前任务执行环境信息疏散到上下文疏散区域,作为用于从所述任务中的主函数对子函数进行调用处理的预处理;
第二步骤,用于从所述任务的执行环境表中将所述子函数的执行环境信息存储于用于所述任务的函数的执行环境堆栈中;
第三步骤,用于从所述任务中的所述主函数调用所述子函数;和
第四步骤,用于在处理过程从所述子函数返回所述主函数时,将在所述第一步骤中疏散到所述上下文疏散区域的所述任务执行环境信息,存储于所述任务独占使用执行环境堆栈的任务中。
2、根据权利要求1所述的任务执行环境切换方法,进一步包括如下步骤:
就在所述第二步骤之前,将所述执行环境表中的所述任务执行信息转换成排斥其它任务而待使用的独占状态;和
在所述第四步骤之后立刻释放所述独占状态。
3、根据权利要求2所述的任务执行环境切换方法,其中:
在所述第一步骤中,判断是否设置标志用于指示:在所述执行环境表中的每个任务执行环境信息中所提供的另一任务正在使用,当判断出正在设置所述标志时,则所述任务在所述第一步骤中被转向等待状态;
当在所述第一步骤中判断出所述标志还未设置时,在用于转换到所述独占状态的所述步骤中设置所述标志,以通过在用于转换到所述独占状态的所述步骤中设置所述标志,来将在所述执行环境表中的所述任务执行信息转换成所述独占状态;并且
在用于释放所述独占状态的所述步骤中,通过清除所述标志来释放所述独占状态。
4、根据权利要求2所述的任务执行环境切换方法,其中:
通过将任务改变为任务调度禁止状态,执行用于向所述独占状态过渡的所述步骤;并且
通过将任务改变为任务调度允许状态,执行用于释放所述独占状态的所述步骤。
5、根据权利要求2所述的任务执行环境切换方法,其中:
通过将任务改变为中断禁止状态,执行用于向所述独占状态过渡的所述步骤;并且
通过将任务改变为中断允许状态,执行用于释放所述独占状态的所述步骤。
6、根据权利要求1所述的任务执行环境切换方法,其中:
所述任务执行环境是堆栈寄存器;并且
所述任务执行环境信息是在所述子函数中使用的堆栈区域地址。
7、根据权利要求1所述的任务执行环境切换方法,其中所述上下文疏散区域指示堆栈区域地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006080330 | 2006-03-23 | ||
JP2006080330A JP2007257257A (ja) | 2006-03-23 | 2006-03-23 | マルチタスクシステムにおけるタスク実行環境切替え方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101042660A true CN101042660A (zh) | 2007-09-26 |
Family
ID=38535162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100895083A Pending CN101042660A (zh) | 2006-03-23 | 2007-03-22 | 多任务系统中的任务执行环境切换方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070226747A1 (zh) |
JP (1) | JP2007257257A (zh) |
CN (1) | CN101042660A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009129732A1 (zh) * | 2008-04-22 | 2009-10-29 | 华为技术有限公司 | 一种分布式调用消息的方法和装置 |
CN102521037A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 使用双上下文存储的密码学算法协处理器及数据流处理方法 |
CN101470622B (zh) * | 2007-12-27 | 2012-08-29 | 东芝解决方案株式会社 | 模拟装置以及虚拟化方法 |
CN103412796A (zh) * | 2013-08-30 | 2013-11-27 | 北京经纬恒润科技有限公司 | 操作系统中任务的堆栈分配方法及装置 |
CN107656676A (zh) * | 2011-12-28 | 2018-02-02 | 三星电子株式会社 | 用户装置的多任务方法和设备 |
CN107710162A (zh) * | 2015-07-01 | 2018-02-16 | 日立汽车系统株式会社 | 电子控制装置及栈使用方法 |
CN108475216A (zh) * | 2016-08-03 | 2018-08-31 | 甲骨文国际公司 | 用于在多租户数据库环境中的连接的高效再利用的系统和方法 |
CN108536527A (zh) * | 2018-02-08 | 2018-09-14 | 山东省科学院自动化研究所 | 一种嵌入式软件的任务调度方法及装置 |
CN109376283A (zh) * | 2014-09-24 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 数据处理方法及系统 |
CN111240824A (zh) * | 2018-11-29 | 2020-06-05 | 中兴通讯股份有限公司 | 一种cpu资源调度方法及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290591B (zh) * | 2008-06-03 | 2011-10-12 | 北京中星微电子有限公司 | 一种嵌入式操作系统中切换任务的方法和单元 |
US20120192147A1 (en) * | 2011-01-25 | 2012-07-26 | Argen Wong | Develop real time software without an RTOS |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5168566A (en) * | 1983-11-25 | 1992-12-01 | Sharp Kabushiki Kaisha | Multi-task control device for central processor task execution control provided as a peripheral device and capable of prioritizing and timesharing the tasks |
JPS63211060A (ja) * | 1987-02-27 | 1988-09-01 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセツサシステムにおける負荷分散制御方式 |
JP3212656B2 (ja) * | 1991-02-08 | 2001-09-25 | 株式会社日立製作所 | データ処理システム及びマイクロコンピュータ |
JPH04373026A (ja) * | 1991-06-24 | 1992-12-25 | Fuji Electric Co Ltd | プログラム中断方法 |
US6243762B1 (en) * | 1994-08-08 | 2001-06-05 | Mercury Computer Systems, Inc. | Methods and apparatus for data access and program generation on a multiprocessing computer |
JPH08272757A (ja) * | 1995-03-31 | 1996-10-18 | Toshiba Corp | マルチプロセッサシステム及びプログラム起動方法 |
JP2001043093A (ja) * | 1999-07-30 | 2001-02-16 | Kenji Kobayashi | スタックを共用するタスク・コンテキスト・スイッチ |
JP2001109634A (ja) * | 1999-10-05 | 2001-04-20 | Pfu Ltd | システムコール制御装置および記録媒体 |
US6553487B1 (en) * | 2000-01-07 | 2003-04-22 | Motorola, Inc. | Device and method for performing high-speed low overhead context switch |
US7213247B1 (en) * | 2000-01-10 | 2007-05-01 | Wind River Systems, Inc. | Protection domains for a computer operating system |
JP2002229805A (ja) * | 2001-01-30 | 2002-08-16 | Canon Inc | 組み込み用リアルタイムオペレーティングシステムの再構築方式および記憶媒体 |
JP2002333985A (ja) * | 2001-05-09 | 2002-11-22 | Toshiba Corp | レジスタ退避復旧方法 |
US20050066302A1 (en) * | 2003-09-22 | 2005-03-24 | Codito Technologies Private Limited | Method and system for minimizing thread switching overheads and memory usage in multithreaded processing using floating threads |
US20080005438A1 (en) * | 2004-12-30 | 2008-01-03 | Bin Xing | Methods and Apparatuses to Maintain Multiple Execution Contexts |
-
2006
- 2006-03-23 JP JP2006080330A patent/JP2007257257A/ja active Pending
-
2007
- 2007-03-21 US US11/723,576 patent/US20070226747A1/en not_active Abandoned
- 2007-03-22 CN CNA2007100895083A patent/CN101042660A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470622B (zh) * | 2007-12-27 | 2012-08-29 | 东芝解决方案株式会社 | 模拟装置以及虚拟化方法 |
WO2009129732A1 (zh) * | 2008-04-22 | 2009-10-29 | 华为技术有限公司 | 一种分布式调用消息的方法和装置 |
CN102521037B (zh) * | 2011-12-05 | 2013-12-25 | 晶门科技(深圳)有限公司 | 使用双上下文存储的密码学算法协处理器及数据流处理方法 |
CN102521037A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 使用双上下文存储的密码学算法协处理器及数据流处理方法 |
US11099888B2 (en) | 2011-12-28 | 2021-08-24 | Samsung Electronics Co., Ltd. | Method and apparatus for switching tasks |
CN107656676A (zh) * | 2011-12-28 | 2018-02-02 | 三星电子株式会社 | 用户装置的多任务方法和设备 |
US10108451B2 (en) | 2011-12-28 | 2018-10-23 | Samsung Electronics Co., Ltd. | Method and apparatus for switching tasks using a displayed task stack |
US10452427B2 (en) | 2011-12-28 | 2019-10-22 | Samsung Electronics Co., Ltd. | Method and apparatus for switching tasks using a displayed task stack |
US10534638B2 (en) | 2011-12-28 | 2020-01-14 | Samsung Electronics Co., Ltd. | Method and apparatus for switching tasks using a displayed task stack |
US11675618B2 (en) | 2011-12-28 | 2023-06-13 | Samsung Electronics Co., Ltd. | Method and apparatus for switching tasks |
CN103412796A (zh) * | 2013-08-30 | 2013-11-27 | 北京经纬恒润科技有限公司 | 操作系统中任务的堆栈分配方法及装置 |
CN109376283A (zh) * | 2014-09-24 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 数据处理方法及系统 |
CN109376283B (zh) * | 2014-09-24 | 2023-02-28 | 创新先进技术有限公司 | 数据处理方法及系统 |
CN107710162A (zh) * | 2015-07-01 | 2018-02-16 | 日立汽车系统株式会社 | 电子控制装置及栈使用方法 |
CN107710162B (zh) * | 2015-07-01 | 2022-06-03 | 日立安斯泰莫株式会社 | 电子控制装置及栈使用方法 |
CN108475216B (zh) * | 2016-08-03 | 2022-07-22 | 甲骨文国际公司 | 用于在多租户数据库环境中的连接的高效再利用的系统和方法 |
CN108475216A (zh) * | 2016-08-03 | 2018-08-31 | 甲骨文国际公司 | 用于在多租户数据库环境中的连接的高效再利用的系统和方法 |
CN108536527A (zh) * | 2018-02-08 | 2018-09-14 | 山东省科学院自动化研究所 | 一种嵌入式软件的任务调度方法及装置 |
CN108536527B (zh) * | 2018-02-08 | 2020-10-30 | 山东省科学院自动化研究所 | 一种嵌入式软件的任务调度方法及装置 |
CN111240824A (zh) * | 2018-11-29 | 2020-06-05 | 中兴通讯股份有限公司 | 一种cpu资源调度方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2007257257A (ja) | 2007-10-04 |
US20070226747A1 (en) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101042660A (zh) | 多任务系统中的任务执行环境切换方法 | |
JP3678414B2 (ja) | 多重プロセッサ・システム | |
US20130239119A1 (en) | Dynamic Processor Mapping for Virtual Machine Network Traffic Queues | |
CN1218248C (zh) | 堆栈使用的方法 | |
CN110795222B (zh) | 一种多线程任务调度方法、装置、设备及可读介质 | |
US20130061018A1 (en) | Memory access method for parallel computing | |
CN1914597A (zh) | 处理单元的动态加载和卸载 | |
US20140324890A1 (en) | Data Driven Parallel Sorting System and Method | |
JPWO2011148563A1 (ja) | 情報処理システム | |
CN101853182A (zh) | 基于数据库的任务执行方法及装置 | |
US9652289B2 (en) | Systems and methods for S-list partitioning | |
CN101324851A (zh) | 线程调度方法及其装置 | |
CN1783016A (zh) | 计算机系统 | |
CN105718315A (zh) | 一种任务处理方法及服务器 | |
US20110106995A1 (en) | Data processing system and method of interrupt handling | |
CN103366386A (zh) | 基于多进程和多线程的并行图像解压缩系统 | |
CN104536773A (zh) | 基于内存扫描的嵌入式软件动态内存回收方法 | |
CN1266602C (zh) | 用于锁定表目的方法和设备及用于并行处理的计算机系统 | |
CN1714342A (zh) | 状态机族的并发操作 | |
CN112306670B (zh) | 一种Docker虚拟化场景下的服务器集群优化方法 | |
US20200097297A1 (en) | System and method for dynamic determination of a number of parallel threads for a request | |
JP2007328413A (ja) | 負荷分散方法 | |
EP2951691A1 (en) | System and method for supporting work sharing muxing in a cluster | |
US8201173B2 (en) | Intelligent pre-started job affinity for non-uniform memory access computer systems | |
CN1384431A (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 |
Open date: 20070926 |