-
公开(公告)号:CN100478874C
公开(公告)日:2009-04-15
申请号:CN200410058970.3
申请日:2004-07-23
Applicant: 微软公司
CPC classification number: G06F8/70 , G06F9/4488
Abstract: 描述了用于扩充配置相关可扩充软件程序的方法和系统。可以通过添加配置相关扩展来扩充核心可扩充软件程序的类。扩展可在编译软件程序的核心版本之前静态地添加,或者在运行时刻动态地添加。可扩充核心类的声明可包括具有该类是静态可扩充还是动态可扩充的指示的可扩充属性。也描述了用于适当地声明配置相关可扩充类的对象描述语言。也描述了用于处理该对象描述语言来生成可扩充类声明及其扩展的源代码表示的预处理器。源代码表示然后可以用来生成核心软件程序的扩充版本。
-
公开(公告)号:CN1664779A
公开(公告)日:2005-09-07
申请号:CN200410085101.X
申请日:2004-06-25
Applicant: 微软公司
Inventor: A·V·S·萨斯特里 , A·E·艾尔斯 , A·J·爱德华兹 , C·L·米谢尔 , D·M·吉尔斯 , D·R·小塔迪蒂 , J·伯格 , M·L·罗伯茨 , M·R·普莱斯克 , V·K·格罗弗
IPC: G06F9/44
Abstract: 提供了一种软件开发体系结构,用于结构各类的软件开发工具。能够通过将指定了专用于一组软件开发场景的功能的规范集成到与软件开发场景无关的框架里来创建软件开发工具。然后能够编译集成的规范,以创建软件开发工具。替换地,也可以在不访问源代码的情况下,在运行时实现集成。所述体系结构能够使用下列内容的任何组合:软件场景独立的中间表示格式,能够支持多个程序设计语言专用异常处理模型的一个或多个异常处理模型,能够表示多个源语言的类型表示的类型系统,以及能够生成以多个执行体系结构为目标的代码的代码生成器。
-
公开(公告)号:CN101889266A
公开(公告)日:2010-11-17
申请号:CN200880107300.2
申请日:2008-09-16
Applicant: 微软公司
CPC classification number: G06F9/467 , G06F17/30356 , G06F17/30359 , G06F17/30362
Abstract: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。
-
公开(公告)号:CN1664779B
公开(公告)日:2010-05-12
申请号:CN200410085101.X
申请日:2004-06-25
Applicant: 微软公司
Inventor: A·V·S·萨斯特里 , A·E·艾尔斯 , A·J·爱德华兹 , C·L·米谢尔 , D·M·吉尔斯 , D·R·小塔迪蒂 , J·伯格 , M·L·罗伯茨 , M·R·普莱斯克 , V·K·格罗弗
IPC: G06F9/44
Abstract: 提供了一种软件开发体系结构,用于结构各类的软件开发工具。能够通过将指定了专用于一组软件开发场景的功能的规范集成到与软件开发场景无关的框架里来创建软件开发工具。然后能够编译集成的规范,以创建软件开发工具。替换地,也可以在不访问源代码的情况下,在运行时实现集成。所述体系结构能够使用下列内容的任何组合:软件场景独立的中间表示格式,能够支持多个程序设计语言专用异常处理模型的一个或多个异常处理模型,能够表示多个源语言的类型表示的类型系统,以及能够生成以多个执行体系结构为目标的代码的代码生成器。
-
公开(公告)号:CN101652761A
公开(公告)日:2010-02-17
申请号:CN200880011509.9
申请日:2008-03-13
Applicant: 微软公司
CPC classification number: G06F9/528
Abstract: 公开了在软件事务存储器系统中支持缓存写和强制串行化次序的各种技术和方法。提供了执行对于对象的阴影副本的写入并在提交期间确认了相应的事务之后将内容写回该对象的缓存写处理。在为特定事务第一次获得写锁时,制作特定对象的阴影副本。执行对该阴影副本的写入和读取。在提交期间确认了特定事务之后,将内容从阴影副本写入特定对象。提供确保提交事务的次序匹配该事务的抽象串行化次序的事务排序处理。事务在其票数匹配跟踪应该提交的下一事务的全局数量之前不被允许提交。
-
公开(公告)号:CN101889266B
公开(公告)日:2013-06-12
申请号:CN200880107300.2
申请日:2008-09-16
Applicant: 微软公司
CPC classification number: G06F9/467 , G06F17/30356 , G06F17/30359 , G06F17/30362
Abstract: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。
-
公开(公告)号:CN1842767A
公开(公告)日:2006-10-04
申请号:CN200480022496.7
申请日:2004-05-21
Applicant: 微软公司
Inventor: V·K·格罗弗 , A·V·S·萨斯特瑞
Abstract: 如本发明所描述的,源代码文件的中间表示可用于在生成源代码的目标代码之前显式地表达异常处理控制流。如本发明中进一步描述的,可使用中间表示的单独的一组统一的指令来表达与多种不同的编程语言有关的不同的异常处理机制。异常(10)处理指令的中间形式可通过转换源代码文件的中间语言表示来生成。多种不同的中间语言中的源代码的表示可被转换成中间表示的一组单独的统一指令。异常处理指令的中间形式然后可由软件开发工具用于诸如代码生成、代码优化、代码分析等任务。由此,可对多种不同语言的中间表示使用用于代码优化、分析和生成的同一方法。
-
公开(公告)号:CN101681293B
公开(公告)日:2013-08-07
申请号:CN200880018481.1
申请日:2008-05-30
Applicant: 微软公司
IPC: G06F12/00
Abstract: 公开了用于在事务存储器系统中创建和/或定位事务代码块的各种技术和方法。诸如软件开发者等用户可以用标识符来装饰特定函数以便指示该特定函数是事务安全的。接着创建软件应用程序中的被标记为事务安全的每一个函数的普通版本和事务版本。创建未被标记为事务安全的每一个函数的普通版本。对于被标记为事务安全的每一个函数的普通版本,该普通版本中的存根指针指向事务版本。然后取决于执行上下文来调用该函数的适当的版本。
-
公开(公告)号:CN102929702A
公开(公告)日:2013-02-13
申请号:CN201210399252.7
申请日:2008-09-16
Applicant: 微软公司
CPC classification number: G06F9/467 , G06F17/30356 , G06F17/30359 , G06F17/30362
Abstract: 本发明公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。
-
公开(公告)号:CN101535950A
公开(公告)日:2009-09-16
申请号:CN200780042809.9
申请日:2007-11-17
Applicant: 微软公司
IPC: G06F9/06
CPC classification number: G06F9/466 , Y10S707/99933
Abstract: 公开了用于对软件事务存储系统中的事务应用排序的各种技术和方法。软件事务存储系统具备允许为多个事务指定预定提交次序的特征。在运行时使用该预定提交次序来帮助确定提交软件事务存储系统中的事务的次序。当在第一事务和第二事务之间发生冲突时调用争用管理过程。在争用管理过程中使用预定提交次序来帮助确定是该第一事务还是该第二事务应赢得冲突并被允许继续。
-
-
-
-
-
-
-
-
-