0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

微软开发基于Rust的新编程语言,将很快开源

汽车玩家 来源:开源中国 作者:李威 2019-12-03 10:36 次阅读

此前,微软表示正探索将Rust作为C和C++的安全替代方案,并且也对外展示了使用Rust重写Windows组件的体验,根据微软的说法,Rust是一种从根本上考虑安全性的编程语言,他们将尝试使用Rust重写各种产品,因为在过去的十年里,微软70%以上的安全补丁都提供了与内存相关的错误,而Rust正是解决这个问题的“良药”。

而根据ZDNet的报导,近日在一次演讲中,谈到微软为解决相应内存问题所做的工作,微软研究人员Matthew Parkinson提到了微软正在开发的基于Rust的新编程语言Verona。

演讲中,Matthew先是分享了微软在MemGC(Memory Garbage Collector)上所做的工作,MemGC是指IE和Edge浏览器上的内存垃圾回收器,它解决了标准浏览器一个特性——文档对象模型(DOM)中的漏洞,DOM以树结构表述了HTML文档内容。

之后他由此牵出另一个问题:如何构建最安全的产品?不仅仅丢弃已有的东西,而要考虑可以在更加安全的系统中构建一些什么。他介绍了微软正在使用Rust重写某些组件,并提出:“如果我们想要隔离,并精简遗留代码,以使攻击者的利用代码无法逃逸出来,那么如何设计语言呢?”

Matthew提出了微软正在开发的基于Rust的新编程语言Verona,他表示这是首次讨论该项目,Verona是用于微软“安全基础设施编程(safe infrastructure programming)”的一种新语言。

Matthew介绍,Verona由C#项目经理Mads Torgensen与Microsoft Research Cambridge研究软件工程师Juliana Franco维护。

微软面临的挑战是应对宽广的应用领域,范围从C#桌面应用到C或C# Exchange、ASP.NET、Azure与设备驱动程序,再到内存管理和启动加载器等底层Windows组件,以及Windows内核硬件抽象层(HAL,hardware abstraction layer)。

“执行内存管理确实很困难,如果有任意并发突变,则临时内存安全性将非常困难”,Matthew介绍了Verona的设计思路:“Verona的所有权模型是基于对象组的,而不是像Rust那样基于单个对象的所有权模型。在C++中,可以获得指针,并且它是基于对象的。但这与我关于数据和语法的思考不同,我认为数据结构是对象的集合,而对象的集合则是生命周期。因此,通过在对象的所有权级别获得所有权,我们就可以更接近人们正在使用的抽象级别,它使我们能够构建数据结构而不会超出安全范围。”

So by taking ownership at the level of ownership of objects, then we get much closer to the level of abstraction that people are using and it gives us the ability to build data structures without going outside of safety.

另外,Matthew还表示Verona很快将会开源。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6218

    浏览量

    103071
  • 开源
    +关注

    关注

    3

    文章

    2982

    浏览量

    41695
收藏 人收藏

    评论

    相关推荐

    鸿蒙OS之Rust开发

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。
    的头像 发表于 01-29 17:19 423次阅读

    Git开发者关注内存安全问题,探讨引入Rust语言

    根据最新披露的邮件讨论,Git开发团队热议在Git项目中引入Rust的可行性。作为一种开源的分布式代码版本管理工具,广泛运用于各种开发项目。尽管现在Git项目主要以C与Python为主
    的头像 发表于 01-15 14:23 200次阅读
    Git<b class='flag-5'>开发</b>者关注内存安全问题,探讨引入<b class='flag-5'>Rust</b><b class='flag-5'>语言</b>

    基于Rust开发编程语言

    Move 是一门由 Rust 语言开发的一门面向资产的编程语言,最早由 Facebook (现 Meta )投入大量的人力物力
    的头像 发表于 11-17 12:30 344次阅读

    OpenHarmony技术大会 | 编程语言开发框架分论坛圆满举办:从更新迭代中找寻发展

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 众所周知,编程语言开发框架是影响应用体验和应用生态的关键要素,持续更新与发展至关重要。从
    的头像 发表于 11-11 21:15 711次阅读

    Rust语言如何与 InfluxDB 集成

    Rust 是一种系统级编程语言,具有高性能和内存安全性。InfluxDB 是一个开源的时间序列数据库,用于存储、查询和可视化大规模数据集。Rust
    的头像 发表于 09-30 16:45 610次阅读

    Rust语言中闭包的应用场景

    Rust语言的闭包是一种可以捕获外部变量并在需要时执行的匿名函数。闭包在Rust中是一等公民,它们可以像其他变量一样传递、存储和使用。闭包可以捕获其定义范围内的变量,并在必要时访问它们。这使得闭包在
    的头像 发表于 09-20 11:25 340次阅读

    Rust 语言中的 RwLock内部实现原理

    Rust是一种系统级编程语言,它带有严格的内存管理、并发和安全性规则,因此很受广大程序员的青睐。RwLock(读写锁)是 Rust 中常用的线程同步机制之一,本文将详细介绍
    的头像 发表于 09-20 11:23 472次阅读

    Rust的多线程编程概念和使用方法

    Rust是一种强类型、高性能的系统编程语言,其官方文档中强调了Rust的标准库具有良好的并发编程支持。Thread是
    的头像 发表于 09-20 11:15 492次阅读

    如何使用Rust语言操作Chrome浏览器的SQLite数据库

    Rust是一种高性能、可靠性强的系统编程语言,它的出现为开发者提供了一种新的选择。Rust的安全性和性能优势使得它成为了许多项目的首选
    的头像 发表于 09-19 16:28 1516次阅读

    基于Rust语言Hash特征的基础用法和进阶用法

    Rust语言是一种系统级编程语言,具有高性能、安全、并发等特点,是近年来备受关注的新兴编程语言
    的头像 发表于 09-19 16:02 724次阅读

    适合嵌入式设备开发编程语言Rust语言

    Rust语言是二十一世纪的语言新星。Rust被人广泛承认的一点,就是因为它能运行在多样的目标上,从桌面和服务器设备,到资源有限的嵌入式设备。
    发表于 09-12 09:39 1576次阅读
    适合嵌入式设备<b class='flag-5'>开发</b>的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>—<b class='flag-5'>Rust</b><b class='flag-5'>语言</b>

    聊聊Rust与C语言交互的具体步骤

    rust FFI 是rust与其他语言互调的桥梁,通过FFI rust 可以有效继承 C 语言的历史资产。本期通过几个例子来聊聊
    发表于 07-06 11:15 1019次阅读

    关于编程语言开发技术和AI的部分

    。本文主要介绍关于开发技术和 AI 的部分。 最流行编程语言 JavaScript 连续 11 年成为最流行编程语言,Python 取代 S
    的头像 发表于 06-26 09:45 326次阅读
    关于<b class='flag-5'>编程</b><b class='flag-5'>语言</b><b class='flag-5'>开发</b>技术和AI的部分

    谷歌开源内部Rust Crate审计结果

    Rust 可以轻松地将代码封装和共享到 crate 中,crate 是可重用的软件组件,就像其他语言中的包一样。我们拥抱广泛的开源 Rust crate 生态系统,既利用了谷歌以外编
    的头像 发表于 05-29 11:10 541次阅读

    基于Rust语言的高可靠、开源嵌入式Hypervisor

    Rust-Shyper 是北京航空航天大学计算机学院王雷教授团队设计开发的虚拟机监控器,该系统基于 Rust 语言,实现了一个高可靠、嵌入式 Hypervisor。2023 年 2
    的头像 发表于 05-24 16:31 1009次阅读
    基于<b class='flag-5'>Rust</b><b class='flag-5'>语言</b>的高可靠、<b class='flag-5'>开源</b>嵌入式Hypervisor