The invention discloses an adaptive dynamic adjustment thread scheduling system and method, which can solve the problems of continuous preemption of high priority tasks and easy miss of short period tasks in task scheduling of ground test equipment. The technical scheme of the invention is that the threads in ready state are divided into periodic threads and aperiodic threads by adopting a preprocessing module. Priority calculation module is used to calculate priority and priority weight parameters for periodic and aperiodic threads respectively by preset priority formula. The scheduling module is selected according to priority to switch the thread in the ready state into the running state. The state acquisition module is used to collect the weight parameters of the priority thread to get into the running state. Scheduled state memory module is used to store the priority weight parameters of the thread which is in running state.
【技术实现步骤摘要】
一种自适应动态调整的线程调度系统及方法
本专利技术涉及嵌入式软件
技术介绍
在航天测控系统中,地面测试设备负责对应答机进行全方位、多场景的地面测试验证,对于地面测试设备来说,人机交互功能是其重要的功能。嵌入式软件完成人机交互功能的实现,是地面测试设备的主要控制软件。在测控地面测试设备中,嵌入式软件的任务调度算法和数据传输机制是影响软件性能的重要因素。对嵌入式软件中任务进行分析,现有的低优先级的非周期任务、周期软实时任务平均响应时间过长,主要表现在:(1)在存在多种优先级同时就绪的情况下,高优先级任务的持续抢占,使得其他低优先级的任务长期得不到执行。(2)在基于优先级的时间片轮转调度,调度机制没有全方面考虑任务在任意时刻的状态特性,如处理器处理多个线程时,规定每个线程执行1毫秒后切换到另一个线程,对于即将结束的线程,依然要等待处理器将其他线程每个执行1毫秒后才能进行,这就增长了整体执行的时间,效率较低。由于执行周期长的线程获得较大的时间片分配,对于测控地面测试设备中需要快速反应的任务、剩余时间相对较短的任务,任务被错失的概率较大。实时调度可以分为三类:优先级驱动、共享驱动、定时驱动三类。目前,国内外对地面测试设备的多线程任务调度的研究主要集中在两个方面:(1)对于周期任务的静态调度算法,根据任务执行周期的长短进行优先级分配。执行周期越长,优先级越低;执行周期越短,优先级越高。(2)对于周期任务的动态优先级调度算法,根据到达任务的截止期,动态计算其优先级大小。到达任务的截止期越短则其越紧急,对应优先级应越高。从大型机系统到嵌入式系统,现在主流地面测试 ...
【技术保护点】
1.一种自适应动态调整的线程调度系统,其特征在于,针对处理器中执行的软件,采用所述系统对软件中的线程进行调度,所述系统包括:预处理模块,配置用于将处于就绪状态的线程分成周期线程和非周期线程;优先级计算模块,配置用于针对所述周期线程和非周期线程采用预先设定的优先级公式分别计算优先级以及优先级的权重参数;调度模块,配置用于依据优先级选择处于就绪状态的线程切换进入运行状态;状态采集模块,配置用于采集获取进入运行状态的线程的优先级的权重参数;调度状态存储模块,配置用于存储采集获取的进入运行状态的线程的优先级的权重参数。
【技术特征摘要】
1.一种自适应动态调整的线程调度系统,其特征在于,针对处理器中执行的软件,采用所述系统对软件中的线程进行调度,所述系统包括:预处理模块,配置用于将处于就绪状态的线程分成周期线程和非周期线程;优先级计算模块,配置用于针对所述周期线程和非周期线程采用预先设定的优先级公式分别计算优先级以及优先级的权重参数;调度模块,配置用于依据优先级选择处于就绪状态的线程切换进入运行状态;状态采集模块,配置用于采集获取进入运行状态的线程的优先级的权重参数;调度状态存储模块,配置用于存储采集获取的进入运行状态的线程的优先级的权重参数。2.如权利要求1所述的系统,其特征在于,所述优先级计算模块,还配置用于:针对所述周期线程,所述预先设定优先级公式为:所述周期线程的优先级为在线程的初始优先级的基础上,增加由线程的周期、截止期以及剩余空闲时间依权重计算的周期线程优先级调整值;所述周期线程的优先级的权重参数即为线程的周期、截止期以及剩余空闲时间的权重;针对所述非周期线程,所述预先设定的优先级公式为:当任务价值为1时,所述非周期线程的优先级设置为比当前处于运行状态的线程高一级;所述非周期线程的优先级的权重参数为0;当任务价值为0时,所述非周期线程的优先级为在线程的初始优先级的基础上,增加由截止期以及剩余空闲时间依权重计算的非周期线程优先级调整值;所述非周期线程的优先级的权重参数为截止期以及剩余空闲时间的权重。3.如权利要求2所述的系统,其特征在于,所述周期线程为周期硬实时线程时,所述线程的周期、截止期以及剩余空闲时间的权重分别为:其中t为当前时间;其中表示所述周期硬实时线程的开始执行时间,eZH表示所述周期硬实时线程的执行时间,表示所述周期硬实时线程被抢占之后等待的时间;线程的周期、截止期以及剩余空闲时间均为所述周期硬实时线程的已知的属性参数;所述周期线程为周期软实时线程时,所述线程的周期、截止期以及剩余空闲时间的权重分别为:其中表示所述周期软实时线程的开始执行时间,eZS表示所述周期软实时线程的执行时间,表示所述周期软实时线程被抢占之后等待的时间;线程的周期、截止期以及剩余空闲时间均为所述周期软实时线程的已知的属性参数。4.如权利要求2所述的系统,其特征在于,针对所述非周期线程,所述预先设定的优先级公式,其中当任务价值为0时,所述非周期线程的截止期以及剩余空闲时间的权重分别为:其中t为当前时间,表示所述非周期线程的开始执行时间,ef表示所述非周期线程的执行时间,表示所述非周期线程被抢占之后等待的时间;均为所述非周期线程的已知的属性参数。所述非周期线程的截止期为ef/(U/sum);U为处理器利用率;sum为所述处理器中执行的软件中总...
【专利技术属性】
技术研发人员:朱洪恩,
申请(专利权)人:吉林省星途科技有限公司,
类型:发明
国别省市:吉林,22
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。