[讨论] [CLR] 关于微软开源.NET与其中的CoreCLR

RednaxelaFX 2014-11-14
先是资料和新闻链接:

Welcome to the .NET Foundation
http://microsoft.github.io/
https://github.com/dotnet/coreclr

Microsoft takes .NET open source and cross-platform, adds new development capabilities with Visual Studio 2015, .NET 2015 and Visual Studio Online, Microsoft News Center, 2014-11-12
.NET Core is Open Source, Immo Landwerth, NET Framework Blog, 2014-11-12
Microsoft Open Sources .NET and Mono, Miguel de Icaza, 2014-11-12
One Week of Open Source, Immo Landwerth, .NET Framework Blog, 2014-11-20
Immo Landwerth 写道
Runtime. Some of you might be eager to read the GC or the JIT code. You probably have to wait until early next year.

好吧那等明年…
CoreCLR is now Open Source, .NET Framework Blog, 2015-02-03
CoreCLR is now open source on GitHub, Dan Fernandez, Immo Landwerth, runfaster2000, Channel 9

2015-02-26: Rich Lander
.NET Core Open Source Update - February 26, 2015, .NET Framework Blog

如何开始学习CoreCLR源代码?

要留意的是,开源的.NET核心部分并不是最完整的版本,而是跟Silverlight一个级别的“.NET Core”。
.NET Core中的虚拟机名为CoreCLR,跟Silverlight的CLR名字一模一样,可以推测它就是从Silverlight演进而来。

至于CoreCLR的介绍,请参考下面的资料:

Program Silverlight with the CoreCLR, Andrew Pardoe, MSDN Magazine, 2008-08
Windows Live Mesh, Silverlight and the CoreCLR, Scott Hanselman, 2008-09-05
Exploring the CoreCLR Inside Silverlight, Tim Sneath, 2009-03-23
Silverlight: What is CoreCLR?, Basit Tanveer, 2009-07-23
Silverlight CoreCLR结构浅析, 吴磊, InfoQ中国, 2011-02-09
Deep Dive into the Kernel of .NET on Windows Phone 8, //Build 2012
.NET KRuntime 程序加载流程(CoreCLR)
Silverlight 中的 CoreCLR
Silverlight5的CoreCLR--老树开新花

ASP.NET vNext里自带的.NET Framework包含的CLR也是这个CoreCLR。

仔细了解背景会发现,其实Silverlight CoreCLR之前就能够在Windows和Mac OS X上运行,是不折不扣的跨平台。开源的CoreCLR估计一开始就会带有这俩平台的支持吧。

CoreCLR借鉴了微软先前以研究目的开放源码Shared Source CLI (SSCLI) / Rotor项目的经验,实现了一个平台抽象层(Platform Abstraction Layer,PAL)来方便在平台间移植CLR。
其本质就是把CLR依赖的一些Windows API包装成PAL API,然后在移植的时候用实际平台上的API来模拟这些PAL API。

"com.microsoft.net.coreclr" <- CoreCLR的模块名

话说CoreCLR让我想起以前微软在上海还有一个组做跟它相关的工作的:CLR & Silverlight上海研发团队的Blog
可惜这个团队被撤已久…

===========================================

关于SSCLI,有源码有文档有论文有书,感兴趣的人应该早就知道了…

Towards Strong Mobility in the Shared Source CLI <- 专门讲移植的论文(有Google Books缓存
simohayha 2014-11-14
Rotor那这样子的话,会不会说性能会有损失?比起mono的CLR。
RednaxelaFX 2014-11-15
simohayha 写道
Rotor那这样子的话,会不会说性能会有损失?比起mono的CLR。

Rotor的PAL还行,对性能的影响应该不会太大。只是要在Posix上模拟类Win32 API的话略蛋疼而已。
simohayha 2014-11-15
RednaxelaFX 写道
simohayha 写道
Rotor那这样子的话,会不会说性能会有损失?比起mono的CLR。

Rotor的PAL还行,对性能的影响应该不会太大。只是要在Posix上模拟类Win32 API的话略蛋疼而已。


恩。。如果只是使用Posix的话,性能应该做不到最优。而且网络这块的话,windows和Linux差别也比较大,不知道模拟的怎么样。
simohayha 2014-11-21
哈,在.NET的开源论坛问了下微软的人,和R大的推测完全一样,哈哈。

微软的人的回答:

引用
In some ways yes... It's an evolved version of what was at the core of Silverlight.
RednaxelaFX 2014-11-21
simohayha 写道
哈,在.NET的开源论坛问了下微软的人,和R大的推测完全一样,哈哈。

微软的人的回答:

引用
In some ways yes... It's an evolved version of what was at the core of Silverlight.

喔?哪里哪里,求详细
simohayha 2014-11-21
RednaxelaFX 写道
simohayha 写道
哈,在.NET的开源论坛问了下微软的人,和R大的推测完全一样,哈哈。

微软的人的回答:

引用
In some ways yes... It's an evolved version of what was at the core of Silverlight.

喔?哪里哪里,求详细

http://forums.dotnetfoundation.org/t/compiling-net-core-code-on-linux-os-x/302/13

这里~~
RednaxelaFX 2014-11-23
simohayha 写道

多谢~ 果然么⋯
Global site tag (gtag.js) - Google Analytics