当前位置: 首页 > 专利查询>微软公司专利>正文

在挂起状态和执行状态下管理进程制造技术

技术编号:8271308 阅读:275 留言:0更新日期:2013-01-31 03:30
提供了一种或多种技术和/或系统以用于挂起与应用相关联的逻辑相关进程,基于一个或多个唤醒策略确定是否恢复挂起的进程,和/或管理应用的应用状态,例如定时器和/或系统消息数据。也就是说,可基于进程之间的逻辑关系来识别和挂起与应用相关联的诸如子进程的逻辑相关进程(例如,可以遍历逻辑容器层次结构以识别逻辑相关进程)。可基于一组唤醒策略来恢复挂起的进程。例如,可基于可以由试图与挂起的进程进行通信的应用触发的进程间通信调用策略而恢复挂起的进程。可在应用被挂起时管理应用数据,以使得可以以当前和/或相关状态恢复应用。

【技术实现步骤摘要】
在挂起状态和执行状态下管理进程的制作方法在挂起状态和执行状态下管理进程
技术介绍
围绕着节约能耗、改善设备和应用启动延时和改善整体响应能力而发展了许多计算设备(例如桌上型、膝上型、智能电话和平板电脑)。例如,当有诸如10分钟之类的一段时间没有使用设备,该设备可以被置入可以显著减少应用活动的睡眠状态,从而可以导致改善的功耗。当随后用户试图使用该设备时,该设备从睡眠状态被唤醒从而为用户提供该设备的全部性能。
技术实现思路

技术实现思路
是为了以简化形式介绍精选概念而被提供的,在以下的具体实施方式部分中将对其进行进一步描述。本
技术实现思路
的目的既不是确定所要求保护主题的关键因素或必要特征,也不是用来限制所要求保护的主题的范围。 除了其他方面之外,此处还公开了一种或多种系统和/或技术,用于挂起(suspend)—个或多个与应用相关联的进程,基于一个或多个唤醒策略确定是否恢复挂起的进程和/或管理应用的应用状态。一种计算环境可以托管(host)与进程相关联的应用,这些进程可以作为线程(threads)由一个或多个处理器执行。可以理解的是,此处所描述的一种或多种系统和/或方法可适用于应用、进程和/或线程(因为进程是由在一个或多个处理器上运行代码的线程所组成,所以此处提及的技术和/或系统同样适用于线程)。因为计算环境可以托管多个应用和/或进程,可以实现逻辑容器层次结构(logical container hierarchy)来管理这些应用和/或进程。具体而言,应用可被分配到逻辑容器层次结构内的诸如根逻辑容器(rootlogical container)之类的逻辑容器。同样的,进程也可被分配到逻辑容器。逻辑容器层次结构可允许相关的应用、进程和/或逻辑容器的分层嵌套。例如,文本编辑器应用(例如父应用/进程)可被分配到根逻辑容器。该文本编辑器应用可与一个或多个诸如文本编辑器打印进程、文本编辑器保存进程和/或拼写检查器进程之类的子进程相关联。因此,例如文本编辑器打印进程、文本编辑器保存进程和/或拼写检查器进程可被分配到与分配给文本编辑器应用的根逻辑容器相关联(例如嵌套在其中)的逻辑容器。通过这样的方式,文本编辑器应用和/或子进程之间的关联(例如关系)是可识别的。在此处提供的一个挂起与应用相关联的一个或多个进程的例子中,可接收应用不活动(inactive)的通知(例如,应用对于用户不可见,在预定时间内用户没有与应用交互,应用可能处于后台状态等)。可以识别与该应用相关联的一个或多个进程。在一个例子中,可以查询逻辑容器层次结构以识别一个或多个进程。例如,可以识别分配给该应用的根逻辑容器。可以识别分配给与根逻辑容器相关联(例如嵌套在其中)的第一逻辑容器的第一进程。可以识别分配给与根逻辑容器相关联(例如嵌套在其中)的第一逻辑容器的第二进程。可以识别分配给与第一逻辑容器相关联(例如嵌套在其中)的第二逻辑容器的第三进程。通过这样的方式,第一、第二和第三进程可被识别为与该应用相关联。可以理解的是多种进程和/或应用可被识别为与该应用相关联。可通过使得挂起的进程没有资格进入处理器执行调度而将与该应用相关联的一个或多个进程放置到挂起状态以节省功耗。一旦挂起了,与挂起的应用相关联的新创建的线程和/或进程(例如分配到嵌套在根逻辑容器内的逻辑容器的新创建的进程)可以被挂起以维持与挂起的应用相关联的进程之间的挂起一致性。通过这样的方式,当前与应用相关联的进程和/或新创建的进程可被识别为与应用相关联,因而也可以被挂起。可以理解的是,此处提供的一个或多个进程的挂起可发生在设备处于或不处于睡眠模式,但是一个或多个应用是不活动的或没有被使用时。因此,甚至在使用设备的时候,也可节约功率和/或延长电池寿命。在此处提供的一个确定是否恢复挂起的进程的例子中,可以维持与挂起的进程相关联的一组唤醒策略。唤醒策略可以是恢复挂起的进程到执行状态的原因的指示。在一个例子中,唤醒策略可相应于请求应用发送进程间通信调用到挂起的进程的情况。在另一个例子中,唤醒策略可相应于与挂起的进程相关联的挂起的应用被转换到前台状态的情况。在另一个例子中,唤醒策略可相应于检测到与挂起的应用相关联的用户输入的情况。可以 理解的是唤醒策略可相应于唤醒挂起的进程的多种情况和/或原因。唤醒策略可与指示对于挂起的进程来说当前未决的关联于该唤醒策略的唤醒通知(例如,发生了与唤醒策略相关联的事件的通知,例如请求应用发送进程间通信到挂起的进程)的数目的计数器相关联。计数器可以递增(例如与唤醒通知相关联的事件未决)和/或递减(例如与唤醒通知相关联的事件已完成)。例如,一旦接收到电子数据表应用发送进程间通信调用到挂起的文本编辑器的第一唤醒通知,用于进程间通信唤醒策略的计数器可以递增到I。一旦接收到浏览器应用发送进程间通信调用到挂起的文本编辑器的第二唤醒通知,用于进程间通信唤醒策略的计数器可以递增到2。可以评估一组唤醒策略以确定是将挂起的进程放置到执行状态还是将挂起的进程保持在挂起状态。在一个例子中,可以基于确定与唤醒策略相关联的至少一个计数器包括大于阈值的值(例如,至少一个计数器具有大于2的值)而将挂起的进程放置到执行状态。在另一个例子中,一个或多个计数器的值可累加在一起以创建累加值(例如,与多种唤醒策略相关联的三个计数器可以具有值1,因此可以确定累加值3)。可基于与唤醒策略相关联的加权来调整累加值(例如,与用户输入相关联的唤醒策略具有加权值2,而与远程第三方请求相关联的唤醒策略具有加权值O. 5,因为积极响应用户而不是远程第三方可能是更有利的)。同样的,可以无条件地观察特定计数器(例如用户计数器),但是可以有条件地观察另一个计数器(例如基于频率、噪度、源等)。如果挂起的进程被放置到执行状态作为执行应用,那么接着可以评估唤醒策略的当前状态和/或唤醒通知完成后逝去的时间以确定是否和/或何时将执行进行放置回挂起状态。例如,如果执行了附加的进程间通信调用,那么可以将执行进程保持在执行状态一段时间。作为优化,可在用于特定计数器的“边缘”转换(0_>1,1_>0)而传递通知。在第一种情况下,评估用于执行的策略,在第二种情况下,评估用于挂起的策略。可以理解的是在一个例子中,一组唤醒策略可与逻辑容器层次结构内分配给挂起的进程的逻辑容器相关联。因此,如果挂起的进程被放置到执行状态,那么一个或多个与挂起的进程相关联的进程和/或应用(例如,分配给与分配给挂起的进程的逻辑容器相关联的逻辑容器的进程)可被放置到执行状态。在此处提供的管理应用状态的一个例子中,可以维持与应用相关联的定时器列表。例如,可以维持绝对定时器(例如11年8月31日下午2:00的超时设置)、相对定时器(例如10分钟的超时设置)和/或其他类型的定时器。一旦接收到将挂起应用的通知,可以创建包含从定时器列表中导出的定时器基础重建数据(timer rebasing data)的应用状态。可以创建应用状态是因为在应用被挂起时,即使作用于定时器的根本原因没有发生,诸如相对定时器之类的特定定时器也可能超时。例如,文本编辑器应用可以为拼写检查器进程设置10分钟的相对定时器,因为拼写检查器进程一般不会花费超过10分钟来完成除非发生了错误。然而,可以在相对定时器创建之后的2分钟就挂起拼本文档来自技高网...

【技术保护点】
一种用于挂起与应用相关联的一个或多个进程的方法(100),包括:接收(104)应用不活动的通知;识别(106)与所述应用相关联的一个或多个进程;将所述一个或多个进程放置(108)到挂起状态。

【技术特征摘要】
2011.09.12 US 13/230,6771.一种用于挂起与应用相关联的一个或多个进程的方法(100),包括 接收(104)应用不活动的通知; 识别(106)与所述应用相关联的一个或多个进程; 将所述一个或多个进程放置(108)到挂起状态。2.根据权利要求I所述的方法,包括 根据如下至少一个来确定应用不活动 确定所述应用对用户不可见; 确定所述用户没有与所述应用交互; 确定所述应用处于后台状态。3.根据权利要求I所述的方法,所述应用被分配到逻辑容器层次结构内的根逻辑容器,并且与所述应用相关联的进程被分配到与所述根逻辑容器相关联的逻辑容器。4.根据权利要求3所述的方法,所述识别一个或多个进程包括 基于确定第一进程被分配到与所述根逻辑容器相关联的第一逻辑容器而确定所述第一进程与所述应用相关联。5.根据权利要求4所述的方法,所述识别一个或多个进程包括以下至少一个 基于确定第二进程被分配到所述第一逻辑容器而确定所述第二进程与所述应用相关联,以及 基于确定所述第二进程被分配到与所述第一逻辑容器相关联的第二逻辑容器而确定所述第二进程与所述应用相关联。6.一种用于挂起与应用相关联的一个或...

【专利技术属性】
技术研发人员:NK辛赫H普拉帕卡A基尚JA小施瓦茨
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1