一种多应用进程的嵌入式系统终端资源管理系统及方法

文档序号:6558267阅读:199来源:国知局
专利名称:一种多应用进程的嵌入式系统终端资源管理系统及方法
技术领域
本发明涉及嵌入式系统多应用支撑技术,主要是实现在支持多应用同时运行场景下面向应用进程的嵌入式系统终端资源管理方法,具体涉及一种多应用进程的嵌入式系统终端资源管理系统及方法。
背景技术
终端资源管理是嵌入式系统的重要组成部分。终端资源管理为运行于嵌入式系统上的各应用程序提供终端资源的访问方法,如CPU、内存、网络带宽、解码器、解复用通道、图形等。在多应用同时运行的环境下,有限的嵌入式系统终端资源很容易出现某种终端资源过载的情况,或者由于解码器等共享终端资源的互斥性使得使用该终端资源的多个应用不能同时正常运行,终端资源管理用于协调多应用进程对共享终端资源的使用,保证两个应用进程不能同时使用同一互斥性终端资源,且应保证用户更感兴趣的应用获得终端资源的优先访问权,并且保证在共享终端资源过载时,优先满足用户更感兴趣的应用的终端资源需求。在现有的实时嵌入式系统中,多采用任务调度与终端资源访问控制相结合的终端资源管理方法。应用运行前,系统为其分配一个优先级,调度程序保证当前运行的应用在任务调度队列中拥有最高优先级,高优先级应用可抢占低优先级应用的运行时间。当高优先级应用因其所需终端资源被低优先级应用占用而发生阻塞时,低优先级应用在使用该终端资源期间继承高优先级应用的优先级,避免优先级倒挂,如此高优先级应用需阻塞直至低优先级应用完成对该终端资源的使用。然而对于面向消费者用户的支持多应用同时运行的嵌入式终端,具有解码器、解复用器等多种音视频终端资源,当多个应用同时需要访问这些终端资源时,不能像CPU — 样进行“时分复用”,因此这种终端资源的管理遵循先到先得的原则,应用运行时发现所需要的终端资源被占用后由开发者决定其处理策略,主要有如下两种(1)应用退出运行(2)应用阻塞等待终端资源在面向消费者用户的支持多应用同时运行的的嵌入式终端中,任务调度和终端资源访问控制应充分考虑用户的需求,不同的用户对各种应用的偏好不同,而同一用户对应用的关注度也是动态变化的,因此调度策略也应做相应的动态调整。如采用应用优先级策略进行调度,那么应用进程的优先级应随应用类型和用户关注度的变化而动态变化,用户当前所关注的应用进程在系统中应具备最高优先级,系统应保障当前最高优先级应用的正常运行,保证用户所关注应用的正常运行。在多应用同时运行场景下,利用应用类型和用户关注度动态调整应用进程优先级,并采用可抢占的终端资源管理系统和方法还未见报道。

发明内容
本发明要解决现有嵌入式系统的任务调度和终端资源访问控制方法无法满足用户随心所欲使用应用的缺陷,提供一种结合应用调度和终端资源调度的终端资源管理系统和方法,即一种多应用进程的嵌入式系统终端资源管理系统及方法。为实现上述目的,本发明提供一种多应用进程的嵌入式系统终端资源管理系统, 该嵌入式系统终端资源管理系统包括应用进程调度模块和终端资源调度模块,其特征在于,所述应用进程调度模块,用于当多应用同时运行时,根据应用类型和用户使用应用的统计规律建立应用进程的动态优先级;和所述终端资源调度模块,用于当嵌入式系统终端资源管理系统中运行的应用较多而导致该嵌入式系统终端资源管理系统中的终端资源过载或冲突时,触发该终端资源调度模块重新进行终端资源的优化分配和调度;当有新应用开始运行时,触发该终端资源调度模块进行终端资源的优化分配和调度,为所述应用程序分配终端资源;及当所述应用进程优先级发生变化时,触发该终端资源调度模块进行终端资源的优化分配和调度,优先保证用户的高优先级应用的可靠运行;其中,如果所述的应用进程调度模块发现某个应用进程优先级发生变化或有应用进程退出时,该应用进程调度模块通知所述终端资源调度模块重新进行所述终端终端资源的规划和调度,所述应用进程均通过所述终端资源调度模块提供的策略进行终端终端资源访问;所述终端资源包含CPU、内存、硬盘、解码器、解复用器和图形引擎。上述技术方案中,所述应用进程调度模块进一步包含状态控制子模块,用于控制运行中的应用进程的运行状态;应用进程信息记录子模块,用于实时监控所述运行中的应用进程运行状态及应用进程切换规律,记录用户使用应用进程的历史信息;和优先级建立子模块,结合所述应用进程信息记录子模块的信息通过分析和预测用户对所述运行中的应用进程的需求为各应用进程动态建立优先级列表;其中,所述的运行中的应用进程的运行状态包含就绪、活动、暂停和销毁。上述技术方案中,所述的应用进程信息记录子模块记录的信息包括应用程序被加载的时间,应用程序在前台运行的次数和每次的运行时长,用户关注点的切换信息且至少包括用户关注点在各应用之间切换的转移概率。所述的优先级建立子模块为当前在前台运行的应用进程定义最高优先级。所述的应用进程切换状态包含启动、暂停、恢复和停止。所述的应用进程优先级列表中的信息包括应用进程的ID,优先级,应用需要的各种终端资源的最大数量和应用进程在当前屏幕中的窗口位置。上述技术方案中,所述终端资源调度模块进一步包含终端资源规划子模块,当某种所述终端终端资源过载或冲突时,实现该终端资源的竞争调度和优化分配,生成相应的应用进程调度列表;终端资源监控子模块,用于系统开机时终端资源收集所述嵌入式系统的终端终端资源信息,建立所述终端终端资源的状态列表,并进行实时监控,维护所述终端终端资源的使用状态;终端资源分配子模块,用于为运行中的应用进程提供终端资源访问的控制方法;禾口终端资源信息维护子模块,用于维护所述终端终端资源的状态列表。上述技术方案中,所述的终端资源使用状态由终端资源的剩余可用数量决定,具体包含以下两种状态可用和过载;其中,所述的剩余终端资源可用数量为Rfree — Rtotal_Rsys_Rapp_Rresv_Rthreshold其中,Rftrajij终端资源剩余可用数量,Rt。tau系统终端资源总量、Rsysjij系统服务占用终端资源数量、Rapp为应用进程占用终端资源数量、Rresv为高优先级应用进程预留终端资源数量,Rth Sh。id为阈值。基于以上所述系统本发明还提供一种多应用进程的嵌入式系统终端资源管理方法,该方法根据应用类型和用户使用应用的统计规律建立应用进程的动态优先级实现终端终端资源的竞争调度,所述的方法包含建立应用进程的动态优先级的步骤,该步骤用于当多应用同时运行时,根据应用类型和用户使用应用的统计规律建立和调整应用进程的动态优先级;终端资源调度的步骤,当所述应用进程优先级发生变化时,进行终端资源竞争调度过程重新对终端资源进行竞争调度,优先保证高优先级应用的可靠运行;其中,所述的终端资源调度的步骤还包含当系统中运行的应用较多而导致某种终端终端资源过载或冲突时或当有新应用启动或者有应用退出嵌入式系统时进行终端资源竞争调度过程,重新对所述终端终端资源进行竞争调度;所述的终端资源具体包含终端的图像资源和非图像资源。上述技术方案中,所述建立应用进程的动态优先级的步骤进一步包含状态控制子步骤,该步骤控制运行中的应用进程的运行状态;应用进程信息记录子步骤,该步骤实时监控所述运行中的应用进程运行状态及应用进程切换规律,记录并维护用户使用应用进程的历史信息;优先级建立子步骤,该步骤依据所述用户使用应用进程的历史信息通过分析和预测用户对所述运行中的应用进程的需求为各应用进程动态建立优先级列表。其中,所述的应用进程的历史信息包含应用程序被加载的时间,应用程序在前台运行的次数和每次的运行时长,用户关注点的切换信息且至少包括用户关注点在各应用之间切换的转移概率;所述的优先级建立子步骤为当前在前台运行的应用进程定义最高优先级;所述的应用进程优先级列表中的信息包括应用进程的ID,优先级,应用需要的各种终端资源的最大数量和应用进程在当前屏幕中的窗口位置。上述技术方案中,所述的维护应用进程的历史信息具体包含如下步骤(100)当用户开始关注应用进程i时,H[i] [i]加一;(101)当用户从应用进程i跳转到应用进程j时,H[i] [i]加一,T[i]的使用次数 T[i]fre加一,最后一次的使用时长T[i].dUrati0n[fre]为本次使用应用进程i的时间长度;其中,N为系统中所有应用进程的总数;H[i] [i]为一个N*N矩阵;T[i]是一个二元组(fre,duration[fre]),包含用户使用应用i的次数和每次的使用时长。
上述技术方案中,所述的动态建立和调整优先级的包含如下步骤(200)计算用户使用应用的转移概率矩阵S,计算方法可采用如下公式所示
权利要求
1.一种多应用进程的嵌入式系统终端资源管理系统,该嵌入式系统终端资源管理系统包括应用进程调度模块和终端资源调度模块,其特征在于,所述应用进程调度模块,用于当多应用同时运行时,根据应用类型和用户使用应用的统计规律建立应用进程的动态优先级;和所述终端资源调度模块,用于当嵌入式系统终端资源管理系统中运行的应用较多而导致该嵌入式系统终端资源管理系统中的终端资源过载或冲突时,触发该终端资源调度模块重新进行终端资源的优化分配和调度;当有新应用开始运行时,触发该终端资源调度模块进行终端资源的优化分配和调度,为所述应用程序分配终端资源;及当所述应用进程优先级发生变化时,触发该终端资源调度模块进行终端资源的优化分配和调度,优先保证用户的高优先级应用的可靠运行;其中,如果所述的应用进程调度模块发现某个应用进程优先级发生变化或有应用进程退出时,该应用进程调度模块通知所述终端资源调度模块重新进行所述终端终端资源的规划和调度,所述应用进程均通过所述终端资源调度模块提供的策略进行终端终端资源访问;所述终端资源包含CPU、内存、硬盘、解码器、解复用器和图形引擎。
2.根据权利要求1所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述应用进程调度模块进一步包含状态控制子模块,用于控制运行中的应用进程的运行状态;应用进程信息记录子模块,用于实时监控所述运行中的应用进程运行状态及应用进程切换规律,记录用户使用应用进程的历史信息;和优先级建立子模块,结合所述应用进程信息记录子模块的信息通过分析和预测用户对所述运行中的应用进程的需求为各应用进程动态建立优先级列表;其中,所述的运行中的应用进程的运行状态包含就绪、活动、暂停和销毁。
3.根据权利要求2所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述的应用进程信息记录子模块记录的信息包括应用程序被加载的时间,应用程序在前台运行的次数和每次的运行时长,用户关注点的切换信息且至少包括用户关注点在各应用之间切换的转移概率。
4.根据权利要求2所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述的优先级建立子模块为当前在前台运行的应用进程定义最高优先级。
5.根据权利要求2所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述的应用进程切换状态包含启动、暂停、恢复和停止。
6.根据权利要求2所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述的应用进程优先级列表中的信息包括应用进程的ID,优先级,应用需要的各种终端资源的最大数量和应用进程在当前屏幕中的窗口位置。
7.根据权利要求1所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述终端资源调度模块进一步包含终端资源规划子模块,当某种所述终端终端资源过载或冲突时,实现该终端资源的竞争调度和优化分配,生成相应的应用进程调度列表;终端资源监控子模块,用于系统开机时终端资源收集所述嵌入式系统的终端终端资源信息,建立所述终端终端资源的状态列表,并进行实时监控,维护所述终端终端资源的使用状态;终端资源分配子模块,用于为运行中的应用进程提供终端资源访问的控制方法;和终端资源信息维护子模块,用于维护所述终端终端资源的状态列表。
8.根据权利要求3所述的多应用进程的嵌入式系统终端资源管理系统,其特征在于, 所述的终端资源使用状态由终端资源的剩余可用数量决定,具体包含以下两种状态可用和过载;其中,所述的剩余终端资源可用数量为D— D _D _D _D _Dfreetotal ^^sys ^-^app resv "^threshold其中,Rfre^终端资源剩余可用数量,Rt。ta^系统终端资源总量、Rsy^系统服务占用终端资源数量、Rapp为应用进程占用终端资源数量、Rresv为高优先级应用进程预留终端资源数量,Rthreshold为阈值。
9.一种多应用进程的嵌入式系统终端资源管理方法,该方法根据应用类型和用户使用应用的统计规律建立应用进程的动态优先级实现终端终端资源的竞争调度,所述的方法包含建立应用进程的动态优先级的步骤,该步骤用于当多应用同时运行时,根据应用类型和用户使用应用的统计规律建立和调整应用进程的动态优先级;终端资源调度的步骤,当所述应用进程优先级发生变化时,进行终端资源竞争调度过程重新对终端资源进行竞争调度,优先保证高优先级应用的可靠运行;其中,所述的终端资源调度的步骤还包含当系统中运行的应用较多而导致某种终端终端资源过载或冲突时或当有新应用启动或者有应用退出嵌入式系统时进行终端资源竞争调度过程,重新对所述终端终端资源进行竞争调度;所述的终端资源具体包含终端的图像资源和非图像资源。
10.根据权利要求9所述的多应用进程的嵌入式系统终端资源管理方法,其特征在于, 所述建立应用进程的动态优先级的步骤进一步包含状态控制子步骤,该步骤控制运行中的应用进程的运行状态; 应用进程信息记录子步骤,该步骤实时监控所述运行中的应用进程运行状态及应用进程切换规律,记录并维护用户使用应用进程的历史信息;优先级建立子步骤,该步骤依据所述用户使用应用进程的历史信息通过分析和预测用户对所述运行中的应用进程的需求为各应用进程动态建立优先级列表。其中,所述的应用进程的历史信息包含应用程序被加载的时间,应用程序在前台运行的次数和每次的运行时长,用户关注点的切换信息且至少包括用户关注点在各应用之间切换的转移概率;所述的优先级建立子步骤为当前在前台运行的应用进程定义最高优先级; 所述的应用进程优先级列表中的信息包括应用进程的ID,优先级,应用需要的各种终端资源的最大数量和应用进程在当前屏幕中的窗口位置。
11.根据权利要求10所述的多应用进程的的嵌入式系统终端资源管理方法,其特征在于,所述的维护应用进程的历史信息具体包含如下步骤(100)当用户开始关注应用进程i时,H[i] [i]加一;(101)当用户从应用进程i跳转到应用进程j时,H[i][i]加一,T[i]的使用次数T[i]. fre加一,最后一次的使用时长T[i].dUrati0n[fre]为本次使用应用进程i的时间长度;其中,N为系统中所有应用进程的总数;H[i] [i]为一个N*N矩阵;T[i]是一个二元组 (fre, duration [fre]),包含用户使用应用i的次数和每次的使用时长。
12.根据权利要求10所述的多应用进程的的嵌入式系统终端资源管理方法,其特征在于,所述的动态建立和调整优先级的包含如下步骤(200)计算用户使用应用的转移概率矩阵S,计算方法可采用如下公式所示
13.根据权利要求9所述的多应用进程的嵌入式系统终端资源管理方法,其特征在于, 所述终端资源调度步骤进一步包含(300)系统启动时,初始化一个终端资源状态列表,用于记录系统终端资源的状态信息,包括最大数量、已用数量、剩余可用数量和阈值;(301)系统运行时,如果有若干个应用进程同时申请终端资源A时,依据优先级列表为其中一个具有最高优先级的应用进程请求访问终端资源A ;(302)检查终端资源A的状态,如果为应用进程分配其请求的终端资源数量后,终端资源剩余可用数量大于阈值,转入(303),否则,转入(305);(303)将终端资源A按请求的数量分配给应用进程使用,并终端资源更新终端资源A的状态信息,增加关于应用进程的占用信息,转入(304);(304)应用进程完成终端资源访问,终端资源申请释放终端资源A,终端资源收回终端资源A,并终端资源更新终端资源A的状态信息,删除关于应用进程的占用信息;转入 (306);(305)检测到终端资源过载,通终端资源进行终端资源规划调度;(306)终端资源访问流程结束,依据优先级列表为次优先级的应用进程重新进行终端资源调度,转入步骤(302)。
全文摘要
本发明提出一种多应用进程的嵌入式系统终端资源管理系统与方法,所有应用进程均需要调用特定的应用程序接口访问终端资源。终端资源是指终端硬件平台所提供的能力集合,包括CPU、内存、硬盘、解码器、解复用器、图形引擎等。当多应用同时运行时,根据应用类型和用户使用应用的统计规律建立应用进程的动态优先级。当系统中运行的应用较多而导致某种终端资源过载或冲突时,结合应用进程状态控制方法和优先级进行终端资源的优化分配和调度,优先保证高优先级应用的可靠运行。本发明的优点提高了共享终端资源访问的可控性和安全性;实现了基于用户体验的终端资源管理,能够优先保障用户更加关注的应用的可靠高效运行,提升用户体验。
文档编号G06F9/50GK102479108SQ20111016742
公开日2012年5月30日 申请日期2011年6月21日 优先权日2010年11月26日
发明者孙鹏, 张辉, 林军, 王海威, 邓峰 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1