一种处理器调度方法及系统技术方案

技术编号:14339626 阅读:42 留言:0更新日期:2017-01-04 12:10
本发明专利技术适用于通信技术领域,提供了一种处理器调度方法及系统,该方法包括:接收线程优先级或时间片修改指令;修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程;当前处于运行状态的线程退出内核独占区时,将所述处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。本发明专利技术融合了优先级强制机制和时间片轮转机制,在不同优先级的线程间采用优先级抢占机制,在相同优先级线程间采用时间片轮转机制,因为是基于线程的调度机制,所以线程间切换所消耗的资源很小,因此,其提升了不同和相同优先级线程之间在占有CPU的切换效率,也兼顾了线程间占有处理器资源的公平性,系统实时性高。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种处理器调度方法及系统
技术介绍
双系统智能终端可以同时运行2个独立的系统(例如安全系统和标准系统),两个系统的应用也都是独立的。这两个系统都是运行在虚拟层之上的,并且该虚拟层进行处理器调度时候,所采用的处理器调度算法是基于进程优先级的调度算法。进程处于生存周期里有三种状态:就绪、执行和阻塞,这三种状态之间的切换都由进程调度程序控制。进程通常被定义为一个正在运行的程序的实例,它是资源分配的单位,进程可以支持多个线程,一个进程中的多个线程共享相同的内存地址空间。因为现有的双系统智能终端是基于进程优先级的调度算法,而进程间切换会比较消耗资源,所以进程间切换频繁的话,效率会比较差,处理器资源的利用率就不会很高。并且当最高优先级任务在运行时,它将持续占有CPU直到结束或阻塞,否则其他任务无法获得运行机会,因此系统的实时性会比较差。综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种处理器调度方法及系统,其提升了不同和相同优先级线程之间在占有CPU的切换效率,也兼顾了线程间占有处理器资源的公平性,系统实时性高。为了实现上述目的,本专利技术提供一种处理器调度方法,所述方法包括如下步骤:接收线程优先级或时间片修改指令;修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程;当前处于运行状态的线程退出内核独占区时,将所述处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。根据本专利技术的处理器调度方法,所述修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程的步骤之后还包括:判断所述处于就绪状态且优先级最高的线程的优先级是否比所述当前处于运行状态的线程的优先级高;若是则所述处理器内核中断执行所述当前处于运行状态的线程,否则等待所述当前处于运行状态的线程的时间片结束。根据本专利技术的处理器调度方法,所述方法还包括:在所述处于就绪状态且优先级最高的线程具有多个时,按照各线程的时间片比例轮流在所述处理器中执行。根据本专利技术的处理器调度方法,判断所述处于就绪状态且优先级最高的线程的优先级是否比所述当前处于运行状态的线程的优先级高的步骤之前还包括:检查函数是否被线程调度以及所述处理器内核是否允许线程调度,若是则计算处于就绪状态的线程的最高优先级。根据本专利技术的处理器调度方法,修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程的步骤包括:判断待修改优先级的线程的状态;若所述待修改优先级的线程为就绪状态,则在修改所述线程的优先级后获取处于就绪状态且优先级最高的线程;若所述待修改优先级的线程不为就绪状态,则等待当前处于运行状态的线程退出内核独占区。本专利技术相应提供一种处理器调度系统,所述系统包括:指令接收模块,用于接收线程优先级或时间片修改指令;处理模块,用于修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程;执行模块,用于当前处于运行状态的线程退出内核独占区时,将所述处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。根据本专利技术的处理器调度系统,所述处理模块还包括第一判断单元,所述第一判断单元用于判断所述处于就绪状态且优先级最高的线程的优先级是否比所述当前处于运行状态的线程的优先级高;所述执行模块还用于所述处于就绪状态且优先级最高的线程的优先级比所述当前处于运行状态的线程的优先级高时,请求所述处理器内核中断执行所述当前处于运行状态的线程,否则等待所述当前处于运行状态的线程的时间片结束。根据本专利技术的处理器调度系统,所述执行模块还用于在所述处于就绪状态且优先级最高的线程具有多个时,按照各线程的时间片比例轮流在所述处理器中执行。根据本专利技术的处理器调度系统,所述处理模块还包括检查单元,用于检查函数是否被线程调度以及所述处理器内核是否允许线程调度,若是所述处理模块则计算处于就绪状态的线程的最高优先级。根据本专利技术的处理器调度系统,所述处理模块还包括第二判断单元,所述第二判断单元用于判断待修改优先级的线程的状态;所述执行模块还用于在所述待修改优先级的线程为就绪状态时,在修改所述线程的优先级后获取处于就绪状态且优先级最高的线程;所述执行模块还用于在所述待修改优先级的线程不为就绪状态时,则等待当前处于运行状态的线程退出内核独占区。本专利技术通过修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程,当前处于运行状态的线程退出内核独占区时,将处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。本专利技术融合了优先级强制机制和时间片轮转机制,在不同优先级的线程间采用优先级抢占机制,在相同优先级线程间采用时间片轮转机制,因为是基于线程的调度机制,所以线程间切换所消耗的资源很小,因此,其提升了不同和相同优先级线程之间在占有CPU的切换效率,也兼顾了线程间占有处理器资源的公平性,系统实时性高。附图说明图1是本专利技术一种处理器调度系统的原理框图;图2是本专利技术一种实施例中动态修改线程优先级的流程图;图3是本专利技术一种实施例中动态修改线程时间片的流程图;图4是本专利技术一种处理器调度方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术提供一种处理器调度系统100,系统100可应用于双系统智能终端中,该智能终端可以是手机、PDA(PersonalDigitalAssistant,个人数字助理)、平板电脑等通信终端。该系统100可以是内置于移动终端的软件单元,硬件单元或软硬件结合单元。该系统100包括指令接收模块10、处理模块20以及执行模块30。指令接收模块10,用于接收线程优先级或时间片修改指令。线程的优先级和时间片是在建立的时候分配的,但线程在程序运行期间动态实时修改优先级和时间片。例如在进入代码的关键部分之前(在此期间,线程常常使用由锁定控制的共享资源),线程常常请求提高优先级,以降低在执行关键部分时线程被抢险的可能性,当线程完成代码的关键部分之后,锁定被释放,线程的优先级被操作系统重置。在双系统移动终端的安全系统和标准系统同时有多个进程存在的情况下,会进行线程调度修改优先级和时间片。线程调度是指按照特定机制为多个线程分配处理器的使用权。处理模块20,用于修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程。在修改某个线程的优先级后,线程缓冲池内的线程优先级排序会发生变化,此时需要选择处于就绪状态且优先级最高的线程待执行。执行模块30,用于当前处于运行状态的线程退出内核独占区时,将处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。在处于就绪状态且优先级最高的线程具有多个时,执行模块30按照各线程的时间片比例轮流在处理器中执行。具体的,每一个线程具有一时间片,其占用内核独占区的时间由该时间片决定。当前处于运行状态的线程时间片结束时退出处理器的内核独占区,处于就绪状态且优先级最高的线程进入内核独占区占用处理器资源。处理模块20还包括第一判断单元21,第一判断单元21用于判断处于就绪状态且优先级最高的本文档来自技高网...
一种处理器调度方法及系统

【技术保护点】
一种处理器调度方法,其特征在于,所述方法包括如下步骤:接收线程优先级或时间片修改指令;修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程;当前处于运行状态的线程退出内核独占区时,将所述处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。

【技术特征摘要】
1.一种处理器调度方法,其特征在于,所述方法包括如下步骤:接收线程优先级或时间片修改指令;修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程;当前处于运行状态的线程退出内核独占区时,将所述处于就绪状态且优先级最高的线程按照其时间片长短在处理器中执行。2.根据权利要求1所述的处理器调度方法,其特征在于,所述修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程的步骤之后还包括:判断所述处于就绪状态且优先级最高的线程的优先级是否比所述当前处于运行状态的线程的优先级高;若是则所述处理器内核中断执行所述当前处于运行状态的线程,否则等待所述当前处于运行状态的线程的时间片结束。3.根据权利要求1所述的处理器调度方法,其特征在于,所述方法还包括:在所述处于就绪状态且优先级最高的线程具有多个时,按照各线程的时间片比例轮流在所述处理器中执行。4.根据权利要求2所述的处理器调度方法,其特征在于,判断所述处于就绪状态且优先级最高的线程的优先级是否比所述当前处于运行状态的线程的优先级高的步骤之前还包括:检查函数是否被线程调度以及所述处理器内核是否允许线程调度,若是则计算处于就绪状态的线程的最高优先级。5.根据权利要求1所述的处理器调度方法,其特征在于,修改线程的优先级或时间片并获取处于就绪状态且优先级最高的线程的步骤包括:判断待修改优先级的线程的状态;若所述待修改优先级的线程为就绪状态,则在修改所述线程的优先级后获取处于就绪状态且优先级最高的线程;若所述待修改优先级的线程不为就绪状态,则等待当前处于运行状态的线程退出内核独占区。6.一种处理器调度系统,其特征在于,所述...

【专利技术属性】
技术研发人员:周军
申请(专利权)人:宇龙计算机通信科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1