[发明专利]一种多任务操作环境状态的计算机调度方法有效
申请号: | 201410260884.4 | 申请日: | 2014-06-12 |
公开(公告)号: | CN104021041B | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 杨育红;苏伟;王振华 | 申请(专利权)人: | 山西江河海融科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 山西五维专利事务所(有限公司)14105 | 代理人: | 雷立康,郭海燕 |
地址: | 030006 山西省太原市*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 操作 环境 状态 计算机 调度 方法 | ||
技术领域
本发明属于基于状态的多任务操作环境的计算机调度技术领域,具体涉及一种多任务操作环境状态的计算机调度方法。
背景技术
在一个复杂的工业控制系统中,如果可以将这个系统划分为若干个有限的状态,然后对每个状态下的任务分别实时的调度和处理,会使得系统控制变得简单明了,非常便于系统的维护和管理。在现有的几种多任务操作环境的调度方法有如下几种:
1、基于位图优先级的调度方法是:首先建立了64个优先级位图,每个任务一个优先级,将所有的任务都分配一个优先级,然后调度器会按照优先级的先后顺序来调度系统任务,任务的数量不能超过64个。对于有大量的任务处理时,这种调度方法就失效了,而且每个事件都要建立64个位图,因此会消耗大量内存。uCOS就具有这方面的代表性。
2、基于队列优先级的调度方法是:建立一组优先级为8级或16级的队列,每级优先级队列中可以包含若干个同等优先级的任务,调度器首先按照优先级高的任务先调度,然后在同级别中的任务按照等时间片的方法调度。任务数量没有限制,内存消耗小,但是处理状态任务时,由于不能在调度层处理状态切换和任务调度管理,因此在任务层上完成状态切换和相应的任务调度就会非常复杂。FreeRTOS具有这方面的代表性。
3、基于层级管理的调度方法是:将系统任务分为硬件层驱动、系统层任务和应用层任务的三级任务,硬件层驱动高于系统层任务,而系统层任务级别高于应用层级别,硬件层驱动为系统层任务服务,系统层任务服务于应用层任务,硬件层驱动和系统层任务在系统后台执行,调度器在调度应用层的任务时,根据应用层任务的需求分别挂载硬件层驱动和系统层任务,当硬件层驱动或系统任务有该应用层所等待的事件被触发后,调度器通知应用层任务。windowsCE、uClinux具有这方面的代表性。
综上,在基于状态的多任务操作环境的计算机调度方法中,上述各个系统调度方法的执行效率和系统开发成本的控制都不理想,都是基于任务的调度,没有在操作系统级上直接处理状态和任务。
发明内容
本发明主要针对现有的多任务操作环境的调度方法存在消耗内存大和任务调度复杂的问题,提供一种多任务操作环境状态的计算机调度方法。
本发明为解决上述问题而采取的技术方案为:
一种多任务操作环境状态的计算机调度方法,包括一个多状态调度器和一个二级多任务调度器,所述的多状态调度器从工业控制作业、流程中的多个状态中选定第一种任务状态,二级多任务调度器启动第一种任务状态下的二级任务群和所述二级任务群的硬件资源,当二级多任务调度器调度的第一种任务状态下的二级任务达到第二种任务状态的切换条件时,多状态调度器就会关闭第一种任务状态下的二级任务群及所用的硬件资源,启动第二种任务状态,此时二级多任务调度器启动第二种任务状态下的二级任务群和该二级任务群所需的硬件资源,当二级多任务调度器调度的第二种任务状态下的二级任务达到第三种任务状态的切换条件时,多状态调度器就会关闭第二种任务状态下的二级任务群及所用的硬件资源,启动第三种任务状态,依次循环直至完成工业控制的作业和流程。
所述多状态调度器的调度步骤如下:
(1)、启动工业控制装置,初始化工业控制装置基本的硬件资源,建立工业控制装置中作业、流程的任务状态;
(2)、建立不同任务状态之间的切换条件;
(3)、建立每个任务状态下的二级任务群的登记表;
(4)、启动多状态调度器并进入第一种任务状态;
(5)、建立第一种任务状态下的二级任务群,将二级任务群登录到第一种任务状态下的二级任务群的登记表中,其中所述的二级任务群中的任务包括高优先级的二级任务、相同优先级的二级任务和需要剥夺内核的二级任务;
(6)、二级多任务调度器进行二级任务群调度并运行该二级任务群中的任务;
(7)、当所述二级任务群中的任务运行到第二种任务状态所需要的切换条件时,则开始建立第二种任务状态的二级任务群,并将二级任务群登录到第二种任务状态下的二级任务群的登记表中,二级多任务调度器进行二级任务群调度并运行该二级任务群中的任务;当所述二级任务群中的任务运行到第三种任务状态所需要的切换条件时,则开始建立第三种任务状态的二级任务群,依次循环直至完成工业控制的作业和流程。
所述二级多任务调度器的调度步骤如下:
(1)、初始化第一种任务状态下的二级任务群所需的堆栈、内存;
(2)、初始化并启动第一种任务状态下的二级任务群所需的输入输出硬件设备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西江河海融科技有限公司,未经山西江河海融科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410260884.4/2.html,转载请声明来源钻瓜专利网。