处理系统或计算机系统的任务控制方法技术方案

技术编号:2868736 阅读:140 留言:0更新日期:2012-04-11 18:40
一种具有记录这样一种定时的机制的处理系统,在该定时具有高紧急度的处理被启动。如果该处理系统在具有低紧急度的处理期间进入临界区,就记录和检查是否在临界区的执行期间启动具有高紧急度的处理。如果具有高紧急度的处理不被启动,则该处理系统进入临界区,如果具有高紧急度的处理被启动,则该处理系统进行控制,以推迟进入临界区,直至具有高紧急度的处理结束。在执行多个任务的环境中,最好能够执行临界区中的专有存取控制。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种处理系统或计算机系统的任务控制方法和计算机程序,该处理系统或计算机系统通过执行程序提供预定处理业务。特别是涉及一种关于分类处理系统或分类计算机系统的任务控制方法和计算机程序,在该分类处理系统或分类计算机系统中,存在多个控制流(例如,中断处理程序和标准处理程序)。具体而言,本专利技术涉及一种处理系统或计算机系统的任务控制方法和计算机程序,其中所述处理系统或计算机系统执行程序的一些部分(临界区)的专有存取控制,而该临界区不能由多个任务同时引用。特别是,本专利技术涉及在存在多个任务执行环境的情况下、执行程序的临界区的专有存取控制的处理系统或计算机系统的任务控制方法和计算机程序。
技术介绍
随着现代LSI(大规模集成电路)技术的创新推进,各种类型的信息处理装置和信息通信装置已经被开发和出售,并且已经渗透到我们日常生活中。借助这些装置可以提供各类处理装置,这些处理装置具有在操作系统提供的执行环境下,由CPU(中央处理单元)或者某些其它处理器执行的预定程序代码。然而,在程序设计中,让多个控制流(有时称作“任务”)存在于程序中往往是有用的。这里所用的术语“多个控制流”是指这样的事实如图6所示,多个“当前运行时的诸多点”存在于程序处理流中,换言之,存在于流程中。在图6所示的实例中,在某一点T1,步骤S1和步骤S3分别在流I和流II中执行。与此相对,在经过某些时间后的下一个点T2,步骤S2和步骤S3分别在流I和流II中执行。一般来说,当存在多个流以及每个流操作每个流共有的数据时,不能保持数据的一致性,除非这些数据是同步的。这里所用的“共用数据”包括任务列表、条件变量等。条件变量是一个任务具有的诸多条件被抽象的概念,该概念被用作当任务应当转换到等待状态或者当任务应当返回到运行状态时的通信方式(手段)。例如,在控制B和C的两个流存在的情况下,将考虑每个控制流执行下列处理的情况。过程1读出变量x的值;过程2把一个读出值加1后的值代入变量x。当两个流B和C的每个执行一次上述处理时,相同处理在执行两次后结束。因此,变量x的值应当增加2。然而,当流B和流C如下所述完全相同时,变量x的值仅仅增加1。(1)流B执行过程1;(2)流C执行过程1;(3)流B执行过程2;(4)流C执行过程2。为了避免这样的操作错误,需要在某一确定流中执行的一系列引用和更新操作(事务处理)期间,禁止引用和更新来自其它流的数据。在上述实例中,由于在流B的操作序列之前,流C完成了引用和更新变量x,即过程1和过程2,因此出现了丧失数据一致性的问题。如上述过程1到过程2这种操作还可以被认为是不能被多个任务同时引用的一个程序的多个部分,以下将其称之为“临界区(critical section)”。此外,为解决临界区中数据一致性问题,禁止其它任务引用和更新数据,也可以称之为“专有存取控制”。换言之,在对于控制流中某些数据执行一系列处理时,延迟由控制的另一个流对相同数据的操作动作,也就是,单独执行特定数据的操作。本专利技术认为专有存取控制机制最好具有以下特点。(1)不存在具有高紧急度的处理被具有低紧急度的处理(发生优先级颠倒)延迟的可能性。(2)甚至可以在多个任务集之间执行专有存取控制,其中根据不同策略执行这些任务集的调度。在上述特点之中,(1)是必不可少的,其理由是本领域熟练技术人员显而易见的。此外,在一个计算机系统上同时运行多个操作系统时,或者在利用多个任务集(每个任务集具有特有的特征)之每个的特有调度方法时,(2)也是必不可少的。例如,对于任务之间的专有存取控制,使用了“互斥机制”和“信标机制”。然而,在这些方法中,利用这种专有存取控制存在以下问题存在高优先级处理被低优先级处理延迟的可能性,也就是存在出现优先级颠倒的可能性,因而不能满足特征(1)。作为减轻优先级颠倒问题的方法,优先级继承协议(例如,参见Lui Sha,Ragunathan Rajkumar和John P.Lehoczky的论文“Priority InheritanceProtocolAn Approch to Real-Time Synchronization”,IEEE Transaction onComputers,第39卷第9期,第1179-1185页,1990年9月出版)被提出。优先级事务处理协议涉及这样一种方法,其中,在低优先级任务正在执行一系列操作的同时,在高优先级任务正在试图操作相同数据的情况下,低优先级任务的优先级暂时上升到与该高优先级任务相同的优先级。图7中示出了优先级继承协议的操作。在此情况下,如果在低优先级任务A正在操作相同数据的同时,高优先级任务B就试图开始操作某些数据,则必然发生延迟。此时,任务A的优先级暂时上升到与任务B相同的等级。此后,尽管其优先级低于任务B但高于任务A的任务C试图开始运行,但由于任务A的优先级被提升到高于任务C,因此不中断任务A的运行。然后,在结束任务A后,在保持数据一致性的同时,任务B能够开始操作数据,而不会被优先级低于自己的任务C中断。此外,该优先级继承协议是以根据共同标准即优先级执行所有任务的调度的思想为基础的。因此,很难将该优先级继承协议应用于多个调度共存的系统(特别是,存在不能根据优先级执行调度的任务集的一个系统),所述的多个调度共存例如是多个操作系统同时在单一计算机系统上操作的任务执行环境。换言之,不能满足上述的特征(2)。作为一个没有带来这些问题的方法,调度器自觉同步方法可以被提供为一个实例(例如,参见Leonidas I.Kontothanassis,Robert W.Wisniewski,Michael L Scott等人的论文“Scheduler Conscious Synchronization”,ACMTransaction on Computer Systems,第15卷第1期,1997出版)。该方法通过禁止其任务在临界区的执行期间进行调度,限制了具有低紧急度的处理具有具有高紧急度的处理的效果。特别是,具有高紧急度的处理的延迟时间被抑制到最大临界区执行时间以下。此外,该方法仅仅以禁止调度的机制存在为基础。然而,由于该方法未考虑到应用于多个调度共存的系统,因此在这样一种任务执行环境下,仍然遗留具有高紧急度的处理将被具有低紧急度的处理延迟的可能性。换言之,该方法不能满足上述的特征(2)。此外,作为满足上述特征(1)和(2)的一个方法,无阻塞同步方法可以被提供为一个实例(例如,参见Michael Barry Greenwald的论文“Non-blocking Synchronization and System Design”,斯坦福大学的博士论文)。然而,为了应用该方法,需要一个特殊硬件,从而导致成本增加。
技术实现思路
本专利技术的目的是提供一个良好的处理系统或计算机系统的任务控制方法和计算机程序,在该处理系统和计算机系统中,多个控制流(例如一个中断处理程序和一个标准程序)存在于一个程序中。本专利技术另一个目的是提供一个良好的处理系统或计算机系统的任务控制方法和计算机程序,该处理系统或计算机系统能够适合于在一个程序部分(临界区)中执行专有存取控制,而且该程序部分不会同时被多个任务引用。本专利技术的再一个目的是提供一种良好的处本文档来自技高网
...

【技术保护点】
一种在多个处理之间执行专有存取控制的处理系统,其特征在于,该处理系统包括:    开始定时记录装置,用于记录具有高紧急度的处理将要开始的定时;    检验装置,用于一旦在具有低紧急度的处理的中间进入不能被多个处理同时引用的临界区,就通过引用上述的开始定时,检验是否将在临界区的执行期间开始具有高紧急度的处理;和    控制装置,用于根据检验结果控制临界区的执行。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:户川敦之
申请(专利权)人:索尼株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1