【技术实现步骤摘要】
用于线程调度的方法以及系统
本专利技术涉及用于线程调度的方法以及系统。更明确地说,本专利技术涉及用于以用户为中心的线程调度方法以及系统。
技术介绍
现今的操作系统中通常会维持一个运行队列(run-queue),用以选择其中一个线程作为下一调度候选者以用于执行。为考量公平性,每一线程被指派时间片以定义线程最多能够按其调度间隔运行多久,另外还设定每一线程的优先级以判断其执行次序。操作系统的调度器按优先次序将所有可运行的线程插入到运行队列,且选取具有最高优先级的线程作为将由处理器执行的下一调度候选者。对于例如智能电话、平板电脑(tablet computer)以及个人计算机等消费型电子装置,用户体验为非常重要的考量。然而,消费型电子装置的计算资源有限,当这种消费型电子装置的处理器同时执行过多进程或线程时,用户常感到明显滞后。
技术实现思路
因此,本专利技术涉及用于线程调度的方法以及系统,所述方法以及系统可将处理器的调度集中在前台进程以及操作系统的相关进程上以提供顺利而流畅的用户体验。本专利技术提供的方法以及系统简单且易于实施。本专利技术提供一种用于在具有用以执行操作系统的硬件处理器的电子装置中执行线程调度的方法。所述操作系统包含线程调度器以及队列管理器。所述方法包含以下步骤:判断多个预设条件中的至少一者是否满足。当预设条件中的一者满足时,启用由所述硬件处理器执行的虚拟管理器;通过所述线程调度器接收用于调度将执行的线程的请求。通过所述虚拟管理器屏蔽线程调度器以防其存取第一队列,第一队列包含处于可运行状态的多个第一线程;将线程调度器引导至第一虚拟队列以选择将 ...
【技术保护点】
一种用于在具有用以执行操作系统的硬件处理器的电子装置中执行线程调度的方法,其中所述操作系统包括线程调度器以及队列管理器,所述方法包括:判断是否满足多个预设条件中的至少一者;当满足所述多个预设条件中的一者时,启用由所述硬件处理器执行的虚拟管理器;通过所述线程调度器接收用于调度将执行的线程的请求;通过所述虚拟管理器屏蔽所述线程调度器以防存取第一队列,所述第一队列包括处于可运行状态的多个第一线程;将所述线程调度器引导至包括所述第一队列中的所述多个第一线程的第一部分的第一虚拟队列以选择将执行的所述线程,所述第一线程的所述第一部分与当前正在运行的至少一个应用程序相关联;以及通过所述硬件处理器调度选定的所述线程的执行。
【技术特征摘要】
2013.02.07 US 13/762,3291.一种用于在具有用以执行操作系统的硬件处理器的电子装置中执行线程调度的方法,其中所述操作系统包括线程调度器以及队列管理器,所述方法包括: 判断是否满足多个预设条件中的至少一者; 当满足所述多个预设条件中的一者时,启用由所述硬件处理器执行的虚拟管理器; 通过所述线程调度器接收用于调度将执行的线程的请求; 通过所述虚拟管理器屏蔽所述线程调度器以防存取第一队列,所述第一队列包括处于可运行状态的多个第一线程; 将所述线程调度器引导至包括所述第一队列中的所述多个第一线程的第一部分的第一虚拟队列以选择将执行的所述线程,所述第一线程的所述第一部分与当前正在运行的至少一个应用程序相关联;以及 通过所述硬件处理器调度选定的所述线程的执行。2.根据权利要求1所述的方法,还包括: 通过所述虚拟管理器产生包括与当前正在运行的所述应用程序相关联的进程的白名单;以及 通过所述虚拟管理器根据所述多个第一线程对所述白名单的从属性,将所述多个第一线程映射到所述第一虚拟队列以及第二虚拟队列。3.根据权利要求2所述的方法,其中所述白名单包括与前台应用程序、系统关键服务、时序关键后台应用程序或服务相关联的至少一个进程。4.根据权利要求2所述的方法,还包括: 根据当前正在所述电子装置上运行的应用程序更新所述白名单。5.根据权利要求2所述的方法,还包括: 通过队列管理器接收用于插入线程的请求; 通过所述虚拟管理器屏蔽所述队列管理器以防存取所述第一队列; 通过所述虚拟管理器根据所述白名单而判断所述第二虚拟队列中与所插入的线程相关联的线程;以及 通过所述虚拟管理器将所插入的线程以及所述第二虚拟队列中相关联的线程移动到所述第一虚拟队列中。6.根据权利要求2所述的方法,还包括: 通过所述调度器接收对所述第一队列中的线程的请求; 通过所述虚拟管理器拦截所述请求; 判断所请求的线程是否在所述第二虚拟队列中; 当所述所请求的线程在所述第二虚拟队列中时,通过所述虚拟管理器根据所述白名单判断所述第二虚拟队列中与所请求的线程相关联的线程;以及 通过所述虚拟管理器将所请求的线程以及所述第二虚拟队列中相关联的线程移动到所述第一虚拟队列中。7.根据权利要求2所述的方法,还包括: 判断当前正在所述电子装置上运行的前台应用程序; 于当前正在运行的所述前台应用程序被切换时,根据新的前台应用程序更新所述白名单;以及根据所述更新的白名单来更新所述第一虚拟队列以及所述第二虚拟队列。8.根据权利要求2所述的方法,还包括: 通过所述调度器判断所述第二队列中的多个第二线程的状态改变,所述多个第二线程处于休眠状态; 当所述第二线程中的至少一者的状态被改变时,向所述队列管理器发送用于插入具有状态改变的所述第二线程的请求; 通过所述虚拟管理器从所述队列管理器拦截所述用于插入具有状态改变的所述第二线程的请求;以及 根据所述白名单而将具有状态改变的所述第二线程插入到所述第一虚拟队列或所述第二虚拟队列中。9.根据权利要求1所述的方法,其中所述预设条件包括以下各项中的至少一者:所述硬件处理器的使用率超过预定阈值、时序关键应用程序或服务的需求、耦接到所述硬件处理器的总线的流通量,以及所述硬件处理器的吞吐量。10.根据权利要求1所述的方法,还包括: 通过所述队列管理器接收用于删除线程的请求; 通过所述虚拟管理器屏蔽所述队列管理器以防存取所述第一队列;以及 从...
【专利技术属性】
技术研发人员:张文彦,吴志聪,陈定伦,陈高斌,
申请(专利权)人:宏达国际电子股份有限公司,
类型:发明
国别省市:中国台湾;71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。