CN100383742C - Java操作系统中建立实时任务的实现方法 - Google Patents

Java操作系统中建立实时任务的实现方法 Download PDF

Info

Publication number
CN100383742C
CN100383742C CNB2006100502554A CN200610050255A CN100383742C CN 100383742 C CN100383742 C CN 100383742C CN B2006100502554 A CNB2006100502554 A CN B2006100502554A CN 200610050255 A CN200610050255 A CN 200610050255A CN 100383742 C CN100383742 C CN 100383742C
Authority
CN
China
Prior art keywords
task
tcb
control block
real
priority
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.)
Expired - Fee Related
Application number
CNB2006100502554A
Other languages
English (en)
Other versions
CN1828542A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100502554A priority Critical patent/CN100383742C/zh
Publication of CN1828542A publication Critical patent/CN1828542A/zh
Application granted granted Critical
Publication of CN100383742C publication Critical patent/CN100383742C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Java操作系统中建立实时任务的实现方法。在Java操作系统中,对实时任务的处理,是Java操作系统的一个重要方面。Java操作系统中实时任务的建立方法,可以对各任务进行有效的处理,充分发挥全部资源的效率,利用操作系统的现有配置,使操作系统的资源的利用率尽量提高,提高系统运行效率,对实时任务控制块的信息配置,使实时任务能够在规定的响应时间内响应并处理异步事件的请求,高度可靠性。

Description

Java操作系统中建立实时任务的实现方法
技术领域
本发明涉及实时任务处理技术,特别是涉及一种java操作系统中建立实时任务的实现方法。
背景技术
操作系统的实时性是操作系统的一个重要特征,是实时控制计算机软、硬件系统的核心。它随着实时多任务计算机系统软件的形成而诞生,随着实时多任务系统要求的提高而发展。以数字计算机为中心的实时多任务操作系统已经在工业、交通、能源、银行、科学研究和科学试验、国防等各个领域发挥了极其重要的作用。
实时操作系统是操作系统的一个重要分支。它应属于操作系统的研究范畴。实时操作系统与通用操作系统有共同的一面,但在功能、性能、安全保密及环境适应能力等方面,还有其独特的一面。
实时操作系统是指具有实时特性,能支持实时控制系统工作的操作系统,它可将系统中的各种设备有机地联系在一起并控制它们完成既定的任务。
实时操作系统的首要任务是利用一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率。
实时操作系统的一个重要特点就是要满足对时间的限制和要求。在实时系统中,时间就是生命,这与通用操作系统有显著的差别。
除个别系统外,实时操作系统都就是多道程序的操作系统。
实时数字控制系统是实时操作系统的主要生存环境和工作环境,实时操作系统控制实时系统的各种设备共同完成任务。
实时控制系统属于控制系统的研究范畴。从功能而言,控制系统可被定义为对能量或其他媒体流量等进行调节的装置。
实时控制系统是一种能接收数据、加工处理并可将处理结果及时予以反馈的环境控制系统。
实时控制系统由以下四大部分构成:
数字采集。它用来收集、接收或录入系统工作所必要的信息,或进行信号检测;
加工处理。它对收集、接收或录入的信息(包括信号检测的结果)进行加工处理,得出控制系统工作所必要的参数或作出决定,然后进行输出、记录或显示;
操作控制。它根据加工处理设备所输出的信息(包括输出信号)采取适当措施或动作,以达到控制或适应环境的目的;
反馈处理。它监督执行机构的执行结果,并将该结果馈送至信号检测或数据接收设备,以便系统根据反馈情况进一步采取措施,达到控制的预期目的。
发明内容
本发明的目的在于提供一种java操作系统中建立实时任务的实现方法。
本发明解决其技术问题采用的技术方案如下:
1)基本数据结构:
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
根据任务的状态,将实时任务的状态分成运行状态、就绪状态、挂起状态和潜伏状态;
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销之后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
④任务控制块
任务控制块是任务的标志,任务系统根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;空任务控制块是指可用于表征任务存在的空白控制块;
任务控制块是表征任务存在的唯一实体,当任务系统收回了任务的任务控制块后,任务就被撤销了;当建立一个新任务时,任务系统为它分配一个已经存在系统中的空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于系统之中;任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:执行队列、就绪队列、空队列;
2)实时任务建立步骤:
主要完成在多任务系统中建立一个新任务,在整个用户作业输入到系统后,系统认为只有一个任务,即首任务,其他任务必须通过首任务建立新的任务,通过任务建立命令时,可建立一个实时多任务系统;
步骤如下:
(1)关中断
(2)检查就绪队列上所有的任务控制块的标识号与要建立的任务是否相同,相同则执行(4),否则执行(3);
(3)扫描空队列,判断是否有空任务控制块,如果有空任务控制块,执行(5),没有则给出出错信息,退出;
(4)判断任务控制块的标识号为是否为0,如果是0,则执行(3),继续查找空的任务块,如果不是0,则给出出错信息,退出;
(5)从空队列上取下该任务控制块并重新调整空队列;
(6)将要建立的任务的现场信息,外部特征信息及控制管理信息填入该空任务控制块;
(7)扫描就绪队列,将新建任务与就绪队列中的任务比较优先级的高低,如果新建任务优先级高,执行(8),如果新建任务优先级低,执行(9);
(8)新建任务优先级高,就取就绪队列的前一个任务控制块,执行(7),比较优先级的高低;
(9)新建任务优先级低,就将该任务的任务控制块挂到就绪队列末尾,并调整队列;
(10)开中断并结束。
本发明具有的有益效果是:实现简单,系统开销小,较小的系统响应时间,充分发挥全部资源的效率,利用操作系统的现有配置,使操作系统的资源的利用率尽量提高,提高系统运行效率,对实时任务控制块的信息配置,使实时任务能够在规定的响应时间内响应并处理异步事件的请求,高度可靠性。对后期操作系统对实时任务的及时处理提供了有效的保障。
附图说明
图1任务控制块队列;
图2是建立实时任务流程图。
具体实施方式
在实施建立实时任务时,具体方式如下:
1)基本数据结构
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销之后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
任务的优先级反映了它想获得其执行结果的急切程度。一般情况下,任务调度程序总是挑选优先级最高的任务运行。任务优先级范围为0~255,其中0优先级为最高,不同任务可以有相同的优先级。在创建一个任务时,必须指定其优先级。若未指定,系统就自动取当前任务的优先级为新任务的优先级。
④任务控制块
任务控制块是任务的标志,任务系统根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;空任务控制块是指可用于表征任务存在的空白控制块;
任务控制块是表征任务存在的唯一实体,当任务系统收回了任务的任务控制块后,任务就被撤销了;当建立一个新任务时,任务系统为它分配一个空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于系统之中;任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
任务控制块也是用户任务与操作系统交换信息的通信区。当用户任务向系统申请系统资源,如内存储区、输入输出设备时,需将有关申请请求的内容填入任务控制块之中。然后再提交给系统,而系统在完成用户提出的某些申请或操作后,也是将有关返回信息送入任务的任务控制块,而由任务从任务控制块中获取信息。
任务控制块的主要内容包括用户任务的运行现场信息,任务本身的外部特性信息和管理任务控制块的有关信息三部分,如下所示:
现场信息:保存用户任务运行现场信息中各寄存器或累加器的内容,保存用户任务程序计数器的内容;
任务外部特征信息:用户任务标识号,用户任务状态,用户任务优先级;
管理控制信息:任务调用命令字,任务与系统通信区,任务控制块连接字。
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:执行队列、就绪队列、空队列,如图1所示。
用户作业内的任务数由用户指定,系统装配程序根据任务数来分配任务控制块空间。
就绪队列:将处在就绪、挂起状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,各任务任务控制块是按任务的优先级先高后低的顺序排列的,相同优先级的任务控制块则按任务建立先后次序排列。
执行队列:将处在运行状态的所有任务的任务控制块借助于任务控制块中的连接字串成一个链,各任务任务控制块是按任务的优先级先高后低的顺序排列的,相同优先级的任务控制块则按任务建立先后次序排列。
空队列:所有空任务控制块一般也串成一条链。
各队列的首地址一般存于用户作业的作业控制表中。
2)实时任务建立步骤
主要完成在多任务系统中建立一个新任务,在整个用户作业输入到系统后,系统认为只有一个任务,即首任务,其他任务必须通过首任务建立新的任务。通过任务建立命令时,可建立一个实时多任务系统。
当一个作业提交操作系统后,操作系统关闭中断,扫描就绪队列,检查就绪队列上的任务控制块的标识号与要建立的任务是否相同,如果在就绪队列中没有找到相同标识号,或者相同的任务号等于0,那么就从空的任务链中挑选出一个空的任务控制块,将要建立的任务的现场信息,外部特征信息及控制管理信息填入该空任务控制块,扫描就绪队列,排列优先级顺序,查找到该任务控制块的位置,在就绪队列插入该任务控制块,打开中断,退出。
如图2所示,具体步骤如下:
(1)关中断
该程序在封锁中断状态下工作,因为就绪队列上任务控制块是程序的操作对象,各控制块中信息不允许在调度进行过程中发生变化,故进入程序立即封锁中断,以保证多任务调度程序执行过程中不会被打断;
(2)检查就绪队列上所有的任务控制块的标识号与要建立的任务是否相同,相同则执行(4),否则执行(3);
(3)扫描空队列,判断是否有空任务控制块,如果有空任务控制块,执行(5),没有则给出出错信息,退出;
(4)判断任务控制块的标识号为是否为0,如果是0,则执行(3),继续查找空的任务块,如果不是0,则给出出错信息,退出;
(5)从空队列上取下该任务控制块并重新调整空队列;
(6)将要建立的任务的现场信息,外部特征信息及控制管理信息填入该空任务控制块;
(7)扫描就绪队列,将新建任务与就绪队列中的任务比较优先级的高低;
(8)新建任务优先级高,就取就绪队列的前一个任务控制块,执行(7),比较优先级的高低;
(9)新建任务优先级低,就将该任务的任务控制块挂到就绪队列末尾,并调整队列;
(10)开中断并结束。

Claims (1)

1.一种java操作系统中建立实时任务的实现方法,其特征在于:
1)基本数据结构:
①任务标识号
任务标识号用来标识任务,起到任务名的作用,它的取值范围为0~255,两个任务不能有相同的非零标识号,但唯独标识号为零的任务可以有多个;
②实时任务的状态
根据任务的状态,将实时任务的状态分成运行状态、就绪状态、挂起状态和潜伏状态;
运行状态:任务获得处理机,正在运行;
就绪状态:只要获得处理机,任务即可运行;
挂起状态:由于某种原因,任务即使得到处理机也无法继续执行,只有待此种原因撤销后,任务才有获得处理机的权利;
潜伏状态:任务建立之前和撤销之后的状态;
③实时任务的优先级
任务的状态是调度时决定任务能否被选中投入运行的主要依据;就绪任务取得处理机的先后次序是由任务的优先级来规定的;
④任务控制块
任务控制块是任务的标志,任务系统根据任务控制块而感知任务的存在,各种任务调用命令的操作对象就是任务的任务控制块;空任务控制块是指可用于表征任务存在的空白控制块;
任务控制块是表征任务存在的唯一实体,当任务系统收回了任务的任务控制块后,任务就被撤销了;当建立一个新任务时,任务系统为它分配一个已经存在系统中的空的任务控制块,并填入此任务有关的外部特性信息,这时任务便存在于系统之中;任务系统对于各个任务进行调度、控制和管理,也都是根据每个任务的任务控制块进行的;
⑤任务控制块队列
按任务的执行情况,根据任务的优先级将任务控制块组织成三种任务控制块队列:执行队列、就绪队列、空队列;
2)实时任务建立步骤:
主要完成在多任务系统中建立一个新任务,在整个用户作业输入到系统后,系统认为只有一个任务,即首任务,其他任务必须通过首任务建立新的任务,通过任务建立命令时,可建立一个实时多任务系统;
步骤如下:
(1)关中断
(2)检查就绪队列上所有的任务控制块的标识号与要建立的任务是否相同,相同则执行(4),否则执行(3);
(3)扫描空队列,判断是否有空任务控制块,如果有空任务控制块,执行(5),没有则给出出错信息,退出;
(4)判断任务控制块的标识号为是否为0,如果是0,则执行(3),继续查找空的任务块,如果不是0,则给出出错信息,退出;
(5)从空队列上取下该任务控制块并重新调整空队列;
(6)将要建立的任务的现场信息,外部特征信息及控制管理信息填入该空任务控制块;
(7)扫描就绪队列,将新建任务与就绪队列中的任务比较优先级的高低,如果新建任务优先级高,执行(8),如果新建任务优先级低,执行(9);
(8)新建任务优先级高,就取就绪队列的前一个任务控制块,执行(7),比较优先级的高低;
(9)新建任务优先级低,就将该任务的任务控制块挂到就绪队列末尾,并调整队列;
(10)开中断并结束。
CNB2006100502554A 2006-04-07 2006-04-07 Java操作系统中建立实时任务的实现方法 Expired - Fee Related CN100383742C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100502554A CN100383742C (zh) 2006-04-07 2006-04-07 Java操作系统中建立实时任务的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100502554A CN100383742C (zh) 2006-04-07 2006-04-07 Java操作系统中建立实时任务的实现方法

Publications (2)

Publication Number Publication Date
CN1828542A CN1828542A (zh) 2006-09-06
CN100383742C true CN100383742C (zh) 2008-04-23

Family

ID=36946953

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100502554A Expired - Fee Related CN100383742C (zh) 2006-04-07 2006-04-07 Java操作系统中建立实时任务的实现方法

Country Status (1)

Country Link
CN (1) CN100383742C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844370B (zh) * 2016-09-19 2020-04-17 杭州海康威视数字技术股份有限公司 一种实时任务调度方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328879A (ja) * 1995-05-31 1996-12-13 Nec Ic Microcomput Syst Ltd タスク管理方式
WO2002099639A1 (en) * 2001-06-04 2002-12-12 Radisys Corporation Method and apparatus to use task priority to scale processor performance
CN1409209A (zh) * 2001-09-24 2003-04-09 深圳市中兴通讯股份有限公司上海第二研究所 一种多任务实时操作系统的实现方法
US20050015767A1 (en) * 2003-07-01 2005-01-20 Brian Nash Operating system configuration tool
CN1744046A (zh) * 2004-08-31 2006-03-08 华为技术有限公司 实时操作系统环境下多任务应用软件模块的管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328879A (ja) * 1995-05-31 1996-12-13 Nec Ic Microcomput Syst Ltd タスク管理方式
WO2002099639A1 (en) * 2001-06-04 2002-12-12 Radisys Corporation Method and apparatus to use task priority to scale processor performance
CN1409209A (zh) * 2001-09-24 2003-04-09 深圳市中兴通讯股份有限公司上海第二研究所 一种多任务实时操作系统的实现方法
US20050015767A1 (en) * 2003-07-01 2005-01-20 Brian Nash Operating system configuration tool
CN1744046A (zh) * 2004-08-31 2006-03-08 华为技术有限公司 实时操作系统环境下多任务应用软件模块的管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
开放式实时系统的调度方法研究. 邹勇.中国科学院研究生院学位论文. 2003 *

Also Published As

Publication number Publication date
CN1828542A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
US3662401A (en) Method of program execution
CN100377091C (zh) 嵌入式操作系统分组硬实时任务调度的实现方法
CN103294533A (zh) 任务流控制方法及系统
CN100538646C (zh) 一种在分布式系统中执行sql脚本文件的方法和装置
TW200401529A (en) System and method for the allocation of grid computing workload to network workstations
CN100383743C (zh) Java操作系统中实时任务调度方法
CN106354833A (zh) 一种基于b\s架构实现数据管理与共享交换的平台
CN102081554A (zh) 云计算操作系统及其内核控制系统及方法
CN105159736A (zh) 一种支持性能分析的SaaS软件部署方案的构建方法
CN101135981A (zh) 一种实现批量报表生成的方法及装置
CN106033373A (zh) 一种云计算平台中虚拟机资源调度方法和调度系统
US8694295B2 (en) System and method for time virtualization in computer systems
CN102707995A (zh) 基于云计算环境的业务调度的方法及装置
CN103268258A (zh) 一种卫星地面遥控发令安全控制方法
CN103677959B (zh) 一种基于组播的虚拟机集群迁移方法及系统
CN109271236A (zh) 一种业务调度的方法、装置、计算机存储介质及终端
CN101794239A (zh) 一种基于数据流模型的多处理器任务调度管理方法
CN100383742C (zh) Java操作系统中建立实时任务的实现方法
CN105446812A (zh) 一种多任务调度配置方法
CN103927244A (zh) 一种基于动态代理实现的插件调度过程监控的方法
CN100502544C (zh) 一种移动通讯系统软件版本升级的调度方法
CN116974994A (zh) 一种基于集群的高效能文件协作系统
CN115640278B (zh) 一种数据库性能智能优化的方法及系统
CN102163163A (zh) 无线传感器网络传感器小节点操作系统及其实现方法
CN103995743B (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080423

Termination date: 20120407