• 微软为什么不用自家的.NET重写Windows11内核而要使用Rust呢?
  • 发布于 1周前
  • 42 热度
    0 评论

问题:微软为什么不用自家的.NET重写Windows11内核而要使用Rust呢?


其实看待这种问题,应该从本身来看。微软是个技术型和商业型混合驱动的公司,它以软件起家Windows和Office套件赚的盆满钵满,当然现在远不止两个了。但它的基本盘还在。

Rust作为一个安全的Native编程语言,它的存在是为了搞定非托管语言比如C/C++的指针漂移,内存泄漏,边界超出等等非常规且隐藏极深的不安全操作而诞生的。Windows内核的本身就是C/C++,以及部分汇编代码组合而成的。多年以来windows漏洞的BUG困扰着微软,70%以上的BUG都是指针指向不正确区域而造成的。而Rust非常适合避免这些问题。微软用Rust取代一些内核的工作,也是在情理之中了。

再说说.Net本身,.Net是一个托管平台,它的运行需要挂个虚拟机。这种本身类型的C#语言是不太适合做系统级的软件的。可能有人又谈到了AOT Native代码,AOT作为一个起步较久且比较成熟的技术,应该在目前为止也没有达到应用内核层级的档次。

所以个人认为,微软不用.Net重写Windows11内核,而用了Rust。最大的原因应该是Rust这门语言适合系统级的软件研发,而C#明显不适合这种非常底层的操作。

用户评论