在线性栈上高效恢复协同例程

    公开(公告)号:CN102141937A

    公开(公告)日:2011-08-03

    申请号:CN201110008477.0

    申请日:2011-01-06

    Applicant: 微软公司

    CPC classification number: G06F9/4426 G06F9/4486 G06F9/485

    Abstract: 未挂起协同例程由机器调用栈机制来处理,其中该栈随着作出递归调用和从递归调用返回而增长和收缩。然而,在协同例程挂起时,执行附加的调用栈处理。发出挂起消息,并且调用栈的整个能恢复部分被移除并被复制到堆。将控制返回给驱动程序方法(恢复器)的帧被复制到调用栈,从而协同例程的恢复不会递归地重新激活整个调用栈。相反,恢复器仅重新激活被称为叶帧的最顶部或最当前帧。在协同例程挂起时,其不返回到其调用者,而是返回到已重新激活它的恢复器。

    调度器中的局部任务集合

    公开(公告)号:CN102027447A

    公开(公告)日:2011-04-20

    申请号:CN200980118458.4

    申请日:2009-03-27

    Applicant: 微软公司

    CPC classification number: G06F9/4881 G06F9/5027 G06F2209/483

    Abstract: 计算机系统的进程中的调度器包括对应于被分配到该调度器的每一处理资源的局部任务集合和至少一个一般任务集合。调度器将变为解锁的每一任务分配到与使得该任务变成解锁的处理资源对应的局部集合。当处理资源变为可用时,处理资源试图执行在对应的局部集合中最近最后添加的任务。如果在对应的局部集合中没有任务,则可用处理资源试图执行来自一般集合的任务。

Patent Agency Ranking