[发明专利]多任务调度方法、电子装置和计算机存储介质在审
申请号: | 202011246810.7 | 申请日: | 2020-11-10 |
公开(公告)号: | CN112416546A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 曾凌霄;叶菲;周华 | 申请(专利权)人: | 光华临港工程应用技术研发(上海)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京磐华捷成知识产权代理有限公司 11851 | 代理人: | 翟海青 |
地址: | 201306 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 电子 装置 计算机 存储 介质 | ||
本发明提供了一种嵌入式系统的多任务调度方法、电子装置和计算机存储介质。所述多任务调度方法包括:任务调度内核初始化:至少包括定义挂起队列、定义就绪队列、设置系统时钟、配置任务计时器;创建任务:在创建任务的过程中至少指定任务的优先级和响应时间,并指定任务的函数指针;任务调度:根据调度策略,选择将要运行的就绪任务分配系统资源;任务删除:在所述挂起队列中查找已运行的任务,并将已运行的任务删除。该多任务调度方法能够允许多个任务并行,执行速度快,能够满足实时性要求。
技术领域
本发明涉及计算机技术领域,更具体地涉及多任务调度方法、电子装置和计算机存储介质。
背景技术
嵌入式系统是一种嵌入机械或电气系统内部、具有专门功能和计算性能的计算机系统。主要适用于对于功能、可靠性、成本、体积、功耗等有严格要求和限制的应用领域。
随着嵌入式系统的发展,嵌入式软件的复杂程度越来越高,也因此在嵌入式系统软件开发中引入了嵌入式操作系统。嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,用于管理越来越复杂的系统资源,为嵌入式软件提供多任务的运行环境,使得嵌入式软件的开发更加便利,同时提高了系统的可靠性和稳定性。
在大部分的嵌入式操作系统中,多任务是以多线程的形式来实现的,从这类系统的角度来看,线程是竞争系统资源的最小运行单位,可竞争的系统资源包括系统处理器、输入/输出设备以及内存等。并且线程之间相互独立,并发运行,此类操作系统称作多线程操作系统。此类操作系统的代表产品有实时操作系统VxWorks、硬实时操作系统ThreadX和实时多任务操作系统Nucleus Plus、实时操作系统RT-Thread等。
但是对于一部分功能相对简单的嵌入式系统而言,使用嵌入式操作系统会有灵活度低复杂度高的问题,同时对嵌入式操作系统内核进行维护所花费的开销也不可小视。因此如何设计一种简单、灵活、轻量级的任务调度内核是目前亟待解决的技术问题。
发明内容
本发明实施例提供一种多任务调度方法、电子装置和计算机可读存储介质,以至少解决上述的问题之一。
根据本发明的第一方面,提供了一种嵌入式系统的多任务调度方法,所述多任务调度方法包括:
任务调度内核初始化:至少包括定义挂起队列、定义就绪队列、设置系统时钟、配置任务计时器;
创建任务:在创建任务的过程中至少指定任务的优先级和响应时间,并指定任务的函数指针;
任务调度:根据调度策略,选择将要运行的就绪任务分配系统资源;
任务删除:在所述挂起队列中查找已运行的任务,并将已运行的任务删除。
在一个示例中,在所述挂起队列中查找已运行的任务,并将已运行的任务删除,包括:
在所述挂起队列中查找已运行的任务,并将已运行的任务对应的函数指针置空,以删除任务。
在一个示例中,所述任务调度包括以下步骤:
保护现场:关闭中断,并保存当前运行的任务的上下文信息至该任务对应的控制块中;
运行任务:检查所述就绪队列中是否有就绪任务,其中,当有就绪任务时,通过调度算法取出所述就绪队列中的就绪任务,并调用任务运行函数将从所述就绪队列中取出的就绪任务设置为运行状态;
恢复现场:关闭中断,并调取所述上下文信息恢复现场,之后打开中断。
在一个示例中,所述调度算法包括:
当所述就绪队列中有等待时间超过允许等待时间的任务,则运行该任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于光华临港工程应用技术研发(上海)有限公司,未经光华临港工程应用技术研发(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011246810.7/2.html,转载请声明来源钻瓜专利网。