主权项 |
1.一种Java操作系统中实时任务调度方法,其特征在于:1)基本数据结构①任务标识号任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;②实时任务的状态根据任务的状态,将实时任务的状态分成运行状态、就绪状态、挂起状态、潜伏状态;运行状态:任务获得处理机,正在运行;就绪状态:只要获得处理机,任务即可运行;挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;潜伏状态:任务建立之前和撤销以后的状态;③实时任务的优先级任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;④任务控制块任务控制块是任务的标志,任务系统根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;任务控制块是表征任务存在的唯一实体,当任务系统收回了任务的任务控件块后,任务就被撤销了,当建立一个新任务时,任务系统为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于系统之中;任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;⑤任务控制块队列按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:活动队列、就绪队列、空队列;2)实时任务调度步骤当系统中发生任务的状态发生变化、任务优先级发生变化、Java操作系统又将中央处理机控制权交给任务调度程序时,实时多任务调度器就开始执行调度过程,以挑选一个任务投入运行,步骤如下:①关中断,扫描就绪队列;②如果就绪队列为空执行步骤③,否则执行步骤⑥;③将无就绪任务的标志送出;④送出当前任务控制块的地址;⑤系统调度;⑥就绪队列中的当前任务如果挂起执行步骤⑦,否则执行步骤⑧;⑦取就绪队列中的下一个任务控制块,如果已经到队列执行③,否则执行⑥;⑧将当前的任务控制块移至同优先级的尾,关闭中断恢复现场;⑨送出当前任务控制块的地址;⑩开中断,执行任务。 |