[发明专利]受管代码系统中的类型铸造有效
申请号: | 201480004110.3 | 申请日: | 2014-01-03 |
公开(公告)号: | CN105103126B | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | M·塔耶费尔 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨丽 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 系统 中的 类型 铸造 | ||
描述了受管代码系统中的类型铸造。受管代码系统包括受管存储器以及位于受管存储器之外的共享存储器。受管存储器具有多个受管存储器部分,每一受管存储器部分对应于一计算实体,诸如进程。类型系统准许使用类型铸造从共享存储器获得数据以藉此向数据指派支持类型铸造的类型。该类型是满足允许该类型被指派同时维持类型安全性的某些要求的有效类型的铸造类型。
背景
计算机操作系统性能通常由操作系统在给定时间间隔期间可维持的最大输入/输出(I/O)操作速率(也称为“I/O性能”)来表征。结果,操作系统采用各种公知机制来提升I/O性能。
传统上,操作系统是使用向系统程序员提供对如何操纵存储器的非常精细的控制的非受管语言(如汇编语言、C、C++)来编写的。未经检查的指针的使用可被用来最小化操作系统开销并允许增加的吞吐量或降低的等待时间。使用这些未经检查的指针的不利方面在于它们难以创建和推理,导致不可靠的软件和安全弱点。
用受管编程语言编写软件提供了充足的正确性益处和开发时间效率。这些受管语言防止程序员创建许多种类的软件缺陷,这造成改进的软件质量和缩短的开发时间。操作系统正确性是用于递送可靠且安全的计算体验的关键因素。因此,使用受管语言来创建操作系统是非常有说服力的主张,因为操作系统可靠性可以改进且开发成本可被降低。
为了达到这些益处,受管编程语言在由程序员编写的源代码与物理计算机系统的原始机器资源之间插入抽象层。这一抽象层一般用于约束程序员被允许写什么,并且通过这样做消除了全部的各类潜在缺陷。不幸的是,这一抽象层引入可能损害所创建的软件的性能的开销。结果,普遍假定是受管语言用正确性缺陷来换取性能缺陷。因而,用受管语言编写的软件通常被认为先天地慢于用非受管语言编写的软件。
影响受管代码操作系统的具体问题是对在数据穿过系统时在各层之间复制数据的固有需求。这是由以下事实引起的:系统的不同组件存在于不同隔离上下文中并且没有清晰的机制来摆脱这些隔离上下文。
发明内容
根据本文描述的至少一个实施例,描述了受管代码系统中的类型铸造。受管代码系统包括受管存储器以及位于受管存储器之外的共享存储器。受管存储器具有多个受管存储器部分,每一受管存储器部分对应于一计算实体,诸如进程。类型系统准许使用类型铸造从共享存储器获得数据以藉此向数据指派支持类型铸造的类型。该类型是满足允许该类型被指派同时维持类型安全性的某些要求的有效类型的铸造类型。
该概述不意图标识所要求保护的主题的关键特征或基本特征,也不意图被用来帮助确定所要求保护的主题的范围。
附图简述
为了描述可获得以上记载的及其他好处和特征的方式,将参照附图呈现各个实施例的更具体描述。理解这些附图仅描述样本实施例,因此不应被视为限制本发明的范围,实施例将通过使用附图以附加的具体性和细节来描述和解释,附图中:
图1抽象地图示了其中可采用此处所述的一些实施例的计算系统;
图2示出用于提供不可变缓冲区的方法的流程图;
图3A示出填充缓冲区的过程在其中发生的环境;
图3B示出在其中使经填充的缓冲区不可变的环境;
图4示出用于使用不可变缓冲区的方法的流程图;
图5示出其中不同计算实体具有不可变缓冲区的不同视图的环境;
图6示出用于将不可变数据从一个计算实体传递到下一计算实体的方法的流程图;
图7示出其中数据流从流源提供给流缓冲区并随后从流缓冲区提供给流消费者的流传输环境;
图8示出其中第二计算实体通过第一计算实体的高速缓存来获取高速缓存的环境;
图9示出第二计算实体从第一计算实体支持的高速缓存进行第一次读取的方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480004110.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理设备、信息处理方法和记录介质
- 下一篇:异构处理器装置和方法