CN104915256B - 一种任务的实时调度实现方法及其系统 - Google Patents
一种任务的实时调度实现方法及其系统 Download PDFInfo
- Publication number
- CN104915256B CN104915256B CN201510302282.5A CN201510302282A CN104915256B CN 104915256 B CN104915256 B CN 104915256B CN 201510302282 A CN201510302282 A CN 201510302282A CN 104915256 B CN104915256 B CN 104915256B
- Authority
- CN
- China
- Prior art keywords
- task
- priority
- waiting
- group
- real
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种任务的实时调度实现方法及其系统。其中,所述方法包括以下步骤:A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及的是一种任务的实时调度实现方法及其系统。
背景技术
随着信息量爆发和电子设备的普及,人们对自动化和智能化的产品,需求依赖随处可见,智能手机,远程医疗,电子支付,生产控制,无人驾驶等。
总的来说,大到结构复杂的航天机器人,小到手机内置的SIM卡,所有智能化的电子设备,依然遵循冯诺依曼体系结构,可供输入输出的外围设备,信息存储空间和核心处理器。把这一切联系起来的核心就是RTOS/OS(实时操作系统/通用操作系统) 。
怀旧的冰箱,洗衣机,彩电等传统家电设备,操作系统功能很弱,设备启动后,按照固定的控制流程,就能完成用户设定任务。随着智能化的需求,当前的电子产品,不仅外观精致体积纤巧,强大的处理功能和细致人性化设计更是现代工业化的典范要求。
智能化必然的要求就是多任务并发处理,实时响应,有效计算和强大的信息吞吐能力。传统简陋的任务调度模式不能满足需求,RTOS以至通用的OS成为电子设备的标准配置。
RTOS适合于多数电子设备,可以并发处理多重任务,并及时响应系统调度和用户输入,缺点是处理能力有限,一般只有有限任务,并对硬件依赖性高,很多高实时系统以来硬件专门处理,并售价高昂不易通用。
对任务处理要求非常复杂的设备比如智能手机,逐步向传统PC功能靠近,依赖于通用OS系统,当前常见的苹果和谷歌系统,都是基于UNIX系统的改进版本。同时电子设备应用的特点,决定了必然有一些任务,对实时响应有较高需求,比如语音通信,手机支付。而通用OS侧重于多任务并行处理能力,并没有考虑传统控制设备的任务实时响应能力,所以不得不采取专用芯片运行RTOS,处理特殊任务,或对一些核心任务,在通用的OS系统上采取实时补定,以满足不同业务需求。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种任务的实时调度实现方法及其系统,旨在解决现有技术中没有考虑传统控制设备的任务实时响应能力,需要采取专用芯片运行RTOS来处理特殊任务或者在通用的OS系统上采取实时补定,以满足不同业务需求。
本发明的技术方案如下:
一种任务的实时调度实现方法,其中,所述方法包括以下步骤:
A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
所述任务的实时调度实现方法,其中,所述步骤A具体包括:
A1、当检测到系统线程创建新任务时,则执行该新任务;
A2、根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
所述任务的实时调度实现方法,其中,所述方法还包括:
C、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
所述任务的实时调度实现方法,其中,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。
所述任务的实时调度实现方法,其中,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
一种任务的实时调度实现系统,其中,所述系统包括:
任务检测模块,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
任务切换模块、用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
所述任务的实时调度实现系统,其中,所述任务检测模块具体包括:
新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务;
优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
所述任务的实时调度实现系统,其中,所述系统还包括:
任务切断模块、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
所述任务的实时调度实现系统,其中,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。
所述任务的实时调度实现系统,其中,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
有益效果:本发明提供的一种任务的实时调度实现方法及其系统。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
附图说明
图1为本发明具体实施例的任务的实时调度实现方法的方法流程图。
图2为本发明具体实施例的任务的实时调度实现系统的结构框图。
具体实施方式
本发明提供一种任务的实时调度实现方法及其系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明具体实施例的一种任务的实时调度实现方法的方法流程图。如图1所示,所述任务的实时调度实现方法包括以下步骤:
S1、当检测到系统线程创建新任务时,则执行该新任务。
S10、判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
S2、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
具体的,所述步骤A具体包括:当检测到系统线程创建新任务时,则执行该新任务。然后,根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
更具体的,所述方法还包括:
S3、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令。
当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。较佳的是,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。具体的,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
下面具体陈述本发明所述任务的实时调度实现方法的具体实施算法。为陈述方便,采用以下术语:实时操作系统Real Time Operating System(RTOS)。UNIX表示UNIX操作系统;CPU表示中央处理器。
首先,考虑需要实时处理的系统任务一般在有限的范围内。因此在此以一个通用的存储单元(一个字节)作为任务管理单元。(即可以处理最大256个实时任务调度)。然后,选取其中64个任务。(选择所述的任务数量是由于:一个字节占8个2进制位元,足够容纳最大64个任务,并且是本算法需要对任务的最大数值采用数组,快速取值,任务过多,不适合使用数组的简便算法。)
所述实时任务调度的目标在于:快速的寻找最高优先级的任务。
因此,我们给可调度任务从0到63进行编号(编号代表任务的优先级,其中0代表最高优先级,63代表最低优先级)。其中,当可调度队列中有高优先级任务等待时,不能选择低优先级别的任务到CPU运行。
将可调度运行的等待任务分为8组。每组拥有最大8个可执行任务,每个组(任务)是否存在等待调度并使用一个bit位表示。亦即,使用一个8位元的BYTE就可以容纳上述组(或任务)。
使用Byte waiting_schedule_group来表示可调度的组,对应的bit位存在时(数值1),对应该优先级的组即在等待队列。
使用Byte waiting_schedule_task[8]表示8个组内可调度的任务,当每个组对应的bit存在时,该组内对应该优先级的任务在等待队列中。
若8个组(或同一组内的8个任务)都存在时,最大的可用组或组内任务(用waiting_schedule_group或waiting_schedule_task[i]表示)的数值为256。为了快速确定其中存在的最高优先级组(或任务),可以使用数组Byte priority_quick_lock[256]进行定位。
当waiting_schedule_group=0x110110时:
priority_quick_lock[0x11011000]的数值为4,则第4个组为等待调度的最高优先任务组。
由此,在组内任务选取时,同样可以使用priority_quick_lock[256]数组。
上述方法使用BYTE做为寻址单位,能够对当前的嵌入设备具有较好的普适性。因为,市场一般的CPU寻址都为BYTE的整数倍,CPU的运算能力也为BYTE的整数倍。亦即,机器指令允许的直接寻址,可以在一个时钟周期内完成,从而达到最快的任务调度时间。
对于一般常见的电子设备而言,上述64个任务的快速切换的具体实施例已经能够满足所有需求。
任务调度方法具体实现流程如下:
首先、通过预先安排代码生成的进程,和通过用户交互产生的进程,根据任务目的赋予优先级。并进入等待调度的任务队列,等候系统根据任务优先,进行调度。(即使没有系统调用发生,任务也必然有被快速调用的时间点。每个系统都有至少一个时钟中断,嵌入系统称其为系统心跳,根据实时需求和系统能力,设置一个时钟中断节拍。常见计算机OS把这个值设为每秒100次。)
然后,使用嵌入系统普遍普适的BYTE单位,管理任务。这样可以保证所有的存储访问,在一个指令周期内完成。64个任务分8组,每组8个任务,组和每组内任务按照0…7编写优先级,对应每个组使用一个bit位元,表示对应的组是否有任务在等待被调度执行。Bytewaiting_schedule_group,刚好容纳8个组大小。
同样的,对每个组内的8个任务,按照0…7编写优先级,也使用一个BYTE容纳,对应bit位指示该组内的对应任务是否在等待调度。Byte waiting_schedule_task[MAX_GROUP],这里特别设计使用8个组, MAX_GROUP为8。目的是和组内任务共用优选数组。
当多个组存在任务,或每个组内存在多个任务等待调度时,需要快速选出其中的最高优先任务组和组中的最高优先任务。亦即,使用可以在一个机器指令周期访问的数组Byte priority_quick_lock[256]快速定位(priority_quick_lock[256]={ #, 0, 1, 0,2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0,1,0,5, 0,… }。
当系统调用或中断任务返回时,可以根据局部策略,确定是否需要任务调度,如果需要,根据当前可用的任务组,选取最高优先任务,和当前任务比较,是否进行任务切换。
即:
Byte sel_group= priority_quick_lock[waiting_schedule_group];
Byte sel_group_task= priority_quick_lock[sel_group];
被选中的任务: Byte sel_task=sel_group<<4 | sel_group_task。
进一步的,若考虑到一些小电子设备,如数据采集,远程控制,多功能时钟等,其需要的并发实时任务更少。则可以控制16个任务集合调度,仅使用四个分组,每组4个任务,每个任务占一个bit位。从而最大可调度的组(或组内任务)数值是16,数组会减小到Bytepriority_quick_lock[16],能够指数级别的减小占用的存储空间。每个组(或组内任务)最大值为4,使用4个bit位可表示所有组(或组内任务)是否存在。可以使用比较小的优先选择数组Byte priority_quick_lock[16]快速定位。这种系统较佳的可以设计4为寻址,节省出一半硬件资源。
相对的,对于复杂的电子设备而言,其任务位元则需要增加。若采用此类任务调度算法,会带来优先等待数组指数级别的膨胀。例如,256个任务,使用4个bit位元分组,每组16个任务时,占用的存储空间为task_waiting[16][65536]。虽然16位寻址空间的系统可以快速寻找65536空间内的访问,但需要考虑到相关的数据控制块带来的存储开销增长的问题。
因此,较佳的是,在超过64个任务的系统中,采用任务选取时间牺牲的办法,来减小内存指数级膨胀的负面影响。例如,256个任务,分16组,每组16个任务,每个级别的任务(或组)占用一个bit位元(使用WORD类型来表示)。优先组/任务选取算法则使用移位的算法,牺牲几个机器时钟周期为代价来避免存储空间的开销。
由于快速定位的优选数组,随着任务bit位的扩展,呈现指数2次平方的级别扩张,256个任务,4bit位表示任务组(或组内任务, 需要的优选数组为Byte priority_quick_lock[65536],显然对应于这样的任务系统,是不现实的.这时候,可以牺牲几个时钟周期为代价,用占多个计算周期的逻辑运算定位优先任务,避免使用优先数组。
比如对应256个任务,使用4bit组,每组4个bit,最大16个组(或组内任务),每个组如果等待运行,占用一个bit位表示,这样一个16bit的WORD类型就可以容纳。
WORD waiting_schedule_group;
WORD waiting_schedule_task[16];
使用算术右移位,寻找不为零的最底位,即是存在的最高优先组(或组内任务).算术移位算法根据机器指令集不同,可能占用时钟周期有差别,但比直接寻址指令,一定会多几个时钟周期。
以下具体陈述较为复杂的操作系统的具体处理方法:
将复杂的操作系统运行状态分为“用户态”和“内核态”。其中,进程任务在用户态运行,通过系统提供的接口,访问外围连接的硬件设备,高效共享系统资源,完成并行任务间的通信和协作。内核态则管理系统硬件资源,调度维护用户进程运行。较佳的,最核心的内核线程可以只负责任务调度和内存管理。
然后,用户态进程通过系统调用进入内核态运行,系统也可以通过硬件事件中断,迫使用户进程进入内核态.完成系统请求后退出。此时由内核态线程进行任务调度,选取合适的优先进程运行,并把以前的运行进程挂起。用户进程一般均具有一定的生命周期,在完成任务后,释放资源退出系统,并由系统清理其在核心态的占用资源。例如:中断队列注册表,IO端口分配等。
如图2中所示,不同嵌入设备维护的进程方式有差异,可以通过不同输入终端,由用户或特殊事件启动,也可以由系统内预先安排的代码,构造若干用户进程.完成有固定目的的预期任务。
一般来说,不同系统对实时性的要求有差别,比如多用户登陆的服务器,只要按照时间片公平轮转的算法调度,共享时间片在秒级单位内(计算能力强劲的服务器都以微秒或纳米调度),用户感觉不到在共享使用。而对于局间交换器,通信节点,需要严密的时钟精度同步,并保证低丢包率,实时要求非常高,通常使用专门优化的RTOS。上述方法,依据机器码特点,在不依赖特殊硬件下,能够尽可能的提高所述实时任务调度的通用性。
而对于日趋复杂的嵌入设备,比如智能手机,由于功能需求不断增加,普遍采用两个以上的处理器架构,一片专用处理器运行RTOS,处理无线通信部分,一片通用处理器,运行用户各种应用,其上选用复杂的通用操作系统。基于实时语音通信的需求,通用处理器也需要对一些应用进行实时处理。
因此,可以在通用OS的调度算法中,把需要实时性处理的任务,划分到特殊队列,对该队列做优先调度并应用上述的调度算法。
本发明还提供一种任务的实时调度实现系统。如图2所示,所述系统包括:
任务检测模块100,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
任务切换模块200,用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行。
所述任务检测模块具体包括:新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务以及优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
更具体的,所述系统还包括:
任务切断模块300、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级。
较佳的是,所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级。具体的,所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级。
综上所述,本发明提供的一种任务的实时调度实现方法及其系统。通过上述方法,可以在RTOS中作为任务调度的实时策略,在不依赖特殊硬件的情况下,提高多任务响应能力。也可以作为通用OS的实时补定,对系统中一群实时要求高的任务组,时间及时响应。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种任务的实时调度实现方法,其特征在于,所述方法包括以下步骤:
A、当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
B、当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行;
所述步骤A具体包括:
A1、当检测到系统线程创建新任务时,则执行该新任务;
A2、根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
还包括:
C、当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
所述任务的实时调度实现方法具体如下:
通过预先安排代码生成的进程,和通过用户交互产生的进程,根据任务目的赋予优先级;
进入等待调度的任务队列,等候系统根据任务优先,进行调度,每个系统都有至少一个时钟中断,嵌入系统称其为系统心跳,根据实时需求和系统能力,设置一个时钟中断节拍;
所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级;
所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级;
调度任务从0到63进行编号,编号表示优先级,0表示最高优先级,63表示最低优先级,当可调度队列中有高优先级任务等待时,不能选择低优先级别的任务到CPU运行;
使用一个bit位表示每个组或任务是否存在等待调度,使用一个8位元的BYTE容纳所有组或任务;
使用Byte waiting_schedule_group来表示可调度的组,对应的bit位存在时,对应该优先级的组即在等待队列;
使用Byte waiting_schedule_task[8]表示8个组内可调度的任务,当每个组对应的bit存在时,该组内对应该优先级的任务在等待队列中;
使用数组Byte priority_quick_lock[256]进行定位,若8个组或同一组内的8个任务都存在时,最大的可用组或组内任务的数值为256。
2.一种任务的实时调度实现系统,其特征在于,所述系统包括:
任务检测模块,用于当检测到系统线程创建新任务时,则执行该新任务,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
任务切换模块、用于当大于时,则将该新任务切换至等待调度队列,并将等待调度队列中执行优先级最高的任务调入CPU运行;
所述任务检测模块具体包括:
新任务执行单元、用于当检测到系统线程创建新任务时,则执行该新任务;
优先级判断单元、用于根据预先设置的优先级快速定位数组获取等待调度队列中多个任务中执行优先级最高的任务的优先级,并判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
所述系统还包括:
任务切断模块、用于当小于时,则将该新任务进行系统调用或中断切入操作系统中,并实时检测是否有任务切换指令,当有时则判断等待调度队列中执行优先级最高的任务的优先级是否大于该新任务的优先级;
所述任务的实时调度实现系统具体如下:
通过预先安排代码生成的进程,和通过用户交互产生的进程,根据任务目的赋予优先级;
进入等待调度的任务队列,等候系统根据任务优先,进行调度,每个系统都有至少一个时钟中断,嵌入系统称其为系统心跳,根据实时需求和系统能力,设置一个时钟中断节拍;
所述等待调度队列中存放有0-8个待执行任务组,每一待执行任务组都设置有互不相同的执行优先级;
所述待执行任务组可容纳0-8个待执行任务,每一待执行任务都设置有互不相同的执行优先级;
调度任务从0到63进行编号,编号表示优先级,0表示最高优先级,63表示最低优先级,当可调度队列中有高优先级任务等待时,不能选择低优先级别的任务到CPU运行;
使用一个bit位表示每个组或任务是否存在等待调度,使用一个8位元的BYTE容纳所有组或任务;
使用Byte waiting_schedule_group来表示可调度的组,对应的bit位存在时,对应该优先级的组即在等待队列;
使用Byte waiting_schedule_task[8]表示8个组内可调度的任务,当每个组对应的bit存在时,该组内对应该优先级的任务在等待队列中;
使用数组Byte priority_quick_lock[256]进行定位,若8个组或同一组内的8个任务都存在时,最大的可用组或组内任务的数值为256。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510302282.5A CN104915256B (zh) | 2015-06-05 | 2015-06-05 | 一种任务的实时调度实现方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510302282.5A CN104915256B (zh) | 2015-06-05 | 2015-06-05 | 一种任务的实时调度实现方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915256A CN104915256A (zh) | 2015-09-16 |
CN104915256B true CN104915256B (zh) | 2019-03-26 |
Family
ID=54084337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510302282.5A Active CN104915256B (zh) | 2015-06-05 | 2015-06-05 | 一种任务的实时调度实现方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915256B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391649B (zh) * | 2015-10-16 | 2018-09-04 | 浪潮(北京)电子信息产业有限公司 | 一种队列调度方法及装置 |
CN106940671B (zh) * | 2016-01-05 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
JP6406466B1 (ja) * | 2017-04-07 | 2018-10-17 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
CN107370639A (zh) * | 2017-08-14 | 2017-11-21 | 苏州众天力信息科技有限公司 | 一种基于梯形时间算法的网关多场景控制方法 |
CN108196883A (zh) * | 2018-02-06 | 2018-06-22 | 江苏华存电子科技有限公司 | 一种智能指令调度器 |
CN109445942B (zh) * | 2018-10-22 | 2021-09-17 | 郑州云海信息技术有限公司 | 一种心跳消息的处理方法及装置 |
CN109871272A (zh) * | 2019-01-31 | 2019-06-11 | 深圳市战音科技有限公司 | 一种电子系统运行控制方法和装置 |
CN110750350B (zh) * | 2019-10-29 | 2022-08-16 | 广东浪潮大数据研究有限公司 | 一种大资源调度方法、系统、装置及可读存储介质 |
CN112925616A (zh) * | 2019-12-06 | 2021-06-08 | Oppo广东移动通信有限公司 | 任务分配方法、装置、存储介质及电子设备 |
CN113626159A (zh) * | 2020-05-09 | 2021-11-09 | 比特大陆科技有限公司 | 切换任务的方法、装置和系统 |
WO2021232285A1 (zh) * | 2020-05-20 | 2021-11-25 | 深圳元戎启行科技有限公司 | 管理车辆控制器的方法及控制设备、远程控制车辆的方法 |
CN111767138A (zh) * | 2020-06-09 | 2020-10-13 | Oppo广东移动通信有限公司 | 资源分配方法、存储介质和电子设备 |
CN112181661B (zh) * | 2020-10-13 | 2023-10-24 | 极道科技(北京)有限公司 | 一种任务调度方法 |
CN112395064A (zh) * | 2020-11-18 | 2021-02-23 | 中国联合网络通信集团有限公司 | 一种线程调度方法及装置 |
CN113377517B (zh) * | 2021-06-28 | 2023-02-28 | 上海鲲宜软件技术有限公司 | 基于实时操作系统的线程调度方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3964821B2 (ja) * | 2003-04-21 | 2007-08-22 | 株式会社東芝 | プロセッサ、キャッシュシステム及びキャッシュメモリ |
CN101290588B (zh) * | 2008-03-07 | 2010-06-16 | 重庆邮电大学 | 一种微嵌入式实时任务调度器及调度方法 |
US20090307035A1 (en) * | 2008-06-04 | 2009-12-10 | Microsoft Corporation | Resolution of resource over-allocations in project plans |
WO2011053891A2 (en) * | 2009-10-31 | 2011-05-05 | Rutgers, The State University Of New Jersey | Virtual flow pipelining processing architecture |
KR101658035B1 (ko) * | 2010-03-12 | 2016-10-04 | 삼성전자주식회사 | 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법 |
CN102043667A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式操作系统的任务调度方法 |
CN102915254B (zh) * | 2011-08-02 | 2018-04-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN103377078B (zh) * | 2012-04-11 | 2017-04-12 | 广州地铁集团有限公司 | 车载atp实时任务调度方法及其任务调度系统 |
KR20140009733A (ko) * | 2012-07-12 | 2014-01-23 | 삼성테크윈 주식회사 | Rfid 태스크 스케줄링 장치 및 태스크 스케줄링 방법 |
CN104346215A (zh) * | 2013-08-07 | 2015-02-11 | 中兴通讯股份有限公司 | 一种任务调度服务系统及方法 |
CN103412755A (zh) * | 2013-08-16 | 2013-11-27 | 深圳东原电子有限公司 | 一种硬件实时操作系统 |
-
2015
- 2015-06-05 CN CN201510302282.5A patent/CN104915256B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104915256A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915256B (zh) | 一种任务的实时调度实现方法及其系统 | |
CN112465129B (zh) | 片内异构人工智能处理器 | |
KR101258502B1 (ko) | 멀티코어 아키텍처 내의 리소스 관리 | |
US8006247B2 (en) | Multi-tasking real-time operating system for microprocessors with limited memory | |
CN103294544B (zh) | 嵌入式系统及其中断处理方法与装置 | |
CN101751289B (zh) | 一种嵌入式实时操作系统的混合调度方法 | |
CN101529383B (zh) | 任务处理装置 | |
US8341641B2 (en) | Task processor | |
WO2005072444A3 (en) | Intelligent memory device | |
CN102325255A (zh) | 一种多核心cpu视频转码调度方法及系统 | |
CN101968749B (zh) | 虚拟机过度分配环境下的mpi消息接收方法 | |
CN109992366A (zh) | 任务调度方法及调度装置 | |
CN100440153C (zh) | 处理器 | |
CN102436393A (zh) | 任务处理装置 | |
CN110955503B (zh) | 任务调度方法及装置 | |
CN109889406A (zh) | 用于管理网络连接的方法、装置、设备和存储介质 | |
CN103309734A (zh) | 基于优先级分组的嵌入式任务调度方法 | |
CN112860396A (zh) | 一种基于分布式深度学习的gpu调度方法及系统 | |
CN103645941A (zh) | 一种新型无线传感器网络操作系统 | |
CN115658278A (zh) | 一种支持高并发协议交互的微任务调度机 | |
CN102467410B (zh) | 一种通用流程调度引擎的控制方法、装置及终端 | |
CN104678875B (zh) | 一种变频器配置方法及变频器配置系统 | |
CN109240815B (zh) | 一种共享堆栈的多任务运行方法、装置及设备 | |
WO2007033203A2 (en) | Multi-threaded processor architecture | |
CN115237475B (zh) | 一种Forth多核堆栈处理器及指令集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |