CN102047225B - 优先级控制装置以及优先级控制方法 - Google Patents

优先级控制装置以及优先级控制方法 Download PDF

Info

Publication number
CN102047225B
CN102047225B CN2009801200303A CN200980120030A CN102047225B CN 102047225 B CN102047225 B CN 102047225B CN 2009801200303 A CN2009801200303 A CN 2009801200303A CN 200980120030 A CN200980120030 A CN 200980120030A CN 102047225 B CN102047225 B CN 102047225B
Authority
CN
China
Prior art keywords
task
priority
executing
tasks
request
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
Application number
CN2009801200303A
Other languages
English (en)
Other versions
CN102047225A (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.)
Socionext Inc
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102047225A publication Critical patent/CN102047225A/zh
Application granted granted Critical
Publication of CN102047225B publication Critical patent/CN102047225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

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)

Abstract

本发明涉及的优先级控制装置(100)包括:OS执行部(101),执行在第一OS(130)上工作的多个任务(110)以及在第二OS(131)上工作的多个任务(120);任务优先级获得部(104),获得作为由OS执行部(101)正在执行中的任务(110)的执行任务的优先级、和作为OS执行部(101)的执行被请求的任务(120)的请求任务的优先级;以及优先级变更部(107)、在请求任务的优先级比执行任务的优先级高的情况下,在维持多个任务(110)之间的优先级的相对位次的状态下,使多个任务(110)的优先级比请求任务的优先级低且比多个任务(120)中的请求任务的优先级低的下一个位次的任务的优先级高。

Description

优先级控制装置以及优先级控制方法
技术领域
本发明涉及优先级控制装置以及优先级控制方法,尤其涉及控制在第一OS上工作的多个第一任务以及在第二OS上工作的多个第二任务的优先级的优先级控制装置。 
背景技术
以往,在执行多个任务的OS(Operating System:操作系统)中,对各个任务设定优先级,根据该优先级决定任务的执行顺序。 
周知的是,在这些OS中发生优先级的反转现象。以下,说明优先级的反转现象。 
在正在执行低优先级的任务中被请求执行高优先级的任务的情况下,判断由正在执行中的低优先级的任务是否正在使用(锁定)由高优先级的任务使用的资源。在由正在执行中的任务没有锁定由高优先级的任务使用的资源的情况下,根据优先级,要执行的任务被切换为高优先级的任务。 
另一方面,在由正在执行中的任务正在锁定由高优先级的任务使用的资源的情况下,继续执行正在执行中的低优先级的任务,在低优先级的任务结束后,执行高优先级的任务。 
在此,在正在执行低优先级的任务中被请求执行其它的中优先级的任务(优先级比高优先级的任务低且优先级比低优先级的任务高的任务)、且由低优先级的任务没有锁定由中优先级的任务使用的资源的情况下,OS根据优先级中止低优先级的任务的执行,执行中优先级的任务。也就是说,发生优先级的反转现象,即,本来应该预先执行的高优先级的任务之前执行中优先级的任务。存在的问题是,根据该优先级的反转现象阻碍实时性。 
作为对应于这些优先级的反转现象的优先级控制装置,周知的是,专利文献1所述的优先级控制装置。 
专利文献1所述的优先级控制装置,通过暂时提高正在执行中的低优先级的任务的优先级,从而即使被请求执行中优先级的任务,也不接受请求,而继续执行低优先级的任务。据此,在低优先级的任务的执行结束后,执行高优先级的任务。也就是说,专利文献1所述的优先级控制装置,能够解决所述的优先级的反转现象。 
另一方面,近些年,采用为了实现目的不同的功能而使多个OS工作的计算机系统。例如,在Linux(注册商标)上使Windows(注册商标)工作的情况等。 
(先行技术文献) 
(专利文献) 
专利文献1∶(日本)特开平8-77025号公报 
然而,在执行多个OS的系统中,在适用专利文献1所述的技术的情况下,发生以下的问题。 
由各个OS执行的任务,在各个OS内分别具有独立的优先级。也就是说,虽然各个OS内的任务的优先级被规定,但是OS间的任务的优先级并不一定具有匹配性。因此,在跨过OS间而单纯地提高优先级的情况下,有时不能维持OS间的系统的匹配性。据此,有可能不能解决优先级的反转现象、或发生其它的问题。 
发明内容
于是,本发明的目的在于提供一种优先级控制装置以及优先级控制方法,在执行多个OS的情况下,能够解决优先级的反转现象,且能够维持系统的匹配性。 
为了实现所述目的,本发明涉及的优先级控制装置,控制在第一OS上工作的多个第一任务以及在第二OS上工作的多个第二任务的优先级,该优先级控制装置包括∶执行部,执行第一任务以及第二任务;任务优先级获得部,获得执行任务的优先级以及请求任务的优先级,所述执行任务是由所述执行部正在执行中的第一任务,所述请求任务是所述执行部的执行被请求的第二任务;优先级判断部,判断所述请求任务的优先级是否比所述执行任务的优先级高;以及优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一 个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,在正在执行第一任务中被请求执行比第一任务的优先级高的第二任务的情况下,提高在第一OS上工作的所有的第一任务的优先级。据此,优先级控制装置能够解决优先级的反转现象。 
进而,本发明涉及的优先级控制装置,在维持所述多个第一任务之间的优先级的相对位次的状态下,提高在第一OS上工作的所有的第一任务的优先级,从而能够优先执行与正在执行中的第一任务有关的一连串的第一任务。据此,在执行多个OS的情况下,也能够维持OS内的任务的优先级的匹配性。因此,本发明涉及的优先级控制装置,在执行多个OS的情况下,也能够解决优先级的反转现象,且能够维持系统的匹配性。 
并且,也可以是,所述优先级控制装置还包括资源判断部,判断执行所述请求任务时所使用的资源是否在执行所述执行任务中正在被使用,所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且执行所述请求任务时所使用的资源在执行所述执行任务中正在被使用的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,在由请求任务的执行使用的资源由执行任务的执行正在使用的情况下,进行优先级的变更处理。据此,本发明涉及的优先级控制装置,能够仅在发生优先级的反转现象的情况下,进行优先级的变更处理。 
并且,也可以是,所述优先级控制装置还包括状态判断部,判断所述请求任务是否为等待执行状态,所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述请求任务为等待执行状态的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,在请求任务为等待执行状态的情况下,进行优先级的变更处理。据此,本发明涉及的优先级控制装置,能够仅在发生优先级的反转现象的情况下,进行优先级的变更处理。 
并且,也可以是,所述优先级控制装置,还包括∶对应任务设定部,设定有所述多个第一任务之中的一个第一任务以及与该一个第一任务相对应的第二任务;以及任务判断部,判断所述执行任务是否为设定在所述对应任务设定部的第一任务,判断所述请求任务是否为与设定在所述对应任务设定部的该执行任务相对应的第二任务,所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述执行任务是设定在所述对应任务设定部的第一任务、且所述请求任务是与设定在所述对应任务设定部的该执行任务相对应的第二任务的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,在请求任务以及执行任务是预先规定的组合的情况下,进行优先级的变更处理。据此,本发明涉及的优先级控制装置,由于不需要进行确认资源的锁定状态或任务的工作状态等的处理,因此能够减少处理量。 
并且,也可以是,所述优先级控制装置还包括用户输入部,接受用户的输入,所述任务判断部,判断所述执行任务是否为执行由所述用户输入部接受的处理的任务,所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述执行任务是执行由所述用户输入部接受的处理的任务、且所述请求任务是与设定在所述对应任务设定部的该执行任务相对应的第二任务的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,在接受了图像显示等的特定的处理多个时进行的用户的输入的情况下,进行优先级的变更处理。据此,本发明涉及的优先级控制装置,由于不需要进行确认资源的锁定状态或任务的工作状态等的处理,因此能够减少处理量。 
并且,也可以是,所述优先级变更部,在所述执行任务的执行结束后,将该执行任务的优先级恢复为变更之前的优先级。 
并且,也可以是,所述优先级控制装置还包括任务请求检测部,检测 对所述执行部的第二任务的执行请求,在由所述任务请求检测部检测出第二任务的执行请求的情况下,所述任务优先级获得部,获得所述执行任务的优先级以及作为检测出该执行请求的任务的所述请求任务的优先级,所述优先级判断部,判断所述请求任务的优先级是否比所述执行任务的优先级高,所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制装置,能够在发生中断等的任务的执行请求的情况下,进行优先级的变更处理。 
并且,也可以是,本发明的优先级控制方法是优先级控制装置中的优先级控制方法,所述优先级控制装置控制在第一OS上工作的多个第一任务以及在第二OS上工作的多个第二任务的优先级,并且,所述优先级控制装置包括执行第一任务以及第二任务的执行部,所述优先级控制方法包括∶任务优先级获得步骤,获得执行任务的优先级以及请求任务的优先级,所述执行任务是由所述执行部正在执行中的第一任务,所述请求任务是所述执行部的执行被请求的第二任务;优先级判断步骤,判断所述请求任务的优先级是否比所述执行任务的优先级高;以及优先级变更步骤,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。 
根据该结构,本发明涉及的优先级控制方法,在正在执行第一任务中被请求执行比第一任务的优先级高的第二任务的情况下,提高在第一OS上工作的所有的第一任务的优先级。据此,优先级控制方法能够解决优先级的反转现象。 
进而,本发明涉及的优先级控制方法,在维持所述多个第一任务之间的优先级的相对位次的状态下,提高在第一OS上工作的所有的第一任务的优先级,从而能够优先执行与正在执行中的第一任务有关的一连串的第一任务。据此,在执行多个OS的情况下,也能够维持OS内的任务的优先级的匹配性。因此,本发明涉及的优先级控制方法,在执行多个OS的情况下,也能够解决优先级的反转现象,且能够维持系统的匹配性。 
而且,本发明,除了可以作为如上所述的优先级控制装置来实现以外,也可以作为将优先级控制装置中包含的特征单元作为步骤的优先级控制方法来实现,还可以作为使计算机执行这些特征步骤的程序来实现。而且,当然也可以通过CD-ROM等记录介质以及互联网等传输介质来分发这些程序。 
根据所述,本发明能够提供,在执行多个OS的情况下,也能够解决优先级的反转现象,且能够维持系统的匹配性的优先级控制装置以及优先级控制方法。 
(关于本申请的背景技术的信息) 
于2008年6月2日在日本申请的申请号为2008-144868的说明书、说明书、附图以及权利要求书中所公开的内容全部被本申请所参照。 
附图说明
图1是示出本发明的实施例1涉及的优先级控制装置的结构的方框图。 
图2A是示出本发明的实施例1涉及的优先级的一个例子的图。 
图2B是示出本发明的实施例1涉及的由优先级控制装置的变更后的优先级的一个例子的图。 
图2C是示出本发明的实施例1涉及的优先级的一个例子的图。 
图3是示出本发明的实施例1涉及的由优先级控制装置的优先级变更处理的流程的流程图。 
图4A是示出本发明的实施例1涉及的由优先级控制装置执行的任务的状态的图。 
图4B是示出本发明的实施例1涉及的不由优先级控制装置进行优先级变更处理的情况下的任务的状态的图。 
图5是示出本发明的实施例1涉及的优先级控制装置的变形例的结构的方框图。 
图6是示出本发明的实施例2涉及的优先级控制装置的结构的方框图。 
图7是示出本发明的实施例2涉及的由优先级控制装置的优先级变更处理的流程的流程图。 
具体实施方式
以下,参照附图详细说明本发明涉及的优先级控制装置的实施方式。 
(实施例1) 
本发明的实施例1涉及的优先级控制装置,在正在执行一方的OS的任务中被请求执行优先级比该任务高的其它的OS的任务、且由正在执行中的任务正在锁定由被请求的任务使用的资源的情况下,提高一方的OS的所有的任务。据此,本发明的实施例1涉及的优先级控制装置,在执行多个OS的情况下,能够解决优先级的反转现象,且能够维持系统的匹配性。 
首先,说明本发明的实施例1涉及的优先级控制装置的结构。 
图1是示出本发明的实施例1涉及的优先级控制装置的结构的图。 
图1示出的优先级控制装置100,控制在多个OS上分别工作的多个任务的优先级。优先级控制装置100包括OS执行部101、任务优先级管理部102、请求检测部103、任务优先级获得部104、优先级判断部105、资源判断部106、优先级变更部107、以及优先级保持部108。 
OS执行部101执行第一OS130以及第二OS131。在第一OS130上执行多个任务110,在第二OS131上执行多个任务120。OS执行部101,在同时被请求执行多个任务110以及120的情况下,优先执行优先级高的任务110以及任务120。多个任务110包括任务111、112、113…。多个任务120包括任务121、122、123…。 
任务优先级管理部102保持多个任务110以及120的优先级的关系。 
图2A是示出任务优先级管理部102所保持的优先级的关系的一个例子的图。如图2A示出,例如,多个任务120的优先级被设定为比多个任务110的优先级高。并且,在多个任务120中,从高的优先级开始,按照任务121、122、123…的顺序设定优先级。并且,在多个任务110中,从高的优先级开始,按照任务111、112、113…的顺序设定优先级。 
请求检测部103,检测对OS执行部101的中断等的任务的执行请求。 
任务优先级获得部104,在由请求检测部103检测出任务的执行请求时,获得由OS执行部101正在执行的任务110或120(以下,记载为执行任务)的优先级。并且,任务优先级获得部104,通过参照由任务优先级 管理部102保持的优先级的关系,从而获得OS执行部101的执行被请求的任务110或120(以下,记载为请求任务)的优先级。任务优先级获得部104,在由请求检测部103检测出任务的执行请求时,获得执行任务的优先级以及请求任务的优先级。 
优先级判断部105,判断由任务优先级获得部104获得的请求任务的优先级是否比执行任务的优先级高。 
资源判断部106,判断由请求任务的执行使用的资源由执行任务的执行中是否正在使用。也就是说,资源判断部106,判断由请求任务的执行使用的资源是否由执行任务正在锁定中。 
优先级变更部107,在正在执行第一OS130以及第二OS131之中的一方的OS上工作的任务中被请求执行其它的OS的任务的情况下,即,在执行任务以及请求任务之中的一方是任务110且另一方是任务120的情况下,在由优先级判断部105判断为请求任务的优先级比执行任务的优先级高、且由资源判断部106判断为由请求任务的执行使用的资源由执行任务的执行中正在使用的情况下,提高包括执行任务的多个任务110或多个任务120的所有的优先级。 
例如,在正在执行任务112中被请求执行任务121的情况下,优先级变更部107提高任务111、112、113…的所有的优先级。 
图2B是示出由优先级变更部107变更的优先级的一个例子的图。如图2B示出,优先级变更部107,使多个任务110的优先级,比紧在任务121的优先级之下的任务122的优先级高,即,使多个任务110的优先级比任务121低且比任务120中任务121的优先级低的下一个位次的任务122的优先级高。并且,优先级变更部107,在维持多个任务110间的优先级的相对位次的状态下,提高任务110的优先级。 
优先级保持部108,保持由优先级变更部107变更之前的多个任务110以及120的优先级的关系。 
并且,优先级变更部107,在变更优先级的情况下,在执行任务的执行结束后,将多个任务110以及120的优先级成为由优先级保持部108保持的优先级。也就是说,优先级变更部107,在执行任务的执行结束后,将多个任务110的优先级恢复为变更之前的优先级。 
其次,说明优先级控制装置100的工作。 
图3是示出由优先级控制装置100的优先级控制工作的流程的流程图。图4A是示出由OS执行部101执行的任务的状态的图。 
以下,利用图3以及图4A说明,在正在执行任务112中被请求执行任务121的情况下的工作。并且,假设已设定图2A示出的优先级的关系。并且,图4A示出由任务112使用的资源由任务112正在锁定的情况下的任务的状态。 
在时刻t1之前,OS执行部101执行任务112。 
在时刻t1,被请求执行任务121。请求检测部103检测任务121的执行请求(S100)。任务优先级获得部104,按照由请求检测部103的执行请求的检测,获得正在执行中的任务112的优先级(S101)。并且,任务优先级获得部104,获得被请求执行的任务121的优先级(S102)。 
其次,优先级判断部105,判断任务121的优先级是否比任务112的优先级高(S103)。 
在此,由于任务121的优先级比任务112的优先级高(S103的“是”),因此,其次,资源判断部106,判断由任务121使用的资源是否由任务112正在锁定(S104)。 
由于由任务121使用的资源由任务112锁定(S104的“是),且任务112和任务121是不同OS上的任务,因此,优先级变更部107,如图2B示出,将多个任务110的优先级提高到紧在任务121之下的优先级(S105)。优先级保持部108,保持由优先级变更部107变更之前的优先级。 
并且,在时刻t1,OS执行部101,由于由任务121使用的资源由任务112正在锁定,因此,继续执行任务112,使任务121待机。 
在时刻t2,被请求执行任务123。OS执行部101,由于正在执行中的任务112的优先级比被请求的新的任务123的优先级高,因此,继续执行任务112,使任务123待机。 
在时刻t3,任务112的执行结束(S106)。优先级变更部107,将在步骤S106变更了的多个任务110的优先级,恢复为由优先级保持部108保持的原来的优先级(S107)。 
并且,在时刻t3,由于由任务112使用的资源被释放,且正在待机中的任务121的优先级比正在待机中的任务123的优先级高,因此,OS执行部101执行任务121。 
然后,在时刻t4,任务121的执行结束,其次,OS执行部101执行任务123。 
另一方面,在步骤S103中任务121的优先级比任务112的优先级低的情况下(S103的“否”),或者,在步骤S104中由任务121使用的资源由任务112没有锁定的情况下(S104的“否”),优先级变更部107,不变更任务的优先级。 
以下,为了比较而说明不变更优先级时的工作。 
图4B是示出不变更优先级时的由OS执行部101执行的任务的状态的图。 
如图4B示出,在不变更优先级时,在时刻t2被请求执行任务123的情况下,OS执行部101,执行优先级比正在执行中的任务112高的任务123,使任务112待机。 
在时刻t3,任务123的执行结束,其次,OS执行部101,重新开始执行任务112。 
在时刻t4,任务112的执行结束,从而由任务112使用的资源被释放,因此,OS执行部101执行任务121。 
如此,在不进行优先级的变更的情况下,在任务121之前执行优先级比任务121低的任务123。据此,优先级高的任务121的执行延迟。而且,在图4A以及图4B中,任务121以及123的执行时间相等,但是,特别是,在任务123的执行时间长的情况下,任务121的执行开始明显延迟。 
如上所述,本发明的实施例1涉及的优先级控制装置100,在正在执行第一OS130的任务110中被请求执行优先级比任务110高的第二OS131的任务120、且由被请求的任务120使用的资源由正在执行中的任务110正在锁定的情况下,提高第一OS130上工作的所有的任务110的优先级。据此,优先级控制装置100,能够解决优先级的反转现象。 
进而,通过提高第一OS130上工作的所有的任务110的优先级,在执行多个OS的情况下,也能够维持OS内的任务的优先级的匹配性。 
具体而言,存在在任务112的执行中调用并执行第一OS上工作的其它的任务113的情况。在此情况下,在仅提高任务112的优先级的情况下,在任务113的执行时,预先执行被请求的新的任务123,发生优先级的反转现象。另一方面,本发明的实施例1涉及的优先级控制装置100,由于 提高第一OS130上工作的所有的任务110的优先级,因此,直到与任务112有关的一连串的处理结束为止,即使被请求执行优先级比任务121低的任务,也不接受该请求。据此,优先级控制装置100,在执行多个OS的情况下,也能够解决优先级的反转现象。 
而且,在所述说明中,示出了图2A所示的例子,以作为多个任务110以及120的优先级的关系,但是,多个任务110以及120的优先级的关系不仅限于此。 
图2C是示出多个任务110以及120的优先级的关系的另一个例子的图。如图2C示出,多个任务110以及120的优先级的顺序可以混在一起。在图2C示出的例子中,在正在执行任务112中被请求执行任务121的情况下,与所述的工作例相同,如图2B示出,优先级变更部107变更优先级。 
并且,优先级变更部107,在请求任务的优先级比执行任务的优先级高(S103的“是”)、且由请求任务使用的资源由执行任务正在锁定(S104的“是”)的情况下,若请求任务以及执行任务是相同OS上的任务,则也可以仅将该OS上的多个任务中的执行任务的优先级提高到紧在请求任务之下的优先级。 
并且,在所述说明中,优先级变更部107,按照是否正在锁定资源中进行优先级变更处理,但也可以按照请求任务是否为待机状态进行优先级变更处理。 
图5是示出优先级控制装置100的变形例的结构的方框图。图5示出的优先级控制装置150,针对优先级控制装置100的结构,不包括资源判断部106,而包括状态判断部109。 
状态判断部109,判断请求任务是否为等待执行状态(待机状态)。 
优先级变更部107,在正在执行第一OS130以及第二OS131之中的一方的OS上工作的任务中被请求执行其它的OS的任务的情况下,在由优先级判断部105判断为请求任务的优先级比执行任务的优先级高、且由状态判断部109判断请求任务为等待执行状态的情况下,提高包含执行任务的任务110或120的所有的优先级。 
并且,在所述说明中,优先级控制装置100,在检测出中断等的新的任务的执行请求时,进行是否进行优先级变更处理的判断以及优先级变更 处理(步骤S101至S105),但也可以按规定的每个周期进行是否进行优先级变更处理的判断以及优先级变更处理(步骤S101至S105)。 
并且,在所述说明中,进行步骤S103(请求任务的优先级是否比执行任务的优先级高的判断)后,进行步骤S104(是否正在锁定资源中(或者,是否为待机状态)的判断),但也可以进行步骤S104后进行步骤S103,还可以同时进行一部分或所有的处理。 
(实施例2) 
本发明的实施例2涉及的优先级控制装置,对于基于用户输入的任务的执行,与是否正在锁定资源无关,而变更优先级。 
首先,说明本发明的实施例2涉及的优先级控制装置的结构。 
图6是示出本发明的实施例2涉及的优先级控制装置的结构的图。而且,对于与图1相同的要素附上相同的符号,省略重复说明。 
图6示出的优先级控制装置200,除了包括实施例1涉及的优先级控制装置100的结构以外,还包括用户输入部201以及对应任务表保持部202,不包括资源判断部106,而包括任务判断部203。 
用户输入部201是遥控器或键盘等,接受用户的输入。 
对应任务表保持部202保持对应任务表,该对应任务表中设定多个任务110中的一个以上的任务110、以及与该一个以上的任务110相对应的任务120。在此,对应任务表中设定的对应的任务110以及120之中的一方是,执行由用户输入部201接受的处理的任务。并且,对应任务表中设定的对应的任务是,使用相同的资源的任务。 
并且,在对应任务表中,可以针对一个任务110设定一个任务120,也可以针对一个任务110设定多个任务120,还可以针对多个任务110设定一个任务120。并且,在对应任务表中,可以设定任务110以及120的多个组的对应关系。 
任务判断部203,判断执行任务是否为执行由用户输入部201接受的处理的任务。并且,任务判断部203,在执行任务是执行由用户输入部201接受的处理的任务的情况下,判断请求任务是否为与对应任务表中设定的该执行任务相对应的任务。 
优先级变更部107,在请求任务的优先级比执行任务的优先级高、且由任务判断部203判断执行任务是执行由用户输入部201接受的处理的任务、且由任务判断部203判断请求任务是与对应任务表中设定的该执行任务相对应的任务的情况下,提高包含执行任务的任务110或120的所有的优先级。而且,提高任务的优先级的方法,与实施例1相同。
其次,说明优先级控制装置200的工作。 
图7是示出由优先级控制装置200的优先级控制工作的流程的流程图。 
以下,利用图7,说明在正在执行任务112中被请求执行任务121的情况下的工作。并且,假设设定图2A示出的优先级的关系。并且,省略说明与实施例1相同的工作。 
步骤S200至S203的工作,与图3示出的步骤S100至S103相同。 
在步骤S203中,在任务121的优先级比任务112的优先级高的情况下(S203的“是”),其次,任务判断部203,判断任务112是否为与用户操作有关的任务,即判断任务112是否为执行由用户输入部201接受的处理的任务(S204)。 
在任务112是执行由用户输入部201接受的处理的任务的情况下(S204的“是”),任务判断部203,判断在对应任务表保持部202所保持的对应任务表中任务121是否被设定为与任务112相对应的任务(S205)。 
在对应任务表中任务121被设定为与任务112相对应的任务的情况下(S205的“是”),优先级变更部107,将多个任务110的优先级提高到紧在任务121之下的优先级(S206)。而且,步骤S207以及S208的工作,与图3示出的步骤S106以及S107相同。 
另一方面,在步骤S204中,在任务112不是执行由用户输入部201接受的处理的任务的情况下(S204的“否”),或者,在步骤S205中,在对应任务表中任务121没有被设定为与任务112相对应的任务的情况下(S205的“否”),优先级变更部107不变更任务的优先级。 
如上所述,本发明的实施例2涉及的优先级控制装置200,对于基于用户输入的任务的执行,与是否正在锁定资源无关,而变更优先级。在此,基于用户输入的任务是菜单的显示等有关图像处理的任务的情况多。因此,在对应任务表中设定紧急字幕的显示等同样有关图像处理的任务,以作为对应的任务。 
如此,优先级控制装置200,预先设定因发生资源的冲突而发生优先级反转现象的可能性高的任务的组合,在该组合的任务被执行并请求的情况下,变更优先级。 
据此,优先级控制装置200,具有实施例1涉及的优先级控制装置100的效果,并且,由于不需要确认正在使用的资源,因此能够减少处理量。 
而且,对于实施例2涉及的优先级控制装置200,也可以适用与所述的实施例1相同的变形例。 
并且,在所述说明中,优先级控制装置200,按照步骤S203(请求任务的优先级是否比执行任务的优先级高的判断)、步骤S204(执行任务是否为与用户输入有关的任务的判断)、步骤S205(请求任务是否为与执行任务相对应的任务的判断)的顺序进行处理,但也可以步骤S203、S204、S205的顺序是任意的顺序。进而,也可以同时进行步骤S203、S204以及S205的一部分或所有的处理。 
并且,在所述说明中,优先级变更部107,根据执行任务是否为与用户输入有关的任务进行优先级变更处理,但也可以,与执行任务是否为与用户输入有关的任务无关,而根据对应任务表中是否设定有执行任务进行优先级变更处理。也就是说,也可以是,与关于用户输入的任务无关,而预先设定因发生资源的冲突而发生优先级反转现象的可能性高的任务的组合,在该组合的任务被执行并请求的情况下,变更优先级。 
并且,可以以具有实施例1以及实施例2的功能的优先级控制装置来实现本发明。也就是说,在图7示出的步骤S204为“否”、或步骤S205为“否”的情况下,也可以进行图3示出的步骤S104的处理。 
并且,在所述实施例1以及实施例2中,说明了执行两个OS的情况的例子,但是,在执行三个以上的OS的情况下也可以适用本发明。 
本发明能够适用于控制多个OS上工作的任务的优先级的优先级控制装置。 
符号说明
100,150,200 优先级控制装置 
101 OS执行部 
102 任务优先级管理部 
103 请求检测部 
104 任务优先级获得部 
105 优先级判断部 
106 资源判断部 
107 优先级变更部 
108 优先级保持部 
109 状态判断部 
110,111,112,113,120,121,122,123 任务 
130 第一OS 
131 第二OS 
201 用户输入部 
202 对应任务表保持部 
203 任务判断部 

Claims (8)

1.一种优先级控制装置,控制在第一OS上工作的多个第一任务以及在第二OS上工作的多个第二任务的优先级,该优先级控制装置的特征在于,包括∶
执行部,执行第一任务以及第二任务;
任务优先级获得部,获得执行任务的优先级以及请求任务的优先级,所述执行任务是由所述执行部正在执行中的第一任务,所述请求任务是所述执行部的执行被请求的第二任务;
优先级判断部,判断所述请求任务的优先级是否比所述执行任务的优先级高;以及
优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
2.如权利要求1所述的优先级控制装置,其特征在于,
所述优先级控制装置还包括资源判断部,判断执行所述请求任务时所使用的资源是否在执行所述执行任务中正在被使用,
所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且执行所述请求任务时所使用的资源在执行所述执行任务中正在被使用的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
3.如权利要求1所述的优先级控制装置,其特征在于,
所述优先级控制装置还包括状态判断部,判断所述请求任务是否为等待执行状态,
所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述请求任务为等待执行状态的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
4.如权利要求1所述的优先级控制装置,其特征在于,
所述优先级控制装置,还包括∶
对应任务设定部,设定有所述多个第一任务之中的一个第一任务以及与该一个第一任务相对应的第二任务;以及
任务判断部,判断所述执行任务是否为设定在所述对应任务设定部的第一任务,判断所述请求任务是否为与设定在所述对应任务设定部的该执行任务相对应的第二任务,
所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述执行任务是设定在所述对应任务设定部的第一任务、且所述请求任务是与设定在所述对应任务设定部的该执行任务相对应的第二任务的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
5.如权利要求4所述的优先级控制装置,其特征在于,
所述优先级控制装置还包括用户输入部,接受用户的输入,
所述任务判断部,判断所述执行任务是否为执行由所述用户输入部接受的处理的任务,
所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高、且所述执行任务是执行由所述用户输入部接受的处理的任务、且所述请求任务是与设定在所述对应任务设定部的该执行任务相对应的第二任务的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
6.如权利要求1所述的优先级控制装置,其特征在于,
所述优先级变更部,在所述执行任务的执行结束后,将该执行任务的优先级恢复为变更之前的优先级。
7.如权利要求1所述的优先级控制装置,其特征在于,
所述优先级控制装置还包括任务请求检测部,检测对所述执行部的第二任务的执行请求,
在由所述任务请求检测部检测出第二任务的执行请求的情况下,
所述任务优先级获得部,获得所述执行任务的优先级以及作为检测出该执行请求的任务的所述请求任务的优先级,
所述优先级判断部,判断所述请求任务的优先级是否比所述执行任务的优先级高,
所述优先级变更部,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
8.一种优先级控制方法,是优先级控制装置中的优先级控制方法,所述优先级控制装置控制在第一OS上工作的多个第一任务以及在第二OS上工作的多个第二任务的优先级,并且,所述优先级控制装置包括执行第一任务以及第二任务的执行部,
所述优先级控制方法包括∶
任务优先级获得步骤,获得执行任务的优先级以及请求任务的优先级,所述执行任务是由所述执行部正在执行中的第一任务,所述请求任务是所述执行部的执行被请求的第二任务;
优先级判断步骤,判断所述请求任务的优先级是否比所述执行任务的优先级高;以及
优先级变更步骤,在所述请求任务的优先级比所述执行任务的优先级高的情况下,在维持所述多个第一任务之间的优先级的相对位次的状态下,使所述多个第一任务的优先级比所述请求任务的优先级低且比所述多个第二任务中的比所述请求任务的优先级低的下一个位次的任务的优先级高。
CN2009801200303A 2008-06-02 2009-05-28 优先级控制装置以及优先级控制方法 Active CN102047225B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-144868 2008-06-02
JP2008144868A JP2009294712A (ja) 2008-06-02 2008-06-02 優先度制御装置及び優先度制御方法
PCT/JP2009/002354 WO2009147802A1 (ja) 2008-06-02 2009-05-28 優先度制御装置及び優先度制御方法

Publications (2)

Publication Number Publication Date
CN102047225A CN102047225A (zh) 2011-05-04
CN102047225B true CN102047225B (zh) 2013-10-16

Family

ID=41397887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801200303A Active CN102047225B (zh) 2008-06-02 2009-05-28 优先级控制装置以及优先级控制方法

Country Status (4)

Country Link
US (1) US8347296B2 (zh)
JP (1) JP2009294712A (zh)
CN (1) CN102047225B (zh)
WO (1) WO2009147802A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5648544B2 (ja) * 2011-03-15 2015-01-07 富士通株式会社 スケジューリングプログラム、および情報処理装置
KR101801359B1 (ko) * 2011-07-28 2017-11-24 엘지전자 주식회사 이동 단말기
JP6028355B2 (ja) * 2012-03-22 2016-11-16 日本電気株式会社 運用管理装置、方法、及び、プログラム
CN103870330A (zh) * 2014-03-03 2014-06-18 大唐移动通信设备有限公司 一种基于dsp的任务调度方法和装置
US9348645B2 (en) * 2014-05-30 2016-05-24 Apple Inc. Method and apparatus for inter process priority donation
US9582326B2 (en) 2014-05-30 2017-02-28 Apple Inc. Quality of service classes
US9772959B2 (en) 2014-05-30 2017-09-26 Apple Inc. I/O scheduling
US10228751B2 (en) 2014-08-06 2019-03-12 Apple Inc. Low power mode
US9647489B2 (en) 2014-08-26 2017-05-09 Apple Inc. Brownout avoidance
JP2016208086A (ja) * 2015-04-15 2016-12-08 株式会社東芝 制御装置および制御方法
US9712153B1 (en) 2016-03-03 2017-07-18 Nxp Usa, Inc. Method and device for reset modification based on system state
CN107450970B (zh) * 2016-05-30 2020-07-03 京瓷办公信息系统株式会社 能够根据处理器的利用优先级来利用硬件的电子设备
US10620983B2 (en) 2016-11-08 2020-04-14 International Business Machines Corporation Memory stripe with selectable size
US10235202B2 (en) 2016-11-08 2019-03-19 International Business Machines Corporation Thread interrupt offload re-prioritization
JP6861275B2 (ja) * 2017-05-17 2021-04-21 日立Astemo株式会社 車両制御装置
US11363133B1 (en) 2017-12-20 2022-06-14 Apple Inc. Battery health-based power management
JP7263746B2 (ja) * 2018-12-03 2023-04-25 株式会社デンソー 情報処理装置
CN110928247A (zh) * 2019-10-14 2020-03-27 梁剑 一种人工机器人的控制优先级分析系统
US12039368B2 (en) * 2021-09-07 2024-07-16 Apple Inc. Priority inversion mitigation techniques

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242512A (ja) * 1999-02-19 2000-09-08 Hitachi Ltd 複数のオペレーティングシステムを実行する計算機
JP2000322278A (ja) * 2000-01-01 2000-11-24 Hitachi Ltd プロセス実行制御方法
EP1059582A2 (en) * 1999-06-03 2000-12-13 Matsushita Electric Industrial Co., Ltd. Virtual machine system
JP2005173643A (ja) * 2003-12-05 2005-06-30 Toshiba Corp コンピュータシステム及びそのオペレーティング方法
JP2007086859A (ja) * 2005-09-20 2007-04-05 Xanavi Informatics Corp 情報処理装置および表示画面制御方法
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877025A (ja) 1994-09-01 1996-03-22 Kokusai Electric Co Ltd タスクの優先度制御方法、タスクの優先度制御装置
JP3763452B2 (ja) 2000-11-29 2006-04-05 エルミック・ウェスコム株式会社 情報処理システム、オブジェクトの優先度管理方法、オペレーティングシステム、記録媒体
US7441240B2 (en) * 2003-01-07 2008-10-21 Matsushita Electric Industrial Co., Ltd. Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling
JP2004326486A (ja) 2003-04-25 2004-11-18 Matsushita Electric Ind Co Ltd タスク管理装置
US7788668B2 (en) * 2005-06-09 2010-08-31 Lockheed Martin Corporation System and method for implementing distributed priority inheritance

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242512A (ja) * 1999-02-19 2000-09-08 Hitachi Ltd 複数のオペレーティングシステムを実行する計算機
EP1059582A2 (en) * 1999-06-03 2000-12-13 Matsushita Electric Industrial Co., Ltd. Virtual machine system
JP2000322278A (ja) * 2000-01-01 2000-11-24 Hitachi Ltd プロセス実行制御方法
JP2005173643A (ja) * 2003-12-05 2005-06-30 Toshiba Corp コンピュータシステム及びそのオペレーティング方法
JP2007086859A (ja) * 2005-09-20 2007-04-05 Xanavi Informatics Corp 情報処理装置および表示画面制御方法
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法

Also Published As

Publication number Publication date
US20110072435A1 (en) 2011-03-24
JP2009294712A (ja) 2009-12-17
CN102047225A (zh) 2011-05-04
WO2009147802A1 (ja) 2009-12-10
US8347296B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
CN102047225B (zh) 优先级控制装置以及优先级控制方法
RU2003129200A (ru) Системная архитектура и связанные с ней способы динамическго добавления программных компонентов для расширения функциональных возможностей системных процессов
CN101499041B (zh) 一种避免主机在访问共享设备造成异常死锁的方法
CN101046756A (zh) 用于解决计算资源死锁的设备、系统以及方法
KR101171543B1 (ko) 배치 처리 다중화 방법
JP2004303189A5 (zh)
CN104216765A (zh) 一种多线程并发处理业务的方法和系统
CN103019942A (zh) 一种基于安卓系统的待测应用自动测试方法和系统
CN103353930B (zh) 一种防范感染式病毒感染的方法和装置
CN104484278A (zh) 一种静态代码缺陷测试方法和装置
CN111143210A (zh) 一种测试任务调度方法和系统
KR20120019330A (ko) 멀티코어 시스템의 스케쥴링 장치 및 방법
CN109660393B (zh) 一种云主机规格的更新方法及其装置
CN106855825B (zh) 一种任务处理方法及其装置
JP4385263B2 (ja) ジョブスケジューリング装置およびジョブスケジューリング方法
US20130117757A1 (en) Method and apparatus for scheduling application programs
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
CN106201358A (zh) 一种内存垃圾回收的方法及装置
CN105487925A (zh) 数据扫描方法和装置
CN104168513A (zh) 一种电视文件夹应用释放处理方法及系统
CN107733961B (zh) 资源分配方法及装置
Liu et al. Stochastic scheduling with variable profile and precedence constraints
CN110988734A (zh) 故障检测装置、方法和设备
CN103197935A (zh) 应用加载方法及系统
CN105630332B (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: 20151028

Address after: Kanagawa

Patentee after: Co., Ltd. Suo Si future

Address before: Osaka Japan

Patentee before: Matsushita Electric Industrial Co., Ltd.