CN106484502A - 一种调度任务的方法、装置及系统 - Google Patents

一种调度任务的方法、装置及系统 Download PDF

Info

Publication number
CN106484502A
CN106484502A CN201510535086.2A CN201510535086A CN106484502A CN 106484502 A CN106484502 A CN 106484502A CN 201510535086 A CN201510535086 A CN 201510535086A CN 106484502 A CN106484502 A CN 106484502A
Authority
CN
China
Prior art keywords
cpu
task
queue
scheduler
run queue
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
CN201510535086.2A
Other languages
English (en)
Other versions
CN106484502B (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.)
Nanjing ZTE New Software Co Ltd
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510535086.2A priority Critical patent/CN106484502B/zh
Priority to PCT/CN2016/076735 priority patent/WO2016177138A1/zh
Publication of CN106484502A publication Critical patent/CN106484502A/zh
Application granted granted Critical
Publication of CN106484502B publication Critical patent/CN106484502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种调度任务的方法、装置及系统,其中,应用于提供系统节拍的、包括至少一个第一CPU的第一CPU集合的调度任务的方法包括:获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。本发明在消除不必要的节拍时,能够同时正确维护系统时间和提高系统中CPU和硬件资源的使用效率。

Description

一种调度任务的方法、装置及系统
技术领域
本发明涉及通信控制技术领域,尤其是涉及一种调度任务的方法、装置及系统。
背景技术
传统的操作系统都是有节拍的,操作系统通过节拍维护系统的时间,完成任务调度,进行各种统计核计数,并完成其他周期定时任务。此外,操作系统可以通过定时器按照节拍率产生的中断来维护系统时间和任务调度等功能,其中,硬件定时器可以以某种频率产生中断,这个频率可以通过编程来预设,这个频率称为节拍率。
传统的操作系统通过节拍来感知时间的流逝,对于某些应用场景,节拍不是必须的,但是因为操作系统本身设计的原因,导致操作系统必须在其生命周期中始终维护一个节拍,从而导致中央处理器CPU和其他硬件资源没有充分利用。采用无节拍的操作系统,可以避免硬件资源的浪费,提高效率,因为操作系统不需要维护不必要的节拍。
Linux操作系统在3.10版内核中实现了NO_HZ full技术,即当CPU上没有任务或者有一个任务在运行的时候,取消周期性节拍。该技术能避免在空闲CPU上产生的无用节拍,也能够当只有一个任务在CPU上运行时,通过取消节拍来提高系统的性能。但是该技术的缺点是当CPU上存在有2个或者2个以上可运行任务的时候,系统会恢复此CPU上的节拍,实际上当CPU上任务较少的时候,继续保持无节拍可以减少硬件资源的浪费。
综上可以,现有的操作系统存在在取消节拍时无法正确维护系统时间、在恢复节拍时无法提高系统中CPU和硬件资源的使用效率的问题。
发明内容
为了在消除不必要的节拍时,能够同时正确维护系统时间和提高系统中CPU和硬件资源的使用效率,本发明提供了一种调度任务的方法、装置及系统。
为了实现上述目的,本发明提供了一种调度任务的方法,其中,所述方法应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述方法包括:
获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
可选的,所述方法还包括:在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
依据本发明的另一个方面,本发明还提供了一种调度任务的方法,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述方法包括:
获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
可选的,所述当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度,具体包括:将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
可选的,所述方法还包括:当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
可选的,所述根据预设调度接口,对所述第二任务运行队列中的任务进行调度之后,所述方法还包括:当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
依据本发明的另一个方面,本发明还提供了一种调度任务的装置,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,所述装置包括:
第一获取模块,用于获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
第一处理模块,用于当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
可选的,所述装置还包括:第一调度模块,用于在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
依据本发明的另一个方面,本发明还提供了一种调度任务的装置,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,所述装置包括:
第二获取模块,用于获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
第二处理模块,用于接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
第二调度模块,用于当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
可选的,所述第二调度模块还用于,将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
可选的,所述第二处理模块还用于,当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
可选的,所述第二处理模块还用于,当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
依据本发明的另一个方面,本发明还提供了一种调度任务的系统,所述系统包括应用于第一CPU集合的调度任务的装置以及应用于第二CPU集合的调度任务的装置。
本发明的有益效果是:
本发明中的第一CPU集合提供系统节拍,第二CPU集合不提供系统节拍,当需要将第一CPU集合中第一CPU的第一任务运行队列中的第一任务在第二CPU集合上运行时,第一CPU将第一任务挂到第二CPU集合中第二CPU的第二任务运行队列中,并向第二CPU发送中断命令。本发明中的第一CPU集合提供系统节拍,保证了能够正确维护系统时间。
当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU获取由第一CPU挂接的任务组成的第二任务运行队列,并当第二CPU接收到中断命令后,第二CPU调度第二CPU的第二任务运行队列中的第一个任务;在第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。本发明中的第二CPU集合不提供系统节拍,且采用预设调度接口对第二任务运行队列中的任务进行调度,消除了传统调度对节拍的依赖,使得用户可以更加灵活的利用CPU,解决了当CPU存在多个任务时无法取消节拍的问题,提高了系统的响应时间,并且提高了CPU及硬件资源的使用效率。
附图说明
图1表示本发明的实施例中应用于第一CPU集合的调度任务的方法的主要步骤流程图;
图2表示本发明的实施例中应用于第二CPU集合的调度任务的方法的主要步骤流程图;
图3表示本发明的实施例中第一CPU集合与第二CPU集合的结构框图;
图4表示本发明的实施例中第二CPU调度第一个任务时的示意图;
图5表示图2中步骤203的分步骤示意图;
图6表示本发明的实施例中应用于第一CPU集合的调度任务的装置的结构框图;以及
图7表示本发明的实施例中应用于第二CPU集合的调度任务的装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,为本发明的实施例中应用于第一CPU集合的调度任务的方法的主要步骤流程图,主要包括如下步骤:
步骤101,获取第一CPU集合中的第一CPU的第一任务运行队列。
在本步骤中,具体的,如图3所示,为第一CPU集合与第二CPU集合的结构框图,由图3中可以看出,第一CPU集合中包括至少一个的第一CPU,且第一CPU集合为提供系统节拍的CPU集合;此外,第一CPU维护有一第一任务运行队列,且第一任务运行队列包括至少一个由用户创建的任务。具体的,第一CPU集合中的第一CPU获取第一任务运行队列,并且在系统节拍产生中断中,第一CPU维护第一CPU所在系统的系统时间、系统统计及系统计数。
步骤102,当需要将第一任务运行队列中的第一任务在第二CPU集合上运行时,将第一任务挂到第二CPU集合中的第二CPU的第二任务运行队列,并向第二CPU发送中断命令。
在本步骤中,第二CPU集合不提供系统节拍,且第二CPU集合中的第二CPU的初始状态为空闲状态。具体的,当用户创建的任务需要在第二CPU集合中的第二CPU上运行时,第一CPU集合中的第一CPU先将第一任务运行队列中的第一任务挂到第二CPU的第二任务运行队列中,然后向第二CPU发送中断命令,由第二CPU根据中断命令进行任务调度。
本实施例中的第一CPU集合提供系统节拍,第二CPU集合不提供系统节拍,当需要将第一CPU集合中第一CPU的第一任务运行队列中的第一任务在第二CPU集合上运行时,第一CPU将第一任务挂到第二CPU集合中第二CPU的第二任务运行队列中,并向第二CPU发送中断命令。本发明中的第一CPU集合提供系统节拍,保证了能够正确维护系统时间。
可选的,在第一CPU集合中的第一CPU调度任务时,可以在系统节拍产生中断时,采用时间片轮转的方式对第一任务运行队列中的任务进行调度。
在本实施例中,第一CPU对第一任务运行队列中的任务进行调度时依赖于节拍,并根据时间片完成第一任务运行队列中的多任务调度。具体的,可以将第一任务运行队列中的任务分为实时任务和普通任务,实时任务调度时,可以采用先进先出和时间片轮转的方式,在没有实时任务时,第一CPU调度普通任务。本实施例在维护了正确的系统时间的同时,使得第一任务运行队列中的多任务同时进行。
如图2所示,为本发明的实施例中应用于第二CPU集合的调度任务的方法的主要步骤流程图,主要包括如下步骤:
步骤201,获取第二CPU集合中的第二CPU的第二任务运行队列。
在本步骤中,具体的,如图3所示,为第一CPU集合与第二CPU集合的结构框图,由图3中可以看出,第二CPU集合不提供系统节拍,且第二CPU集合中包括至少一个第二CPU;此外,第二CPU的初始状态为空闲状态。具体的,当第二任务运行队列中有任务时,所获取的第二CPU集合中的第二CPU的第二任务运行队列中的任务包括有至少一个由第一CPU集合中的第一CPU挂接的任务。
步骤202,接收第一CPU集合中第一CPU发送的中断命令,调度第二任务运行队列中的第一个任务。
在本步骤中,如图4所示,为第二CPU调度第一个任务时的示意图,由图4所示,当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU首先接收第一CPU集合中第一CPU发送的中断命令,然后调度第二任务运行队列中的第一个任务。具体的,当第二CPU当前状态为空闲状态时,在第二CPU接收到中断命令后,第二CPU首先需要退出空闲状态,然后再检查第二任务运行队列,调用第二任务运行队列中的第一个任务。
步骤203,当第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
在本步骤中,具体的,预设调度接口可以为向用户提供的调度接口。当第二CPU中正在运行的第二任务调用预设调度接口时,可以根据预设调度接口,对第二任务运行队列中的任务进行调度。
在本实施例中,当需要在第二CPU集合中的第二CPU上运行任务时,第二CPU首先获取由第一CPU挂接的任务组成的第二任务运行队列,并当接收到中断命令后,第二CPU调度第二CPU的第二任务运行队列中的第一个任务;在第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
本实施例中的第二CPU集合不提供系统节拍,且采用预设调度接口对第二任务运行队列中的任务进行调度,消除了传统调度对节拍的依赖,使得用户可以更加灵活的利用CPU,解决了当CPU存在多个任务时无法取消节拍的问题,提高了系统的响应时间,并且提高了CPU及硬件资源的使用效率。
可选的,如图5所示,为图2中步骤203的分步骤示意图。由图5中可以看出,当第二CPU正在运行的第二任务调用预设调度接口时,可以先将第二任务调度至第二任务运行队列的队尾,然后根据预设调度接口,调用预设调度接口指定的任务或位于第二任务运行队列的队头的任务。具体的,当第二任务运行队列为空时,即当第二任务运行队列中的任务都运行完后,第二CPU则进入空闲状态,并向第一CPU发送空闲状态通知消息。
在本实施例中,用户可以根据预设调度接口,调用预设调度接口指定的任务或者位于第二任务运行队列的队头的任务,使得用户可以更加灵活的利用CPU,取得更好的运行效率。
本发明提供的一种调度任务的方法,应用于提供系统节拍的第一CPU集合和不提供系统节拍的第二CPU集合,通过在不同的CPU集合上采用不同的调度方式,消除了传统调度对系统节拍的依赖,解决了当CPU存在多个任务时无法消除节拍的问题。此外,通过该种方式,实现了完全消除CPU上的节拍时避免产生无用的时钟中断的目的,同时正确维护了系统时间。另外,通过将预设调度接口开发给用户,使得用户可以更加灵活的利用CPU,取得更好的运行效率。
如图6所示,为本发明的实施例中应用于第一CPU集合的调度任务的装置的结构框图,该装置应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,该装置包括:
第一获取模块301,用于获取第一CPU集合中的第一CPU的第一任务运行队列,其中,第一任务运行队列包括至少一个由用户创建的任务;
第一处理模块302,用于当需要将第一任务运行队列中的第一任务在第二CPU集合上运行时,将第一任务挂到第二CPU集合中的第二CPU的第二任务运行队列,并向第二CPU发送中断命令,其中第二CPU集合不提供系统节拍,第二CPU的初始状态为空闲状态。
可选的,装置还包括:第一调度模块303,用于在系统节拍产生中断时,采用时间片轮转的方式对第一任务运行队列中的任务进行调度。
如图7所示,为本发明的实施例中应用于第二CPU集合的调度任务的装置的结构框图,该装置应用于第二CPU集合,第二CPU集合不提供系统节拍,且第二CPU集合中包括至少一个第二CPU,该装置包括:
第二获取模块401,用于获取第二CPU集合中的第二CPU的第二任务运行队列,其中,第二CPU的初始状态为空闲状态,第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,第一CPU集合提供系统节拍;
第二处理模块402,用于接收第一CPU集合中第一CPU发送的中断命令,调度第二任务运行队列中的第一个任务;
第二调度模块403,用于当第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对第二任务运行队列中的任务进行调度。
可选的,第二调度模块403还用于,将第二任务调度至第二任务运行队列的队尾;根据预设调度接口,调用预设调度接口指定的任务或位于第二任务运行队列的队头的任务。
可选的,第二处理模块402还用于,当第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查第二任务运行队列,调度第二任务运行队列中的第一个任务。
可选的,第二处理模块402还用于,当第二任务运行队列为空时,第二CPU进入空闲状态,并向第一CPU发送空闲状态通知消息。
依据本发明的另一个方面,本发明还提供了一种调度任务的系统,系统包括应用于第一CPU集合的调度任务的装置以及应用于第二CPU集合的调度任务的装置。
具体的,该调度任务的系统可以为对称多处理器SMP系统。此外,本实施例中的一种调度任务的系统与现有技术相比,该系统不是完全的无节拍系统,因此依赖于节拍的用户程序可以方便的在该系统中运行。另外,与Linux操作系统中实现的NO_HZ full技术相比,该系统克服了完全无节拍对现有程序的兼容性问题,该系统能够提供绝对时间,同时消除不必要的节拍,最大限度的为用户提供了一个实时系统。此外,该系统由于没有采用基于节拍的调度算法,因此解决了当CPU存在多个任务时无法消除节拍的问题。并且该系统通过将预设调度接口开发给用户,使得用户可以更加灵活的利用CPU,取得更好的运行效率。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

Claims (13)

1.一种调度任务的方法,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,其特征在于,所述方法包括:
获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
3.一种调度任务的方法,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,其特征在于,所述方法包括:
获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
4.根据权利要求3所述的方法,其特征在于,所述当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度,具体包括:
将所述第二任务调度至所述第二任务运行队列的队尾;
根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;
检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
6.根据权利要求3所述的方法,其特征在于,所述根据预设调度接口,对所述第二任务运行队列中的任务进行调度之后,所述方法还包括:
当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
7.一种调度任务的装置,应用于第一CPU集合,所述第一CPU集合提供系统节拍,且所述第一CPU集合中包括至少一个第一CPU,其特征在于,所述装置包括:
第一获取模块,用于获取第一CPU集合中的第一CPU的第一任务运行队列,其中,所述第一任务运行队列包括至少一个由用户创建的任务;
第一处理模块,用于当需要将所述第一任务运行队列中的第一任务在第二CPU集合上运行时,将所述第一任务挂到所述第二CPU集合中的第二CPU的第二任务运行队列,并向所述第二CPU发送中断命令,其中所述第二CPU集合不提供系统节拍,所述第二CPU的初始状态为空闲状态。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一调度模块,用于在所述系统节拍产生中断时,采用时间片轮转的方式对所述第一任务运行队列中的任务进行调度。
9.一种调度任务的装置,应用于第二CPU集合,所述第二CPU集合不提供系统节拍,且所述第二CPU集合中包括至少一个第二CPU,其特征在于,所述装置包括:
第二获取模块,用于获取第二CPU集合中的第二CPU的第二任务运行队列,其中,所述第二CPU的初始状态为空闲状态,所述第二任务运行队列包括至少一个由第一CPU集合中的第一CPU挂接的任务,所述第一CPU集合提供系统节拍;
第二处理模块,用于接收所述第一CPU集合中第一CPU发送的中断命令,调度所述第二任务运行队列中的第一个任务;
第二调度模块,用于当所述第二CPU正在运行的第二任务调用预设调度接口时,根据预设调度接口,对所述第二任务运行队列中的任务进行调度。
10.根据权利要求9所述的装置,其特征在于,所述第二调度模块还用于,将所述第二任务调度至所述第二任务运行队列的队尾;根据所述预设调度接口,调用所述预设调度接口指定的任务或位于所述第二任务运行队列的队头的任务。
11.根据权利要求9所述的装置,其特征在于,所述第二处理模块还用于,当所述第二CPU当前状态为空闲状态时,接收第一CPU集合中的第一CPU发送的中断命令并退出空闲状态;检查所述第二任务运行队列,调度所述第二任务运行队列中的第一个任务。
12.根据权利要求9所述的装置,其特征在于,所述第二处理模块还用于,当所述第二任务运行队列为空时,所述第二CPU进入空闲状态,并向所述第一CPU发送空闲状态通知消息。
13.一种调度任务的系统,其特征在于,所述系统包括如权利要求7~8任一项所述的调度任务的装置以及如权利要求9~12任一项所述的调度任务的装置。
CN201510535086.2A 2015-08-27 2015-08-27 一种调度任务的方法、装置及系统 Active CN106484502B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510535086.2A CN106484502B (zh) 2015-08-27 2015-08-27 一种调度任务的方法、装置及系统
PCT/CN2016/076735 WO2016177138A1 (zh) 2015-08-27 2016-03-18 一种调度任务的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510535086.2A CN106484502B (zh) 2015-08-27 2015-08-27 一种调度任务的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106484502A true CN106484502A (zh) 2017-03-08
CN106484502B CN106484502B (zh) 2020-10-09

Family

ID=57217477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510535086.2A Active CN106484502B (zh) 2015-08-27 2015-08-27 一种调度任务的方法、装置及系统

Country Status (2)

Country Link
CN (1) CN106484502B (zh)
WO (1) WO2016177138A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506624A (zh) * 2020-10-29 2021-03-16 望海康信(北京)科技股份公司 定时任务调度系统、方法及相应计算机设备和存储介质
CN112860401B (zh) * 2021-02-10 2023-07-25 北京百度网讯科技有限公司 任务调度方法、装置、电子设备和存储介质
CN112596891B (zh) * 2021-03-03 2021-06-11 南京信息工程大学 时间片轮转结合扩展中断的多任务管理方法
CN113900811A (zh) * 2021-10-11 2022-01-07 万翼科技有限公司 事件驱动的任务调度的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414271A (zh) * 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN102231120A (zh) * 2011-05-25 2011-11-02 苏州博远容天信息科技有限公司 任务消息调度方法及系统
US20140282596A1 (en) * 2013-03-14 2014-09-18 International Business Machines Corporation Achieving continuous availability for planned workload and site switches with no data loss
US20150220352A1 (en) * 2014-02-05 2015-08-06 Travis T. Wilson Method and System for Executing Third-Party Agent Code in a Data Processing System

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307367B2 (en) * 2009-03-05 2012-11-06 International Business Machines Corporation Smart scheduling of automatic partition migration by the use of timers
CN102222022A (zh) * 2011-07-15 2011-10-19 范示德汽车技术(上海)有限公司 基于多核处理器的实时任务调度方法
CN102707765B (zh) * 2012-05-15 2014-12-31 江苏中科梦兰电子科技有限公司 一种使用混合时钟源的计时方法
CN103257892B (zh) * 2013-05-27 2016-03-23 北京世纪瑞尔技术股份有限公司 一种基于宏组合的多任务调度方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414271A (zh) * 2008-12-04 2009-04-22 浙江大学 多核平台下基于硬件计时器与任务队列的调度方法
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN102231120A (zh) * 2011-05-25 2011-11-02 苏州博远容天信息科技有限公司 任务消息调度方法及系统
US20140282596A1 (en) * 2013-03-14 2014-09-18 International Business Machines Corporation Achieving continuous availability for planned workload and site switches with no data loss
US20150220352A1 (en) * 2014-02-05 2015-08-06 Travis T. Wilson Method and System for Executing Third-Party Agent Code in a Data Processing System

Also Published As

Publication number Publication date
WO2016177138A1 (zh) 2016-11-10
CN106484502B (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN106484502A (zh) 一种调度任务的方法、装置及系统
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
CN105677501B (zh) Linux系统中基于看门狗的精细化进程监控方法及系统
CN105893157B (zh) 一种开放分布式系统资源管理与任务调度系统与方法
CN106790706B (zh) 一种数据资源优化的方法、平台及系统
WO2013165458A1 (en) Network aware process scheduling
US20140317631A1 (en) Reservation scheduler for real-time operating systems in wireless sensor networks
CN1910553A (zh) 基于存储器要求在多处理器系统中进行任务调度的方法和设备
CN102110022B (zh) 基于优先级调度的传感器网络嵌入式操作系统
CN109684060A (zh) 一种多类型时间关键任务的混合调度方法
CN101459605A (zh) 一种流量控制方法和设备
CN108984267A (zh) 工业服务器的微内核架构控制系统及工业服务器
CN105389207A (zh) 自适应数据请求处理方法、装置、任务调度器及系统
CN104375893A (zh) 一种基于两级操作系统架构的分区调度方法
CN112181621A (zh) 一种任务调度系统、方法、设备及存储介质
CN107832130A (zh) 一种银行系统的作业流调度执行方法、装置及电子设备
CN106407004A (zh) 一种用于远程集中计量的任务调度装置及调度方法
CN101976206B (zh) 一种中断处理方法和装置
CN102612157A (zh) 无线传感器网络的嵌入式实时调度系统
CN105187519B (zh) 一种基于AIO的socket传输系统
CN104375883A (zh) 一种cfs调度器
CN107220114A (zh) 基于资源统一调度的分布式资源调度方法
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
KR20090024255A (ko) 컴퓨터 마이크로 작업
CN102929772A (zh) 智能实时系统监测方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200911

Address after: 210000 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Applicant after: Nanjing Zhongxing Software Co.,Ltd.

Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Applicant before: ZTE Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant