CN1920781A - 任务执行装置及方法 - Google Patents
任务执行装置及方法 Download PDFInfo
- Publication number
- CN1920781A CN1920781A CNA2006101212968A CN200610121296A CN1920781A CN 1920781 A CN1920781 A CN 1920781A CN A2006101212968 A CNA2006101212968 A CN A2006101212968A CN 200610121296 A CN200610121296 A CN 200610121296A CN 1920781 A CN1920781 A CN 1920781A
- Authority
- CN
- China
- Prior art keywords
- task
- mentioned
- time
- distribution
- tasks
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012937 correction Methods 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 23
- 238000007726 management method Methods 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 102100037060 Forkhead box protein D3 Human genes 0.000 description 1
- 101001029308 Homo sapiens Forkhead box protein D3 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/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
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
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)
- Computer And Data Communications (AREA)
Abstract
一种用于一边切换一边分时执行多个任务的程序执行方法,对上述多个任务的每个分配了分配时间;上述多个任务包括多个第1类型的任务、和单个的第2类型的任务;包括:在上述多个任务中,按照预先设定的顺序选择任务的步骤;在所选择的任务是第2类型的任务的情况下,对上述第2类型的任务修正所分配的分配时间,以便在多个任务的分配时间的合计时间即周期时间内完成上述多个任务的执行的步骤;执行所选择的任务以便该任务的执行在分配时间内完成的步骤。
Description
技术领域
本发明涉及对由中央处理器(CPU)执行的任务分配执行时间的任务执行装置、即操作系统(OS)。
背景技术
OS的主要功能是“硬件管理”、“任务管理”、“数据管理”及“输入输出管理”。其中“任务管理”管理任务的执行顺序,是用于使CPU、存储器及输入输出装置等高效地工作的重要的功能。这里,所谓的“任务”,是分批管理程序的启动、执行及完成等一系列流程的控制单位。在OS的管理下工作的程序被作为任务处理。关于程序的执行的OS的操作都以任务为单位进行。
作为决定任务的执行顺序的算法的一种,已知有分时调度法。分时调度法是分配在各任务中的执行时间、所分配的时间的期间被赋予了具有CPU的执行权的任务.如果经过了分配给该任务的时间,则将执行权转移到其他任务的任务的调度方法。由此,对所有的任务以平等且已决定的时间分配执行权。
分配时间的决定方法有根据任务的特性固定给予的方法、及配合任务的执行状况动态决定的方法,例如已知有根据优先级调整执行权的分配时间的方法等(例如参照日本特开2005-18560号公报)。
但是,以往的OS在任务需要等待事件时使任务转移到等待状态的情况下,将执行权转移给下一个任务,或者,在转移到等待状态的任务的分配时间被消耗为止不执行任何处理。此外,在作为任务需要保证处理性能的任务、和事件驱动处理等那样非同步地发生处理的任务混杂在一起的执行环境下,必须一边保持整体处理的周期一边分配处理性能的同时执行非同步处理。因此,通过总是调整分配时间来执行,有产生开销、处理性能下降的问题。
发明内容
本发明是为了解决上述问题而做出的,目的是提供一种能够在保证一定的处理性能的同时减轻与任务的执行时间的分配调整有关的负担的任务执行装置及方法。
为了达到上述目的,有关本发明的任务执行装置,是一种用于一边切换一边分时执行多个任务的任务执行装置,对上述多个任务的每个分配了分配时间;上述多个任务包括多个第1类型的任务、和单个的第2类型的任务;该任务执行装置具备:周期时间存储单元,存储上述多个任务的分配时间的合计时间即周期时间;任务选择单元,在上述多个任务中,按照预先设定的顺序选择任务;修正单元,在所选择的任务是第2类型的任务的情况下,对上述第2类型的任务修正所分配的分配时间,以便在上述周期时间内完成上述多个任务的执行;任务执行控制单元,执行所选择的任务,以使该任务的执行在所分配的或所修正的上述分配时间内完成。
根据该结构,将由处理器执行的任务分割为第1类型的任务和第2类型的任务,仅对第2类型的任务进行分配时间的修正,以使在周期时间内执行多个任务。因此,能够提供在保证一定的处理性能的同时能够减轻与任务的执行时间的分配调整有关的负担的任务调度装置。另外,在第1类型的任务全部转移到等待状态的情况下,可以不进行第2类型的任务的分配时间的修正。
优选地,对上述第2类型的任务来说,所分配的分配时间包括在该任务的执行时必须最低限度地执行的时间即第1分配时间、和在该第1分配时间上加上预先设定的富余时间后的第2分配时间这2种时间;上述修正单元具有:总消耗时间计算部,计算由上述多个第1类型的任务的执行消耗的总消耗时间;及分配时间修正部,从上述富余时间中减去上述总消耗时间与上述多个第1类型的任务的总分配时间的差并将相减的结果加到上述第1分配时间上,从而对分配给上述第2类型的分配时间进行修正。更具体地讲,上述分配时间修正部在上述总消耗时间与上述总分配时间的差比上述富余时间大的情况下,在将每执行一次上述多个任务的区间作为1周期的情况下,在不超过上述周期时间的范围内,将从上述总消耗时间与上述总分配时间的差中减去了上述富余时间后的时间加到下个周期以后的上述第2类型的任务的第1分配时间上,由此修正分配给上述第2类型的分配时间。
通过采用这样的构成,对于第2类型的任务能够可靠地确保第1分配时间来执行任务。
更优选为,上述任务执行装置还具备供电减少单元,该供电减少单元在上述第2类型的任务转移到等待状态的情况下,在该任务的分配时间的期间减少向执行该任务的处理器的供电。此外,上述任务执行装置还具备供电停止单元,在上述多个任务全部转移到等待状态的情况下,停止向执行该任务的处理器的供电。
通过检测任务的执行状况、使对处理器的电力的供给状态变换,能够降低任务执行所需的耗电量。
另外,本发明不仅能够作为具备这样的特征单元的任务执行装置实现,也可以作为将包含在任务执行装置中的特征单元为步骤的任务执行方法来实现,或者作为使计算机具有包含在任务执行装置中的特征单元的功能的OS来实现。并且,这样的OS当然可以通过CD-ROM(Compact Disc-Read Only Memory)等记录媒体或因特网等通信网络流通。
根据本发明,能够提供能够在保证一定的处理性能的同时减轻与任务的执行时间的分配调整有关的负担的任务执行装置及方法。
2005年8月24日提出的日本发明申请号2005-243417号公开包括说明书、附图、和权利要求书,通过引用其全部内容与本发明结合为一体。
通过下面结合附图对本发明的实施方式的说明,对于本发明的以上及其他目的、优点、特征就会更加清楚。
附图说明
图1是表示本发明的实施方式的进行时隙切换的程序执行装置的主要部分的结构的框图。
图2是表示时隙存储部内的时隙信息和任务存储部内的任务管理模块的具体例的图。
图3是用于说明时隙切换部及任务选择部的任务切换的状况的图。
图4是任务调度部的调度处理的流程图。
图5是通过任务调度部对向事件从动(driven)型任务的时隙的分配时间进行计算的处理的流程图。
图6是通过任务调度部对向事件从动型任务的时隙的分配时间进行计算的处理的流程图。
具体实施方式
(整体结构)
图1是表示本发明的实施方式的进行时隙切换的程序执行装置的主要部分的结构的框图。该图示意地表示在处理器中运行进行任务切换的软件作为OS的一部分功能来实现的功能。处理器的硬件结构是一般的结构即可。
该程序执行装置构成为,在1个处理器内处理各自具有分配时间的指定的多个任务,在确保各任务的所需性能的同时执行。
如该图所示,程序执行装置包括任务调度部10、程序存储部20、定时控制部30、以及执行控制部40。
任务调度部10对各个具有分配时间的指定的任务分配1个时隙,在预先设定的周期内进行至少选择1次各任务的分时调度。这里,所谓的“时隙”是指将在处理器中的执行程序的时间在预先设定的周期T内按每个分配时间划分的时间。
程序存储部20存储成为任务调度部10的调度对象的任务主体即程序和有关程序的信息。
定时控制部30每当从任务调度部10设定分配时间时开始时间的计数,在达到该分配时间时输出超时信号。该超时信号为了通知时隙的切换定时而通知给任务调度部10。
执行控制部40执行由任务调度部10选择的任务。执行控制部40相当于执行任务的CPU等硬件。
(任务调度部10的结构)
任务调度部10包括任务受理部11、时隙存储部12、任务存储部13、时隙切换部14及任务选择部15。
<1.任务受理部11>
任务受理部11按照用户操作或来自用户程序等的指示受理任务的追加请求,从程序存储部20读出“任务信息”及“分配时间”作为有关该任务的信息。此外,任务受理部11根据任务信息及分配时间生成时隙信息100(110)及任务管理模块200(210),对时隙存储部12及任务存储部13分别进行设定,以便该任务成为调度的对象。
这里,“任务信息”包括“程序开始地址”和“堆栈指针”。所谓的“程序开始地址”是写入了任务的起始的地址。所谓的“堆栈指针”是表示在发生了任务的切换时暂时保存任务的状态的存储部位的位置信息。
任务在任务调度部10中与时隙一对一对应地被分配给时隙,在该时隙的分配时间的期间被可靠地执行。
任务按照执行特性而分类为2个类别(类别A及类别B)。
将需要固定的处理性能的任务作为“类别A”。应该将称作所谓的时间从动型的任务作为类别A。例如,优选为将动画数据的解码/编码处理、声音数据的解码/编码处理等持续需要一定的处理性能的任务作为类别A。
另一方面,将不需要固定的处理性能的任务作为“类别B”。应该将称作所谓的事件从动型的任务作为类别B。例如,优选为将以用户操作为事件进行由文字及静止图像构成的菜单显示的处理等、不需要持续一定的处理性能的不定期地随时发生的任务作为类别B。
“分配时间”是指定与任务对应的时隙的分配时间的值。该分配时间假设是由程序指定的。
另外,在一周期内执行的任务的分配时间的合计作为周期T保存在周期寄存器16中。
<2.时隙存储部12>
时隙存储部12存储用于生成成为任务的切换基准的时隙的时隙信息。
图2是表示时隙存储部12内的时隙信息和任务存储部13内的任务管理模块的具体例的图。如该图所示,时隙存储部12存储有多个时隙信息100、110、……120、130。假设时隙信息100~120表示分配了类别A的任务的时隙。此外,假设剩下的1个时隙信息130表示分配了类别B的任务的时隙。
时隙信息100对应于1个时隙,包括分配时间100a、执行标志100b及指针100c。其他时隙信息也同样。
分配时间100a表示对应于时隙的任务能够执行的时间。如果实际执行任务的时间达到了分配时间,则执行对应于下一个时隙的任务。与类别A的任务对应的分配时间100a~120a与时隙信息100~120的生成同时分别设定在定时控制部30。与类别B的多个任务对应的分配时间130a是从保持在周期寄存器16中的一周期的时间T减去其他时隙的分配时间100a~120a的合计时间后的剩余时间。该剩余时间是随着任务调度变化的值。另外,分配时间130a的计算方法只是一例,对于其他计算方法在后面详细叙述。
“执行标志”表示该时隙是有效的还是无效的。执行标志在时隙信息的生成时设定为有效,在任务执行中访问目的地的资源为锁定状态、任务成为等待状态时设定为无效,然后在该任务从等待状态回到可执行状态时设定为有效。在执行标志表示无效的情况下,由时隙切换部14将时隙信息看作不存在。
“指针”表示对应于该时隙的任务管理模块。这些时隙信息100、110、……、120、130构成排列,假设该顺序表示时隙的生成顺序。
<3.任务存储部13>
任务存储部13存储与分配给时隙的任务对应的任务管理模块200、210、……、220、230。任务管理模块200、210、……、220、230分别与1个任务对应,是用于管理该任务的信息。
任务管理模块200由任务信息200a构成。任务信息200a包括程序开始地址(或者应再开始执行程序的地址)以及堆栈指针。在任务管理模块200的生成时,任务信息200a是由任务受理部11输入的任务信息本身。在任务切换时,任务信息200a表示中断的任务的执行地址以及该时刻的堆栈指针的值。
<4.时隙切换部14>
时隙切换部14在当前的时隙中任务的执行时间达到了分配时间时进行时隙的切换。是否到达了分配时间通过定时控制部30的超时信号通知。接收到通知的时隙切换部14选择下一个时隙信息。
在本实施方式中,假设接下来选择的时隙信息按照该排列顺序。即设为按照时隙信息100、110、……120、130的顺序选择时隙信息,在选择了最后的时隙信息130后,再次选择最初的时隙信息100。
时隙切换部14从所选择的时隙信息中取得分配时间设定在定时控制部30。由此开始下一个时隙的分配时间的计数。
<5.任务选择部15>
任务选择部15在时隙切换部14的时隙切换时或有来自执行中的程序的指示时,将当前执行中的任务的执行地址以及堆栈指针等作为任务信息保存在该任务的任务管理模块中,从接下来应执行的任务的任务管理模块中提取任务信息,输出给执行控制部40。与此同时,任务选择部15还进行执行中的任务的前后关系(寄存器数据等)的保存、接着应执行的任务的前后关系的复原。由此,接下来应执行的任务成为执行状态。
图3是用于说明时隙切换部14及任务选择部15的任务切换的状况的图。
在该图中,周期T表示保持在周期寄存器16中的周期。t1~tn是分别与对应于类别A的n个任务的、n个时隙信息100、110、……、120对应的时隙,其长度(t1~tn)分别表示n个任务的分配时间。此外,t0是与对应于类别B的任务的时隙信息130对应的时隙,其长度(t0)表示该任务的分配时间。
S表示由时隙切换部14及任务选择部15进行任务切换的调度处理。
如该图所示,在时隙t1的开始时的调度处理S中,选择、执行与时隙信息100对应的类别A的任务A1。对于时隙t2~tn也同样执行类别A的任务。此外,在最后的时隙t0的调度处理S中,选择、执行类别B的任务B。这样,所有的任务在1个周期T的期间一定被执行1次。此外,类别B的任务B在1个周期T的期间仅执行1次。
(处理的详细情况)
下面对本实施方式的程序执行装置执行的调度处理进行说明。
<1.调度处理>
根据图4的流程图说明调度处理。如果经过了定时控制部30设定的时间,将超时信号发送给时隙切换部14,开始调度处理。首先,将当前正在执行的任务的状态保存到任务信息中(S301)。接着,时隙切换部14进行时隙的选择处理(S302)。即,将时隙信息的排列的当前所选择的要素的下一个要素作为接下来选择的时隙信息。在没有下一个要素的情况下选择时隙信息排列的起始的要素。即,时隙切换部14从时隙t1的时隙信息100到时隙t0的时隙信息130依次进行选择,然后,再次从时隙t1的时隙信息100开始依次进行选择。
根据接下来选择的时隙是否是时隙t0,分配时间的处理、时隙上的任务无效或等待状态时的工作不同(S303)。
在选择了时隙t0以外的时隙的情况下(S303中的否),时隙切换部14取出包含在所选择的时隙的时隙信息中的分配时间,输出给定时控制部30(S304)。从该时刻仅经过了分配时间后,由定时控制部30再次发送超时信号。
如果所选择的时隙的时隙信息保持的执行标志为无效(S305中的否),则表示在该时隙中没有执行的任务或任务是等待状态。因此,时隙切换部14切换为下一个时隙并进行同样的处理直到找到有效的时隙。
如果有有效的时隙(S305中的是),则任务选择部15恢复对应于该时隙的中断的任务的状态,执行控制部40再次开始执行(S306)。
在时隙切换部14选择时隙t0的情况下(S303中的是),时隙切换部14首先计算时隙t0的分配时间(S307)。由于该处理涉及多项,所以对于其详细情况在后面叙述。时隙切换部14将由该处理计算出的分配时间输出给定时控制部30(S308)。
如果上述时隙保持的执行标志有效(S309中的是),则与上述时隙t0以外的情况同样,任务选择部15复原与时隙t0对应的中断任务的状态,执行控制部40再次开始该任务的执行(S306)。
如果上述时隙保持的执行标志无效(S309中的否),则时隙切换部14检查时隙t0以外的时隙的执行标志是否全部无效(S310)。如果所有的执行标志无效(S310中的是),则是所有的时隙上没有任务的有效的执行处理的状态,所以任务选择部15使CPU转移到停止状态。从停止状态复原利用中断等外部信号进行。
只要有1个有效的时隙(S310中的否),CPU就工作,但由于在时隙t0的分配时间的期间不需要使CPU工作,所以在该时间的期间使CPU转移到低电力状态。
<2.时隙t0的分配时间计算处理>
接着,根据图5及图6所示的流程图,对计算时隙t0的分配时间的处理(图4的S307)进行说明。该处理有3个变形,分别对其进行说明。
(a)将等待状态的时隙的分配时间分配给时隙t0的情况
如图5所示,对于时隙t1~tn的时隙,计算在过去1周的任务执行中消耗的总时间(总消耗时间)和执行标志为无效的时隙的总分配时间(非执行时间)(S401~S404)。
在总消耗时间比时隙t1~tn的总分配时间大的情况下,考虑是中断等外部原因的影像。因此,从执行标志为无效的时隙的总分配时间即非执行时间减去总消耗时间-总分配时间(S405)。即,将因外部原因超出的时间即总消耗时间-总分配时间,从分配给时隙的任务没有执行的时间(非执行时间)中减去。
在该值上加上时隙t0的分配时间的时间成为时隙t0的计算后的分配时间(S406)。
另外,即使在上述总消耗时间比上述总分配时间小的情况下,通过使用相同的算式,也能够计算时隙t0的分配时间。
(b)设定余量时间、将从分配时间延长的部分从余量时间中减去的情况
如图6所示,假设由任务受理部11预先设定了余量值17,由任务受理部11取得该值(S411)。所谓的余量值17是分配给时隙t0的分配时间的余量时间(富余时间)M。即,在时隙t0的分配时间中,有t0和(t0+M)的2个阶段。
首先,对于时隙t1~tn,计算在过去1周量的执行中消耗的时间的合计(总消耗时间)(S412、S413)。
接着,在总消耗时间比总分配时间多的情况下,从余量时间M中减去总消耗时间-总分配时间(S414)。这里,所谓的总分配时间是指时隙t1~tn的总分配时间。
在相减后的值上加上时隙t0的分配时间的时间成为计算时隙t0之后的分配时间(S415)。
另外,在余量M<(总消耗时间-总分配时间)的情况下,即在由S414求出的值为负的情况下,将余量时间M设为0,并且进行时间调整,以使由下个周期的时隙t0执行(总消耗时间-总分配时间)-余量M。由此,在该周期T中,能够确保执行时隙t0的分配时间t0。
(c)也可以代替余量值由任务受理部11取得周期15、将从周期T(分配时间的合计)中减去总消耗时间后的值作为计算时隙t0后的分配时间。
由以上说明,根据本实施方式的程序执行装置,通过仅计算、设定特定时隙的分配时间,能够不再计算其他时隙的分配时间而确保性能。结果,能够削减状况变化时的分配时间的再设定所需的开销。
此外,通过检测时隙的执行状况而改变CPU状态,能够有助于执行所消耗的耗电量的削减。
另外,在上述实施方式中,对于类别A任务的时隙,说明了对每个任务信息指定1个分配时间作为固定值的情况,但也可以构成为,对所有的时隙保有表示分配时间的最大值及最小值的2个固定值,将对所有的时隙的分配时间的最大值的合计作为周期,根据执行状况,各时隙一边选择哪种分配时间一边工作。
此外,在检测到所有的时隙都选择了最小值的情况下,在短时间内完成了处理。因此,在设定的周期T内完成1周期量的处理的范围内,也可以降低CPU的工作频率来执行任务。结果,能够进一步有助于任务执行所需的消耗电力的削减。另外,使用分配时间的最大值、还是使用最小值,是由执行这些任务的程序决定的。
工业实用性
有关本发明的程序执行装置具有进行保证处理性能的固定的时间分配的同时在与处理性能无关的时间分配中调整整体的分配时间的功能。由此,能够对保证处理性能的处理减轻与分配时间的调整有关的负担,例如,在影像再生处理中,能够不受由来自外部的访问对影像输出施加的噪音或干扰的影响而执行处理。特别是,能够作为实时地进行声音影像处理和非同步的控制处理的设备、以及该设备的开发环境等应用。
Claims (12)
1.一种任务执行装置,其特征在于,
用于一边切换一边分时执行多个任务,
对上述多个任务的每个分配了分配时间,
上述多个任务包括多个第1类型的任务、和单个的第2类型的任务;
上述任务执行装置具备:
周期时间存储单元,存储上述多个任务的分配时间的合计时间即周期时间;
任务选择单元,在上述多个任务中,按照预先设定的顺序选择任务;
修正单元,在所选择的任务是第2类型的任务的情况下,对上述第2类型的任务修正所分配的分配时间,以便在上述周期时间内完成上述多个任务的执行;
任务执行控制单元,执行所选择的任务,以使该任务的执行在所分配或所修正的上述分配时间内完成。
2.如权利要求1所述的任务执行装置,其特征在于,
上述修正单元将上述多个第1类型的任务中的不在执行状态的任务的总分配时间即非执行时间,加到对上述第2类型的任务分配的分配时间上,从而修正该分配时间。
3.如权利要求2所述的任务执行装置,其特征在于,
上述修正单元具有:
总消耗时间计算部,计算由上述多个第1类型的任务的执行消耗的总消耗时间;
非执行时间计算部,计算上述多个第1类型的任务中的不在执行状态的任务的总分配时间即非执行时间;
分配时间修正部,从上述非执行时间中减去上述总消耗时间与上述多个第1类型的任务的总分配时间的差,将相减的结果加到上述第2类型的任务的分配时间上,由此修正分配给上述第2类型的分配时间。
4.如权利要求1所述的任务执行装置,其特征在于,
上述修正单元将上述周期时间与由上述多个第1类型的任务的执行消耗的总消耗时间的差,作为对上述第2类型的任务分配的分配时间。
5.如权利要求1所述的任务执行装置,其特征在于,
对上述第2类型的任务分配的分配时间包括在该任务的执行时必须最低限度地执行的时间即第1分配时间、和在该第1分配时间上加上预先设定的富余时间后的第2分配时间的2种时间;
上述修正单元具有:
总消耗时间计算部,计算由上述多个第1类型的任务的执行消耗的总消耗时间;及
分配时间修正部,从上述富余时间中减去上述总消耗时间与上述多个第1类型的任务的总分配时间的差,将相减的结果加到上述第1分配时间上,从而修正分配给上述第2类型的分配时间。
6.如权利要求5所述的任务执行装置,其特征在于,
上述分配时间修正部在上述总消耗时间与上述总分配时间的差比上述富余时间大的情况下,在设每执行一次上述多个任务的区间为1周期的情况下,在不超过上述周期时间的范围内,将从上述总消耗时间与上述总分配时间的差中减去了上述富余时间的时间,加到下个周期以后的上述第2类型的任务的第1分配时间上,从而修正分配给上述第2类型的分配时间。
7.如权利要求1所述的任务执行装置,其特征在于,
还具备供电减少单元,在上述第2类型的任务转移到等待状态的情况下,在该任务的分配时间的期间减少向执行该任务的处理器的供电。
8.如权利要求1所述的任务执行装置,其特征在于,
还具备供电停止单元,在上述多个任务的全部转移到等待状态的情况下,停止向执行该任务的处理器的供电。
9.如权利要求1所述的任务执行装置,其特征在于,
在对上述多个任务的每个分配的分配时间中设有最大值及最小值;
在上述周期时间存储单元中存储有上述多个任务的分配时间的最大值的合计时间即周期时间;
上述任务执行控制单元进行控制,使上述多个第1类型的任务的每个在分配给该任务的分配时间的最大值或最小值内完成执行。
10.如权利要求9所述的任务执行装置,其特征在于,
上述任务执行控制单元在对上述多个第1类型的任务的全部进行调度以便在该任务的分配时间的最小值内完成执行时,降低执行该任务的处理器的工作频率。
11.一种任务执行方法,其特征在于,
用于一边切换一边分时执行多个任务,
对上述多个任务的每个分配了分配时间;
上述多个任务包括多个第1类型的任务、和单个的第2类型的任务;
该任务执行方法包括:
从上述多个任务中,按照预先设定的顺序选择任务的步骤;
在所选择的任务是第2类型的任务的情况下,对上述第2类型的任务修正所分配的分配时间,以便在上述多个任务的分配时间的合计时间即周期时间内完成上述多个任务的执行的步骤;
执行所选择的任务,以使该任务的执行在所分配或所修正的上述分配时间内完成的步骤。
12.一种操作系统,其特征在于,
用于一边切换一边分时执行多个任务,
对上述多个任务的每个分配了分配时间;
上述多个任务包括多个第1类型的任务、和单个的第2类型的任务;
上述操作系统使计算机执行:
从上述多个任务中,按照预先设定的顺序选择任务的步骤;
在所选择的任务是第2类型的任务的情况下,对上述第2类型的任务修正所分配的分配时间,以便在上述多个任务的分配时间的合计时间即周期时间内完成上述多个任务的执行的步骤;
执行所选择的任务,使该任务的执行在所分配或所修正的上述分配时间内完成的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005243417A JP4580845B2 (ja) | 2005-08-24 | 2005-08-24 | タスク実行装置 |
JP243417/2005 | 2005-08-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1920781A true CN1920781A (zh) | 2007-02-28 |
CN100543682C CN100543682C (zh) | 2009-09-23 |
Family
ID=37778511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101212968A Active CN100543682C (zh) | 2005-08-24 | 2006-08-24 | 任务执行装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8370846B2 (zh) |
JP (1) | JP4580845B2 (zh) |
CN (1) | CN100543682C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102371955A (zh) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | 用于整车控制器的分时任务的实现方法 |
CN102880500A (zh) * | 2011-07-13 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 一种任务树的优化方法和装置 |
CN102883218A (zh) * | 2012-09-21 | 2013-01-16 | 北京君正集成电路股份有限公司 | 一种解码多个视频文件的方法及设备 |
CN104169880A (zh) * | 2012-03-19 | 2014-11-26 | 富士通株式会社 | 检测装置、通知方法、以及通知程序 |
CN107291767A (zh) * | 2016-04-11 | 2017-10-24 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
CN107818407A (zh) * | 2017-10-20 | 2018-03-20 | 平安科技(深圳)有限公司 | 任务分配方法、装置、存储介质和计算机设备 |
CN109815372A (zh) * | 2019-01-24 | 2019-05-28 | 杭州嘉楠耘智信息科技有限公司 | Scrypt算法工作量证明方法及装置 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8141089B2 (en) * | 2007-01-11 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for reducing contention for computer system resources using soft locks |
US8176493B1 (en) | 2007-02-16 | 2012-05-08 | Vmware, Inc. | Detecting and responding to skew between coscheduled contexts |
US8171488B1 (en) * | 2007-02-16 | 2012-05-01 | Vmware, Inc. | Alternating scheduling and descheduling of coscheduled contexts |
US8127301B1 (en) | 2007-02-16 | 2012-02-28 | Vmware, Inc. | Scheduling selected contexts in response to detecting skew between coscheduled contexts |
US8296767B1 (en) | 2007-02-16 | 2012-10-23 | Vmware, Inc. | Defining and measuring skew between coscheduled contexts |
JP2009059310A (ja) * | 2007-09-03 | 2009-03-19 | Panasonic Corp | プログラム制御装置 |
DE102009025572A1 (de) * | 2009-06-19 | 2010-12-23 | Wolfgang Pree Gmbh | Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen |
US20110185365A1 (en) * | 2010-01-28 | 2011-07-28 | International Business Machines Corporation | Data processing system, method for processing data and computer program product |
WO2011111215A1 (ja) * | 2010-03-11 | 2011-09-15 | 富士通株式会社 | ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム |
JP5376042B2 (ja) * | 2010-03-18 | 2013-12-25 | 富士通株式会社 | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム |
US8752058B1 (en) | 2010-05-11 | 2014-06-10 | Vmware, Inc. | Implicit co-scheduling of CPUs |
WO2012001835A1 (ja) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | マルチプロセッサシステム |
US20130310976A1 (en) * | 2011-01-31 | 2013-11-21 | Toyota Jidosha Kabushiki Kaisha | Safety control device and safety control method |
US9430286B2 (en) * | 2011-12-12 | 2016-08-30 | International Business Machines Corporation | Authorizing distributed task processing in a distributed storage network |
JP2014006788A (ja) * | 2012-06-26 | 2014-01-16 | Azbil Corp | 情報処理装置およびプログラム実行方法 |
JP6180866B2 (ja) * | 2013-09-24 | 2017-08-16 | 株式会社東芝 | スケジューリング装置、システム、装置、方法およびプログラム |
GB2519080B (en) * | 2013-10-08 | 2021-04-14 | Arm Ip Ltd | Scheduling function calls |
US9413707B2 (en) | 2014-04-11 | 2016-08-09 | ACR Development, Inc. | Automated user task management |
US8942727B1 (en) | 2014-04-11 | 2015-01-27 | ACR Development, Inc. | User Location Tracking |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
JP6280237B2 (ja) * | 2014-11-17 | 2018-02-14 | 株式会社日立製作所 | 計算機システム及びデータ処理方法 |
US9413626B2 (en) | 2014-12-05 | 2016-08-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9762585B2 (en) | 2015-03-19 | 2017-09-12 | Microsoft Technology Licensing, Llc | Tenant lockbox |
US10931682B2 (en) | 2015-06-30 | 2021-02-23 | Microsoft Technology Licensing, Llc | Privileged identity management |
CN105320570B (zh) | 2015-11-09 | 2019-01-29 | 深圳市万普拉斯科技有限公司 | 资源管理方法和系统 |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10725826B1 (en) * | 2017-06-21 | 2020-07-28 | Amazon Technologies, Inc. | Serializing duration-limited task executions in an on demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
CN111314776B (zh) * | 2019-11-27 | 2022-01-21 | 重庆紫光华山智安科技有限公司 | 一种针对存储录像不连续的分片加速方法 |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3681799D1 (de) * | 1985-01-22 | 1991-11-14 | Applied Materials Inc | Halbleiter-bearbeitungseinrichtung. |
JPS61291032A (ja) * | 1985-06-17 | 1986-12-20 | Fujitsu Ltd | 真空装置 |
NL8900544A (nl) * | 1989-03-06 | 1990-10-01 | Asm Europ | Behandelingsstelsel, behandelingsvat en werkwijze voor het behandelen van een substraat. |
ES2130295T3 (es) * | 1989-10-20 | 1999-07-01 | Applied Materials Inc | Aparato de tipo robot. |
JPH05218176A (ja) * | 1992-02-07 | 1993-08-27 | Tokyo Electron Tohoku Kk | 熱処理方法及び被処理体の移載方法 |
US5628013A (en) * | 1992-09-30 | 1997-05-06 | Apple Computer, Inc. | Apparatus and method for allocating processing time in a frame-based computer system |
KR100221983B1 (ko) * | 1993-04-13 | 1999-09-15 | 히가시 데쓰로 | 처리장치 |
JPH07295694A (ja) * | 1994-04-25 | 1995-11-10 | Matsushita Electric Ind Co Ltd | 演算処理装置の省電力方法 |
JP3492445B2 (ja) * | 1995-05-10 | 2004-02-03 | 三菱電機株式会社 | 遠隔操作命令の実行完了時間保証方法 |
JP3037182B2 (ja) * | 1997-02-17 | 2000-04-24 | 日本電気株式会社 | タスク管理方式 |
JP2000056989A (ja) * | 1998-08-03 | 2000-02-25 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク設計方法 |
US6719516B2 (en) * | 1998-09-28 | 2004-04-13 | Applied Materials, Inc. | Single wafer load lock with internal wafer transport |
JP2000122883A (ja) * | 1998-10-19 | 2000-04-28 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク管理方法 |
US6834386B1 (en) * | 1999-07-16 | 2004-12-21 | Microsoft Corporation | Method and system for regulating background tasks using performance measurements |
US7012684B1 (en) * | 1999-09-07 | 2006-03-14 | Applied Materials, Inc. | Method and apparatus to provide for automated process verification and hierarchical substrate examination |
EP1247195A4 (en) | 1999-12-22 | 2005-01-05 | Ubicom Inc | SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH ZERO-TIME CONTEXT SWITCHING |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7120783B2 (en) | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US6684342B1 (en) | 2000-06-22 | 2004-01-27 | Ubicom, Inc. | Apparatus and method of dynamic and deterministic changes in clock frequency for lower power consumption while maintaining fast interrupt handling |
FR2818769B1 (fr) * | 2000-12-21 | 2004-06-18 | Eads Airbus Sa | Procede et systeme d'exploitation temps reel multitaches |
WO2002069174A1 (fr) * | 2001-02-28 | 2002-09-06 | Fujitsu Limited | Procede d'execution en parallele de processus et ordinateur a processeurs multiples |
US20030037091A1 (en) * | 2001-08-09 | 2003-02-20 | Kozo Nishimura | Task scheduling device |
JP2003077974A (ja) * | 2001-08-31 | 2003-03-14 | Hitachi Kokusai Electric Inc | 基板処理装置および半導体装置の製造方法 |
JP3922070B2 (ja) * | 2002-03-29 | 2007-05-30 | 株式会社デンソー | 分散制御方法及び装置 |
JP2003337713A (ja) * | 2002-05-21 | 2003-11-28 | Hitachi Ltd | プロセッサの制御方法 |
JP4750350B2 (ja) * | 2003-03-13 | 2011-08-17 | パナソニック株式会社 | タスク切換装置、方法及びプログラム |
JP3922576B2 (ja) | 2003-06-27 | 2007-05-30 | 株式会社日立製作所 | 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム |
US8060884B2 (en) * | 2007-07-10 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Deterministic task scheduling in a computing device |
-
2005
- 2005-08-24 JP JP2005243417A patent/JP4580845B2/ja active Active
-
2006
- 2006-08-16 US US11/464,864 patent/US8370846B2/en active Active
- 2006-08-24 CN CNB2006101212968A patent/CN100543682C/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880500A (zh) * | 2011-07-13 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 一种任务树的优化方法和装置 |
CN102880500B (zh) * | 2011-07-13 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种任务树的优化方法和装置 |
CN102371955A (zh) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | 用于整车控制器的分时任务的实现方法 |
CN104169880A (zh) * | 2012-03-19 | 2014-11-26 | 富士通株式会社 | 检测装置、通知方法、以及通知程序 |
CN104169880B (zh) * | 2012-03-19 | 2017-08-22 | 富士通株式会社 | 检测装置以及通知方法 |
CN102883218A (zh) * | 2012-09-21 | 2013-01-16 | 北京君正集成电路股份有限公司 | 一种解码多个视频文件的方法及设备 |
CN102883218B (zh) * | 2012-09-21 | 2015-04-01 | 北京君正集成电路股份有限公司 | 一种解码多个视频文件的方法及设备 |
CN107291767A (zh) * | 2016-04-11 | 2017-10-24 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
CN107818407A (zh) * | 2017-10-20 | 2018-03-20 | 平安科技(深圳)有限公司 | 任务分配方法、装置、存储介质和计算机设备 |
CN109815372A (zh) * | 2019-01-24 | 2019-05-28 | 杭州嘉楠耘智信息科技有限公司 | Scrypt算法工作量证明方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US8370846B2 (en) | 2013-02-05 |
CN100543682C (zh) | 2009-09-23 |
JP4580845B2 (ja) | 2010-11-17 |
US20070050779A1 (en) | 2007-03-01 |
JP2007058601A (ja) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1920781A (zh) | 任务执行装置及方法 | |
CN1530834A (zh) | 任务切换装置、方法和程序 | |
CN100336020C (zh) | 信息处理设备 | |
CN1138207C (zh) | 使用远程java对象分配程序的方法和装置 | |
CN1112636C (zh) | 在多线程处理器中选择线程切换事件的方法和装置 | |
CN1908903A (zh) | 执行作业步的系统和方法以及计算机产品 | |
CN1188794C (zh) | 到一个共享的协处理器资源的多个逻辑接口 | |
CN103124957B (zh) | 用于处理单元的动态资源分配的方法和设备 | |
CN1306754C (zh) | 平衡网格计算环境中的工作负荷的方法和系统 | |
CN1251078C (zh) | 用于确定周期任务的最好情况响应时间的方法和系统 | |
CN1537274A (zh) | 处理系统或计算机系统的任务控制方法和计算机程序 | |
CN1975679A (zh) | 用于优化分段资源分配的方法和设备 | |
CN1614935A (zh) | 负载分散系统 | |
CN1849587A (zh) | 共享处理器和网络接口的多个操作系统 | |
CN1828563A (zh) | 处理器及信息处理方法 | |
CN106095569B (zh) | 一种基于sla的云工作流引擎资源调度与控制方法 | |
CN1790270A (zh) | 支持多进程的Java虚拟机实现方法 | |
CN1589433A (zh) | 向任务分配预算盈余的方法和系统 | |
CN1208890A (zh) | 操作系统的重启动方法 | |
CN1867891A (zh) | 用于实时多线程处理的方法和装置 | |
CN1095121C (zh) | 用小规模硬件灵活应付多个中断处理的中断控制装置 | |
CN1655118A (zh) | 处理器和编译器 | |
CN1914597A (zh) | 处理单元的动态加载和卸载 | |
CN1577253A (zh) | 改进的最早时限第一的调度方法 | |
CN1942854A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151103 Address after: Kanagawa Patentee after: Co., Ltd. Suo Si future Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co., Ltd. |