CN109445939A - 一种基于主动出让机制的软实时调度内核的调度方法 - Google Patents
一种基于主动出让机制的软实时调度内核的调度方法 Download PDFInfo
- Publication number
- CN109445939A CN109445939A CN201811220065.1A CN201811220065A CN109445939A CN 109445939 A CN109445939 A CN 109445939A CN 201811220065 A CN201811220065 A CN 201811220065A CN 109445939 A CN109445939 A CN 109445939A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- timeslice
- turn
- kernel
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本发明涉及一种基于主动出让机制的软实时调度内核的调度方法,1.启动调度内核程序的执行,2.进行时间片轮询,3.进行时间周期轮询,4.进行优先级轮询,5.判断是否有待执行任务,6.记录待执行的任务序号、设置当前系统时间为待执行任务的开始执行时间、设置任务上次执行时刻为当前系统时间,7.调用待执行任务的入口函数、并传入其任务数据指针,8.记录待执行的任务序号、设置当前系统时间为待执行任务的结束执行时间、更新任务的时间片等待计数为时间片等待初值。本发明功能简单易用、移植性好、实时性好、节约硬件资源、任务顺序执行不存在数据竞态、增加了数据的安全性、内核占用资源小,保证了用户程序的实时性与运行效率。
Description
技术领域
本发明属于嵌入式系统技术领域,具体涉及一种基于主动出让机制的软实时调度内核的调度方法。
背景技术
嵌入式领域存在一些特殊应用场景(例如继电保护领域),在该类应用场景下,有一个主要任务要求实时性较高(ms级别甚至更低),有一个主中断进行强实时功能处理(例如信号采集),有若干的辅助任务(自检、通讯、日志等任务),硬件系统提供的内存等资源有限。该类场景下设备所完成的功能是确定的、可量化的,任务间的关系也是明确的。在该类场景下,传统操作系统存在价格、实时性、移植性、硬件资源需求大等方面的不足。
传统操作系统任务调度机制采用定时的硬件中断进行任务的异步调度、与任务主动申请时间片出让进行同步调度相结合的调度方式,每个任务具有相对独立的资源(内存空间、外设等)。在每次任务调度时,操作系统负责依据优先级、时间片轮询、抢占式等机制保存旧任务的CPU寄存器、堆栈等状态,将新任务的CPU寄存器、堆栈等还原并激活新任务。由于效率的限制,操作系统不可能频繁进行任务的调度,流行的操作系统调度周期多为16.6ms。由于操作系统进行任务切换需要进行硬件的寄存器、堆栈操作,因此传统的操作系统在(例如使用DSP芯片的场景下)移植性、通用性、性价比、灵活性上存在不足。
目前,涉及到多任务的嵌入式场景下,多采用操作系统进行任务调度。流行的操作系统有VxWorks、Linux、eCos、WinCE等,这些系统功能完善、性能稳定。但在一些需要多芯片协作、功能相对简单的场景下,上述系统存在着性价比低、实时性低、代码复用性差、移植难度大等缺点。
发明内容
为解决上述技术问题,本发明提出了一种应用于强实时性(ms级)、有限任务(功能)、嵌入式裸核系统(单片机、ARM、DSP等)或嵌入式操作系统(VxWorks、linux、ecos等,该状态下实时性依赖于操作系统)等场景下的任务调度机制,该调度机制不依赖于特定的硬件、操作系统,无需对任务进行独立堆栈分配,通用性强、移植方便、灵活,任务调度开销小,硬件资源需求小。本发明提出的软实时调度内核旨在解决上述场景下的实时性、代码复用性、移植性上存在的问题,不依赖于特定芯片架构,调度周期可控,接口简单,资源消耗小,适用于中等及中等以下代码规模、任务相对简单、具有高实时性(ms级)要求的应用场景。
本发明所涉及的相关技术术语如下:
1、任务:能够相对独立完成某种功能的程序模块,本发明未对传统的线程、进程、任务等名词进行技术区分,统一将其称为任务。本发明所述的任务是指能够在有限的时间内完成特定功能的程序集合;任务为非阻塞式执行的任务,该类任务有别于传统的依赖于循环机制执行的任务。任务具有时间片周期与时间周期两个属性。本发明所述的任务采用主动出让机制来保证调度内核的实时性。任务具有线性执行的特点,除非主动出让,否则不会被其他任务打断执行。
2、时间片:是指单个任务从被调度内核调用开始到任务执行结束返回调度内核为止的时间段,该时间段为一个动态值,具体依赖于硬件芯片与任务执行时间。
3、软实时:系统的实时性是统计学意义上的实时性,即绝大部分时间系统是实时的,但不是所有情况下都是实时的。本发明所述的调度内核调度任务的实时性取决于任务的执行时间片长度,调度内核无权限在任务不主动放弃执行的情况下强制结束任务执行。软实时性依赖于各任务执行时间片的长度,各任务(尤其是次要任务)宜使用状态机机制控制任务单次运行的时间片长度,各任务的时间片长度应控制在系统所需求的最小任务调度精度以下,各任务的时间片长度越短,系统实时性越高。
4、任务的运行特点:本发明所称的任务具有主动出让的特点,具体的执行过程如下:
调度内核调用任务入口函数->任务执行->任务函数返回->调度内核调用下一个待执行任务。
本发明所述的任务具有主动出让CPU资源的特点,具体表现为通过任务返回进行CPU资源出让;任务宜采用状态机模式设计,但不限于状态机模式的任务,例如一些功能简单的任务,采用顺序执行式设计即可;任务独立进行任务资源的分配、处理、存储,调度内核不对任务的资源进行干预;所有任务共享硬件提供的内存堆、栈、CPU寄存器、外设等,具体依赖于C语言进行本部分资源的管理。
5、任务的属性:本发明所述的任务具有优先级(时间片周期)、时间周期、任务程序入口、任务数据指针、任务名称、任务序号等属性,各属性作用如下:
优先级(时间片周期):任务调度的主参考属性,最小值为1,数值越大优先级越低,该数值代表任务两次被调用所需要的最小时间片数。优先级越高,任务被调用的频率越高。该属性用于保证任务的实时性。任务的优先级与时间片周期为同义词,术语优先级侧重于表述任务对实时性的依赖程度,术语时间片周期侧重于表述单个任务的执行间隔。
时间周期:任务调度的必要属性,最小值为1(单位为系统时钟中断间隔时间),在任务的时间片周期满足时,调度内核检查任务的时间周期是否满足,只有两个周期都满足时才执行任务。该属性用于限制任务的资源(CPU执行时间等)占用,避免系统资源的浪费。
任务程序入口:固定入口格式的函数执行首地址,调度内核执行该函数以调用任务。
任务数据指针:非必选属性,应用于具有多实例执行的任务获取各自的数据对象。
任务名称:非必选属性,主要用于任务调试时标识各任务。
任务序号:调度内核分配的正数,全局唯一,主要用于任务调试时标识各任务。
系统时钟:由一个定时器中断维护,为一个无符号的整数,每个中断加一,该无符号数位宽远大于任务的最大时间周期。定时器中断以1ms为宜,具体取决于任务的时间精度要求。
6、调度内核:通过一系列的运行策略,动态的决定一系列任务的执行顺序、频率、时间间隔的程序集合。调度内核负责维护一个调度池,调度池中存放所有需要被调度的任务的各项属性;调度内核依据任务的优先级、时间周期对任务进行实时的循环调度;调度内核为每个任务维护两个调度属性:时间片等待计数、上次调度执行时间;调度内核具有任务运行时间统计功能,供软件开发人员优化改进与功能分析使用,具体表现为在每个任务运行前记录下任务开始时间,任务结束后记录下任务结束时间。
7、本发明所涉及到的内核接口如下:
任务添加接口:负责将任务加入调度内核调度池,并将任务置为运行态;返回值为-1表示任务添加失败,返回值为正数表示内核分配给该任务的任务号;传入值为优先级(时间片周期)、时间周期、任务程序入口、任务数据指针、任务名称。
任务删除接口:负责将任务从调度内核调度池中删除;返回值为-1表示删除失败,返回值为正数表示删除成功;传入值为任务名称或任务序号。
任务暂停执行接口:负责将任务置为非运行状态,暂停任务的执行;返回值为-1表示暂停失败,返回值为正数表示暂停成功;传入值为任务名称或任务序号。
任务恢复执行接口:负责将任务置为运行状态,重新开放任务的执行;返回值为-1表示恢复失败,返回值为正数表示恢复成功;传入值为任务名称或任务序号。
任务优先级调整接口:负责动态调整任务优先级;返回值-1表示调整失败,0表示调整成功;传入值为调整后的任务优先级。
任务时间周期调整接口:负责动态调整任务时间周期;返回值-1表示调整失败,0表示调整成功;传入值为调整后的任务时间周期。
统计信息获取接口:负责打印输出任务的运行统计信息;返回值-1表示获取失败,0表示获取成功;传入值任务序号。
任务调度入口:通过该入口进行调度内核执行程序,由于调度内核为无限循环方式执行的程序,因此该入口程序被调用后不会返回。
调度内核利用上述的内核接口对外提供任务管理功能。
本发明所采用的技术方案如下:
一种基于主动出让机制的软实时调度内核的调度方法,包括以下步骤:
步骤1、用户通过运行调度入口程序,启动调度内核程序的执行;
步骤2、进行时间片轮询,将所有非零的运行态任务的时间片等待计数减一;
步骤3、进行时间周期轮询,轮询所有时间片等待计数为零的任务,对比系统当前时间与任务上次执行时刻的差值,若该差值大于任务时间周期、则将该任务置为就绪状态,若该差值小于任务时间周期、则不做处理、转下一步;
步骤4、进行优先级轮询,轮询所有状态为就绪状态的任务,找出优先级最高的任务,设置为待执行任务、转下一步,如果没有就绪状态的任务、则转步骤2;
步骤5、判断是否有待执行任务,若是、转下一步,若否、转步骤2;
步骤6、记录待执行的任务序号,设置当前系统时间为待执行任务的开始执行时间,设置任务上次执行时刻为当前系统时间;
步骤7、调用待执行任务的入口函数,并传入其任务数据指针;
步骤8、记录步骤7中待执行的任务序号,设置当前系统时间为待执行任务的结束执行时间,更新任务的时间片等待计数为时间片等待初值,转步骤2。
优选地,步骤2所述的进行时间片轮询的具体步骤如下:
2.1、获取任务总数N,设置临时计数器i=0;
2.2、判断是否i<N,如果是、转下一步,如果否、转步骤2.6;
2.3、查询任务号为i的任务是否为运行态,如果是、转下一步,如果否、执行i=i+1、转步骤2.2;
2.4、判断时间片周期是否为0,如果否、转下一步,如果是、执行i=i+1、转步骤2.2;
2.5、将任务时间片周期减一,转步骤2.2;
2.6、时间片轮询结束。
优选地,步骤3所述的进行时间周期轮询的具体步骤如下:
3.1、获取任务总数N,设置临时计数器i=0;
3.2、判断是否i<N,如果是、转下一步,如果否、转步骤3.6;
3.3、查询时间片周期是否为0,如果是、转下一步,如果否、转步骤3.2;
3.4、计算当前系统系统时间与该任务上次执行时刻的差值,判断该差值是否大于该任务时间周期,如果是、转下一步,如果否、执行i=i+1、转步骤3.2;
3.5、置时间周期满足标志,执行i=i+1、转步骤3.2;
3.6、时间周期轮询结束。
优选地,步骤4所述的进行优先级轮询的具体步骤如下:
4.1、获取任务总数N,设置临时计数器i=0;
4.2、判断是否i<N,如果是、转下一步,如果否、转步骤4.6;
4.3、判断时间周期满足标志是否为1,置时间周期满足标志表示将时间周期满足标志设置为1,下面的清除时间周期满足标志表示设置为0),如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.4、判断是否为当前最高优先级的待运行任务,如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.5、记录下任务号,执行i=i+1、转步骤4.2;
4.6、将最高优先级的任务置为待执行任务,清除其周期满足标志;
4.7、优先级轮询结束。
优选地,执行步骤1时,调度内核执行之前或执行中,用户可以通过提供的内核接口动态的调整任务的数量、优先级、周期。
优选地,执行步骤7时,若有任务数据指针则传入数据指针、若没有任务数据指针则传入空指针。
本发明的有益效果:
1、功能简单易用,本调度内核无需其他附属功能(例如文件系统、网络等功能)即可运行,所有功能都能够利用标准C语言轻松实现。
2、移植性好,本调度内核功能较为简单,不依赖于具体的硬件芯片,且使用标准C语言开发,因此可以方便地进行功能移植。
3、实时性好,本调度内核可以实现较高的实时性,只需开发者合理分配各任务的优先级与时间周期、合理分配各任务时间片长度,调度内核可以实现ms级精度的任务调度。
4、节约硬件资源,本专利中所有的任务共用C语言提供的堆栈,无需为每个任务单独分配堆栈,一定程度上实现了堆栈的复用。
5、任务顺序执行,除非任务主动出让,否则不会被打断执行,不存在数据竞态,消除了任务间共享数据的竞态条件,增加了数据的安全性。
6、内核占用资源小,由于调度内核不主动打断任务执行,不需要进行任务上下文环境切换等操作,所以调度内核占用资源极小。
7、动态的优先级、时间周期机制,用户可以根据实际需要动态调整任务的优先级与时间周期,甚至可以阻断任务的调度,保证了用户程序的实时性与运行效率。
附图说明
图1是调度内核的调度执行流程图;
图2是时间片轮询模块的流程图;
图3是时间周期轮询模块的流程图;
图4是优先级轮询模块的流程图。
具体实施方式
下面结合附图,具体说明本发明的实施方式。
如图1所示,是调度内核的调度执行流程图。一种基于主动出让机制的软实时调度内核的调度方法,包括以下步骤:
步骤1、用户通过运行调度入口程序,启动调度内核程序的执行。调度内核执行之前或执行中,用户可以通过提供的内核接口动态的调整任务的数量、优先级、周期等参数。
步骤2、进行时间片轮询,将所有非零的运行态任务的时间片等待计数减一。如图2所示,是时间片轮询模块的流程图,具体步骤如下:
2.1、获取任务总数N,设置临时计数器i=0;
2.2、判断是否i<N,如果是、转下一步,如果否、转步骤2.6;
2.3、查询任务号为i的任务是否为运行态,如果是、转下一步,如果否、执行i=i+1、转步骤2.2;
2.4、判断时间片周期是否为0,如果否、转下一步,如果是、执行i=i+1、转步骤2.2;
2.5、将任务时间片周期减一,转步骤2.2;
2.6、时间片轮询结束。
步骤3、进行时间周期轮询,轮询所有时间片等待计数为零的任务,对比系统当前时间与任务上次执行时刻的差值,若该差值大于任务时间周期、则将该任务置为就绪状态,若该差值小于任务时间周期、则不做处理、转下一步。如图3所示,是时间周期轮询模块的流程图,具体步骤如下:
3.1、获取任务总数N,设置临时计数器i=0;
3.2、判断是否i<N,如果是、转下一步,如果否、转步骤3.6;
3.3、查询时间片周期是否为0,如果是、转下一步,如果否、转步骤3.2;
3.4、计算当前系统系统时间与该任务上次执行时刻的差值,判断该差值是否大于该任务时间周期,如果是、转下一步,如果否、执行i=i+1、转步骤3.2;
3.5、置时间周期满足标志,执行i=i+1、转步骤3.2;
3.6、时间周期轮询结束。
步骤4、进行优先级轮询,轮询所有状态为就绪状态的任务,找出优先级最高的任务,设置为待执行任务、进入下一步,如果没有就绪状态的任务、则转步骤2。如图4所示,是优先级轮询模块的流程图,具体步骤如下:
4.1、获取任务总数N,设置临时计数器i=0;
4.2、判断是否i<N,如果是、转下一步,如果否、转步骤4.6;
4.3、判断时间周期满足标志是否为1,置时间周期满足标志表示将时间周期满足标志设置为1,下面的清除时间周期满足标志表示设置为0),如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.4、判断是否为当前最高优先级的待运行任务,如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.5、记录下任务号,执行i=i+1、转步骤4.2;
4.6、将最高优先级的任务置为待执行任务,清除其周期满足标志;
4.7、优先级轮询结束。
步骤5、判断是否有待执行任务,若是、转下一步,若否、转步骤2。
步骤6、记录待执行的任务序号,设置当前系统时间为待执行任务的开始执行时间,设置任务上次执行时刻为当前系统时间。
步骤7、调用待执行任务的入口函数,并传入其任务数据指针(若有则传入数据指针、若没有则传入空指针)。
步骤8、记录步骤7中待执行的任务序号,设置当前系统时间为待执行任务的结束执行时间,更新任务的时间片等待计数为时间片等待初值,转步骤2。
本文所述的软实时调度内核宜采用C/C++语言实现,本文所述内容基于C语言的语境与术语进行描述。但应当指出,C/C++语言不是实现本方案的唯一方法。
Claims (6)
1.一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,包括以下步骤:
步骤1、用户通过运行调度入口程序,启动调度内核程序的执行;
步骤2、进行时间片轮询,将所有非零的运行态任务的时间片等待计数减一;
步骤3、进行时间周期轮询,轮询所有时间片等待计数为零的任务,对比系统当前时间与任务上次执行时刻的差值,若该差值大于任务时间周期、则将该任务置为就绪状态,若该差值小于任务时间周期、则不做处理;
步骤4、进行优先级轮询,轮询所有状态为就绪状态的任务,找出优先级最高的任务,设置为待执行任务、转下一步,如果没有就绪状态的任务、则转步骤2;
步骤5、判断是否有待执行任务,若是、转下一步,若否、转步骤2;
步骤6、记录待执行的任务序号,设置当前系统时间为待执行任务的开始执行时间,设置任务上次执行时刻为当前系统时间;
步骤7、调用待执行任务的入口函数,并传入其任务数据指针;
步骤8、记录步骤7中待执行的任务序号,设置当前系统时间为待执行任务的结束执行时间,更新任务的时间片等待计数为时间片等待初值,转步骤2。
2.根据权利要求1所述的一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,步骤2所述的进行时间片轮询的具体步骤如下:
2.1、获取任务总数N,设置临时计数器i=0;
2.2、判断是否i<N,如果是、转下一步,如果否、转步骤2.6;
2.3、查询任务号为i的任务是否为运行态,如果是、转下一步,如果否、执行i=i+1、转步骤2.2;
2.4、判断时间片周期是否为0,如果否、转下一步,如果是、执行i=i+1、转步骤2.2;
2.5、将任务时间片周期减一,转步骤2.2;
2.6、时间片轮询结束。
3.根据权利要求1所述的一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,步骤3所述的进行时间周期轮询的具体步骤如下:
3.1、获取任务总数N,设置临时计数器i=0;
3.2、判断是否i<N,如果是、转下一步,如果否、转步骤3.6;
3.3、查询时间片周期是否为0,如果是、转下一步,如果否、转步骤3.2;
3.4、计算当前系统系统时间与该任务上次执行时刻的差值,判断该差值是否大于该任务时间周期,如果是、转下一步,如果否、执行i=i+1、转步骤3.2;
3.5、置时间周期满足标志,执行i=i+1、转步骤3.2;
3.6、时间周期轮询结束。
4.根据权利要求1所述的一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,步骤4所述的进行优先级轮询的具体步骤如下:
4.1、获取任务总数N,设置临时计数器i=0;
4.2、判断是否i<N,如果是、转下一步,如果否、转步骤4.6;
4.3、判断时间周期满足标志是否为1,置时间周期满足标志表示将时间周期满足标志设置为1,下面的清除时间周期满足标志表示设置为0),如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.4、判断是否为当前最高优先级的待运行任务,如果是、转下一步,如果否、执行i=i+1、转步骤4.2;
4.5、记录下任务号,执行i=i+1、转步骤4.2;
4.6、将最高优先级的任务置为待执行任务,清除其周期满足标志;
4.7、优先级轮询结束。
5.根据权利要求1-4任一项所述的一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,执行步骤1时,调度内核执行之前或执行中,用户可以通过提供的内核接口动态的调整任务的数量、优先级、周期。
6.根据权利要求5所述的一种基于主动出让机制的软实时调度内核的调度方法,其特征在于,执行步骤7时,若有任务数据指针则传入数据指针、若没有任务数据指针则传入空指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811220065.1A CN109445939A (zh) | 2018-10-19 | 2018-10-19 | 一种基于主动出让机制的软实时调度内核的调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811220065.1A CN109445939A (zh) | 2018-10-19 | 2018-10-19 | 一种基于主动出让机制的软实时调度内核的调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109445939A true CN109445939A (zh) | 2019-03-08 |
Family
ID=65546759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811220065.1A Pending CN109445939A (zh) | 2018-10-19 | 2018-10-19 | 一种基于主动出让机制的软实时调度内核的调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445939A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515719A (zh) * | 2019-08-30 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种任务调度方法及相关装置 |
CN111897637A (zh) * | 2020-07-15 | 2020-11-06 | 重庆紫光华山智安科技有限公司 | 作业调度方法、装置、主机及存储介质 |
CN112433834A (zh) * | 2020-11-23 | 2021-03-02 | 国家电网有限公司 | 一种基于Linux系统的调度处理方法及装置 |
CN115795961A (zh) * | 2022-11-30 | 2023-03-14 | 中国人民解放军陆军工程大学 | 一种沿网格边界裂纹扩展有限元方法 |
CN117311772A (zh) * | 2023-11-30 | 2023-12-29 | 中控技术股份有限公司 | 一种组态更新方法、装置、设备及介质 |
CN117421106A (zh) * | 2023-12-11 | 2024-01-19 | 湖南行必达网联科技有限公司 | 一种嵌入式软件的任务调度方法、系统及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101529383A (zh) * | 2006-08-24 | 2009-09-09 | 内特可力亚斯系统股份有限公司 | 任务处理装置 |
CN103324525A (zh) * | 2013-07-03 | 2013-09-25 | 东南大学 | 一种云计算环境下的任务调度方法 |
CN106354557A (zh) * | 2016-08-29 | 2017-01-25 | 佛山市美的清湖净水设备有限公司 | 基于时间片任务调度系统的家电及其控制方法、控制器 |
CN107273141A (zh) * | 2017-07-10 | 2017-10-20 | 无锡走向智能科技有限公司 | 嵌入式实时操作系统 |
CN107341040A (zh) * | 2016-04-28 | 2017-11-10 | 北京神州泰岳软件股份有限公司 | 一种虚拟化云平台的数据采集方法和装置 |
WO2018028777A1 (en) * | 2016-08-10 | 2018-02-15 | Rwe International Se | Peer-to-peer communication system and peer-to-peer processing apparatus |
-
2018
- 2018-10-19 CN CN201811220065.1A patent/CN109445939A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101529383A (zh) * | 2006-08-24 | 2009-09-09 | 内特可力亚斯系统股份有限公司 | 任务处理装置 |
CN103324525A (zh) * | 2013-07-03 | 2013-09-25 | 东南大学 | 一种云计算环境下的任务调度方法 |
CN107341040A (zh) * | 2016-04-28 | 2017-11-10 | 北京神州泰岳软件股份有限公司 | 一种虚拟化云平台的数据采集方法和装置 |
WO2018028777A1 (en) * | 2016-08-10 | 2018-02-15 | Rwe International Se | Peer-to-peer communication system and peer-to-peer processing apparatus |
CN106354557A (zh) * | 2016-08-29 | 2017-01-25 | 佛山市美的清湖净水设备有限公司 | 基于时间片任务调度系统的家电及其控制方法、控制器 |
CN107273141A (zh) * | 2017-07-10 | 2017-10-20 | 无锡走向智能科技有限公司 | 嵌入式实时操作系统 |
Non-Patent Citations (1)
Title |
---|
薛纪文: "《C语言程序设计教程》", 28 February 2010 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515719A (zh) * | 2019-08-30 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种任务调度方法及相关装置 |
CN111897637A (zh) * | 2020-07-15 | 2020-11-06 | 重庆紫光华山智安科技有限公司 | 作业调度方法、装置、主机及存储介质 |
CN111897637B (zh) * | 2020-07-15 | 2022-08-19 | 重庆紫光华山智安科技有限公司 | 作业调度方法、装置、主机及存储介质 |
CN112433834A (zh) * | 2020-11-23 | 2021-03-02 | 国家电网有限公司 | 一种基于Linux系统的调度处理方法及装置 |
CN115795961A (zh) * | 2022-11-30 | 2023-03-14 | 中国人民解放军陆军工程大学 | 一种沿网格边界裂纹扩展有限元方法 |
CN115795961B (zh) * | 2022-11-30 | 2023-09-12 | 中国人民解放军陆军工程大学 | 一种沿网格边界裂纹扩展有限元方法 |
CN117311772A (zh) * | 2023-11-30 | 2023-12-29 | 中控技术股份有限公司 | 一种组态更新方法、装置、设备及介质 |
CN117311772B (zh) * | 2023-11-30 | 2024-02-06 | 中控技术股份有限公司 | 一种组态更新方法、装置、设备及介质 |
CN117421106A (zh) * | 2023-12-11 | 2024-01-19 | 湖南行必达网联科技有限公司 | 一种嵌入式软件的任务调度方法、系统及设备 |
CN117421106B (zh) * | 2023-12-11 | 2024-03-08 | 湖南行必达网联科技有限公司 | 一种嵌入式软件的任务调度方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445939A (zh) | 一种基于主动出让机制的软实时调度内核的调度方法 | |
US5257372A (en) | Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system | |
Kalé et al. | Converse: An interoperable framework for parallel programming | |
US5390329A (en) | Responding to service requests using minimal system-side context in a multiprocessor environment | |
CN101751289B (zh) | 一种嵌入式实时操作系统的混合调度方法 | |
JP2829078B2 (ja) | プロセス分散方法 | |
CN101266553B (zh) | 基于嵌入式系统的多任务管理方法 | |
CN105183698B (zh) | 一种基于多核dsp的控制处理系统和方法 | |
CN102043667A (zh) | 一种嵌入式操作系统的任务调度方法 | |
CN102073535B (zh) | 基于硬件计数器虚拟化的多虚拟机性能分析方法 | |
CN104199730B (zh) | 一种基于同步i/o复用机制的单线程多任务处理方法 | |
CN101556545A (zh) | 一种实现进程支持的方法、装置和多线程系统 | |
CN103346902A (zh) | 数据采集调度的方法及系统 | |
US20220365810A1 (en) | Thread signal operating method and system of embedded real time operating system | |
US20030023655A1 (en) | Method and apparatus to facilitate suspending threads in a platform-independent virtual machine | |
CN111124648B (zh) | 多任务执行方法和装置 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
CN109324881A (zh) | 一种前端编程项目的打包方法及电子设备 | |
US20050172287A1 (en) | Bus management techniques | |
CN112181689A (zh) | 一种在云端下进行gpu内核程序高效率调度的运行时系统 | |
CN111443898A (zh) | 基于优先级队列与有限状态机的流程式控制软件设计方法 | |
CN109426556B (zh) | 一种进程调度方法和装置 | |
CN115658278A (zh) | 一种支持高并发协议交互的微任务调度机 | |
CN113419832A (zh) | 一种延迟任务的处理方法、装置及终端 | |
CN109800064B (zh) | 一种处理器和线程处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |