当前位置: 首页 > 专利查询>浙江大学专利>正文

Java操作系统中实时任务调度的实现方法技术方案

技术编号:2852089 阅读:251 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种支持Java操作系统中实时任务调度的实现方法,Java操作系统中实时任务的定义,通过标识号、实时任务的状态、实时任务的优先级、任务控制块、任务控制块队列来标识定义;Java操作系统中对实时任务使用了多任务调度方法和采用最高优先级第一的调度方法,在封锁中断状态下工作。从而可以在多个Java程序并发的场合下大幅度节省系统资源,提高进程并发效率,本发明专利技术对嵌入式系统环境,尤其是面向嵌入式系统的Java操作系统,有重大意义。

【技术实现步骤摘要】

本专利技术涉及Java操作系统,尤其是涉及一种。
技术介绍
实时操作系统RTOS(REAL-TIME OPERATING SYSTEM)是操作系统的一个重要分支。它应属于操作系统的研究范畴。实时操作系统与通用操作系统有共同的一面,但在功能、性能、安全保密及环境适应能力等方面,还有其独特的一面。实时操作系统是指具有实时特性,能支持实时控制系统工作的操作系统,它可将系统中的各种设备有机地联系在一起并控制它们完成既定的任务。实时操作系统的首要任务是利用一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率。实时操作系统的一个重要特点就是要满足对时间的限制和要求。在实时系统中,时间就是生命,这与通用操作系统有显著的差别。除个别系统外,实时操作系统都就是多道程序的操作系统。
技术实现思路
本专利技术的目的在于提供一种。本专利技术解决其技术问题采用的技术方案如下一种支持1)Java操作系统中实时任务的定义,即一个作业中可以并行执行的程序段,而这些程序段一般具有实时特性,通过如下的结构定义I、标识号,用来标识任务,起到任务名的作用。它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;II、实时任务的状态,包括(1)运行状态任务获得处理机,正在运行;(2)就绪状态只要获得处理机,任务即可运行;(3)挂起状态由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;(4)潜伏状态任务建立之前和撤销以后的状态; III、实时任务的优先级,就绪任务取得处理机的先后次序是由任务的优先级来规定的,任务的优先级反映了它想获得其执行结果的急切程度。任务调度程序总是挑选优先级最高的任务运行,任务优先级范围为0~255,其中0优先级为最高,不同任务可以有相同的优先级;IV、任务控制块,即任务的所有外部特性信息集中在一起,便称为任务控制块TCB,Task Control Block,依据描写任务外部特性的信息,任务系统实现对任务的控制和管理;任务控制块是表征任务存在的唯一实体。当任务系统收回了任务的任务控制块后,任务就被撤销了,当建立一个新任务时,任务系统为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,如启动地址、任务标识号、优先级等,这时任务便存在于系统之中;同样,任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;V、任务控制块队列,用户作业内的任务数由用户指定,系统装配程序根据任务数来分配任务控制块空间;系统将处地就绪、运行和挂起状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,称为就绪队列或活动链。该队列的首地址一般存于用户作业的作业控制表中;2)实时任务的调度方法Java操作系统中对实时任务进行调度可以保证各任务都能按其要求执行,充分发挥全部资源的系统效率,即利用系统的现有配置,使其资源的利用率尽量提高。系统资源不仅包括计算机系统的系统资源,还包括实时控制系统的其他设备和资源等;Java操作系统中使用了多任务调度方法,在发生下列事件时,多任务调度程序扫视就绪队列,挑选一个任务投入运行(1)任何一个任务的状态发生变化;(2)任务优先级发生变化;(3)操作系统又将中央处理机控制权交给任务调度程序;Java操作系统中采用最高优先级第一的调度方法。任务调度程序从就绪队列链首开始扫视,选择就绪任务中优先级最高的任务投入运行,由于就绪队列中任务控制块是按优先级高低顺序排列的,因此被扫视的第一个就绪任务必定有最高的优先级。为了使相同优先级的就绪任务有轮流得到处理机控制权的机会,多任务系统对它们采取了循环调度的策略,即将选中投入运行任务的任务控制块从就绪队列上原来位置移到同一优先级任务控制块的最末尾。这样,当任务调度程序下次扫视就绪队列时,此任务的任务控制块已成为同优先级任务任务控制块中的最后一个,从而也最后得到处理机;Java操作系统中在封锁中断状态下工作,就绪队列上任务控制块是程序的操作对象,各控制块中信息不允许在调度进行过程中发生变化,故进入程序立即封锁中断,以保证多任务调度程序执行过程中不会被打断;然后依次扫描就绪队列上各任务控制块,若发现处于就绪状态的任务,根据同优先级任务循环调度原则,选出当前的活动任务控制块,调度程序负责恢复投入运行任务的现场,这包括有关状态字、指令计数器和各寄存器内容。本专利技术具有的有益效果是1)系统的正确性系统的正确性是系统存在的基础,是Java操作系统中首要的和必须保证的。2)系统的实时性系统的实时性是由系统响应时间的长短来标志的。系统响应时间应该有一个上限,即系统的每次响应时间都不会超过该数值。Java操作系统中能保证在规定的响应时间内响应并处理异步事件的请求。3)高度的可靠性Java操作系统中可靠性包括两个方面的内容一是在正常情况下系统正确地连续工作妈连续性;二是在异常情况下系统能及时正确处置,保证完成任务或最重要的任务,即系统的可保护性。4)系统的安全性Java操作系统本身有防护信息泄露和防止信息破坏的能力。通过备份和后援存储的方法实现。5)任务处理的随机性Java操作系统有及时处理随机事件的能力。在任一时刻,系统都不应丢失信息和降低实时性。6)输入/输出的复杂性在实时控制系统中,输入/输出设备数量可能较多,类型各异,因而相应的Java操作系统计算机通道和接口可能有同步型的、异步型的和通用或特殊型的,它们传输速度可从每秒几个二进位到每秒几万个二进位数,甚至更高。附图说明附图是实时任务的调度方法示意图。具体实施方法下面结合附图和实施例对本专利技术作进一步的说明。一种支持1)Java操作系统中实时任务的定义,即一个作业中可以并行执行的程序段,而这些程序段一般具有实时特性,通过如下的结构定义I、标识号,用来标识任务,起到任务名的作用。它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个。II、实时任务的状态,包括(1)运行状态任务获得处理机,正在运行。(2)就绪状态只要获得处理机,任务即可运行。(3)挂起状态由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利。(4)潜伏状态任务建立之前和撤销以后的状态。III、实时任务的优先级,就绪任务取得处理机的先后次序是由任务的优先级来规定的,任务的优先级反映了它想获得其执行结果的急切程度。任务调度程序总是挑选优先级最高的任务运行。任务优先级范围为0~255,其中0优先级为最高,不同任务可以有相同的优先级。IV、任务控制块,即任务的所有外部特性信息集中在一起,便称为任务控制块TCB,Task Control Block。依据描写任务外部特性的信息,任务系统实现对任务的控制和管理。TCB是表征任务存在的唯一实体。当任务系统收回了任务的TCB后,任务就被撤销了,当建立一个新任务时,任务系统为它分配一个空的TCB,并填入此任务有关的外部特性信息,如启动地址、任务标识号、优先级等,这时任务便存在于系统之中。同样,任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的。总之,任务控制块是任务的标志,任务系统根据任务控制块而感知任务的本文档来自技高网...

【技术保护点】
一种支持Java操作系统中实时任务调度的实现方法,其特征在于:1)Java操作系统中实时任务的定义,即一个作业中可以并行执行的程序段,而这些程序段一般具有实时特性,通过如下的结构定义:Ⅰ、标识号,用来标识任务,起到任务名的作 用。它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;Ⅱ、实时任务的状态,包括:(1)运行状态:任务获得处理机,正在运行;(2)就绪状态:只要获得处理机,任务即可运行;   (3)挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;(4)潜伏状态:任务建立之前和撤销以后的状态;Ⅲ、实时任务的优先级,就绪任务取得处理机的先后次序是由任务的优先 级来规定的,任务的优先级反映了它想获得其执行结果的急切程度。任务调度程序总是挑选优先级最高的任务运行。任务优先级范围为0~255,其中0优先级为最高,不同任务可以有相同的优先级;Ⅳ、任务控制块,即任务的所有外部特性信息集中在一起,便 称为任务控制块TCB,TaskControlBlock。依据描写任务外部特性的信息,任务系统实现对任务的控制和管理;任务控制块是表征任务存在的唯一实体。当任务系统收回了任务的任务控制块后,任务就被撤销了,当建立一个新任务时, 任务系统为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,如启动地址、任务标识号、优先级等,这时任务便存在于系统之中。同样,任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;Ⅴ、任务控制块队列 ,用户作业内的任务数由用户指定,系统装配程序根据任务数来分配任务控制块空间;系统将处地就绪、运行和挂起状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,称为就绪队列或活动链。该队列的首地址一般存于用户作业的作业控制表中 ;2)实时任务的调度方法Java操作系统中对实时任务进行调度可以保证各任务都能按其要求执行,充分发挥全部资源的系统效率,即利用系统的现有配置,使其资源的利用率尽量提高。系统资源不仅包括计算机系统的系统资源,还包括实时控制系统 的其他设备和资源;Java操作系统中使用了多任务调度方法,在发生下列事件时,多任务调度程序扫视就绪队列,挑选一个任务投入运行:...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈天洲戴鸿君黄彧
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1