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

    文章

    6566

    浏览量

    103956
  • 开源
    +关注

    关注

    3

    文章

    3251

    浏览量

    42406
收藏 人收藏

    评论

    相关推荐

    串口屏支持哪些编程语言开发环境?

    串口屏作为一种常用的显示和交互设备,支持多种编程语言开发环境。以下是对串口屏支持的编程语言开发
    的头像 发表于 11-13 11:45 160次阅读
    串口屏支持哪些<b class='flag-5'>编程</b><b class='flag-5'>语言</b>和<b class='flag-5'>开发</b>环境?

    MCU编程语言开发环境介绍

    微控制器单元(Microcontroller Unit,简称MCU)是嵌入式系统的核心,广泛应用于各种电子产品中。随着技术的发展,MCU编程语言开发环境也在不断进步,以适应不同的应用需求。 1.
    的头像 发表于 11-01 11:51 489次阅读

    如何用Rust编写一个ChatGPT桌面应用(保姆级教程)

    用IDEA开发的java仔) 安装 Rust 语言工具链:首先,请确保你已安装了 Rust 编程语言
    的头像 发表于 09-25 11:19 299次阅读
    如何用<b class='flag-5'>Rust</b>编写一个ChatGPT桌面应用(保姆级教程)

    Linux 6.10集成RISC-V更新,支持Rust编程语言

    本次补丁升级中,Linux内核进一步扩展了对应于RISC-V架构的Rust编程语言支持。在此之前,Rust已可应用在x86_64、龙芯LoongArch以及ARM64等多种架构之上。
    的头像 发表于 05-23 17:16 908次阅读

    在Aurix Tc375Lk上使用Rust编程语言可以吗?

    您好,如果我想在 Aurix Tc375Lk 上使用 Rust 编程语言,可以吗?如果是,链接 rust 编译器 ADS 和 freetoolchain 的步骤是什么?你有在 ADS
    发表于 05-17 13:42

    鸿蒙OpenHarmony开发板解析:【Rust模块配置规则和指导】

    Rust是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust
    的头像 发表于 05-10 11:32 1227次阅读
    鸿蒙OpenHarmony<b class='flag-5'>开发</b>板解析:【<b class='flag-5'>Rust</b>模块配置规则和指导】

    NVIDIA加速微软最新的Phi-3 Mini开源语言模型

    NVIDIA 宣布使用 NVIDIA TensorRT-LLM 加速微软最新的 Phi-3 Mini 开源语言模型。TensorRT-LLM 是一个开源库,用于优化从 PC 到云端的 NVIDIA GPU 上运行的大
    的头像 发表于 04-28 10:36 487次阅读

    fpga开发需要掌握哪些编程语言

    FPGA(现场可编程门阵列)开发涉及多种编程语言和技术.
    的头像 发表于 03-27 14:34 1371次阅读

    fpga用的是什么编程语言 fpga用什么语言开发

    和VHDL都是用于逻辑设计的硬件描述语言,并且都已成为IEEE标准。它们能形式化地抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制以保证设计的正确性,并便于文档管理和设计重用。 fpga用什么语言开发
    的头像 发表于 03-14 17:09 3315次阅读

    [鸿蒙]OpenHarmony4.0的Rust开发

    背景 Rust 是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust 官方也使用 Cargo 工具来专门为
    的头像 发表于 02-26 17:28 806次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b><b class='flag-5'>开发</b>

    谷歌捐款100万美元给Rust基金会,以增强C++与Rust的交互性

    如今,谷歌多项核心业务仍以 C++为主要编程语言,虽然无法直接使用Rust替代现有的C++程序,但谷歌依然选择支持Rust基金会的“Interop Initiative”计划,帮助那些
    的头像 发表于 02-19 15:41 607次阅读

    微软加速转向Rust,加紧招募资深软件架构师

    去年BlueHat大会上,微软公开表示以Rust重编译Windows内核的计划,因其享有现代、便捷且代码易读的卓越性质。值得一提的是,微软推出的Azure Quantum开发工具包(Q
    的头像 发表于 01-30 11:47 530次阅读

    鸿蒙OS之Rust开发

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

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着一款C
    的头像 发表于 01-25 11:21 596次阅读

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

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