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

    文章

    6752

    浏览量

    108076
  • 开源
    +关注

    关注

    3

    文章

    4343

    浏览量

    46435
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    有没有办法使用 SEGGER JLink 重新编程 OpenSDA?

    。 您能帮助我恢复此板上的 OpenSDA 功能吗?有没有办法使用 SEGGER JLink 重新编程 OpenSDA? 请考虑到这个问题对我来说非常重要和紧迫,以便继续我的发展。
    发表于 04-21 06:58

    Perforce 静态分析现已正式支持 Rust语言

    您是否正计划通过 Rust 编程来提升内存安全性,却又担心它无法覆盖所有的安全漏洞?Perforce QAC 和 Klocwork 现在已支持分析 Rust 代码,填补了开源代码检查工
    的头像 发表于 04-08 15:38 438次阅读
    Perforce 静态分析现已正式支持 <b class='flag-5'>Rust</b><b class='flag-5'>语言</b>!

    「社区开发者说」张诗淇:我的Rust构建RT-Thread安全组件项目之旅,献给所有开源社区的你

    仅关于如何为RT-Thread添加Rust支持,更关于一个年轻开发者如何找到热爱的方向、克服挑战并感受到开源协作的力量。希望她的经历,能激励更多正在观望的你,加入我
    的头像 发表于 12-27 09:34 861次阅读
    「社区<b class='flag-5'>开发</b>者说」张诗淇:我的<b class='flag-5'>Rust</b>构建RT-Thread安全组件项目之旅,献给所有<b class='flag-5'>开源</b>社区的你

    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持

    汽车网络安全如何选编程语言?C、C++、Rust、Java……谁更适合AUTOSAR、ISO/SAE 21434?一文了解8种主流语言的优劣与适用场景,以及Perforce QAC/K
    的头像 发表于 12-26 11:13 650次阅读
    汽车网络安全<b class='flag-5'>开发</b><b class='flag-5'>语言</b>选型指南:C/C++/<b class='flag-5'>Rust</b>/Java等主流<b class='flag-5'>语言</b>对比+Perforce QAC/Klocwork工具支持

    2025开放原子开发者大会旋武开源社区Rust分论坛成功举办

    11月22日,2025开放原子开发者大会——旋武开源社区Rust分论坛在北京顺利召开。论坛以“共建中国Rust生态”为核心主题,汇聚京东、华为、vivo、阿里、毛豆教育、DORA社区及
    的头像 发表于 11-27 14:55 790次阅读

    开源鸿蒙技术大会2025丨编译器与编程语言分论坛:语言驱动系统创新,编译赋能生态繁荣

    在万物智联的时代背景下,操作系统底层能力的构建离不开编程语言与编译器的关键支撑。作为开源鸿蒙生态的核心技术,语言设计与编译器、虚拟机实现的进步直接关系到
    的头像 发表于 11-20 17:24 1145次阅读
    <b class='flag-5'>开源</b>鸿蒙技术大会2025丨编译器与<b class='flag-5'>编程</b><b class='flag-5'>语言</b>分论坛:<b class='flag-5'>语言</b>驱动系统创新,编译赋能生态繁荣

    2025年最佳的嵌入式编程语言有哪些呢?

    语言有哪些呢?今天我们讨论这些语言:C、C++、Rust、Python和生成式AI提示;以及它们在当今的现代系统中的使用方式。资料来源:TIOBE指数追踪了整个
    的头像 发表于 11-14 10:27 1756次阅读
    2025年最佳的嵌入式<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有哪些呢?

    2025开放原子开发者大会旋武社区Rust分论坛即将启幕

    在数字化转型持续深化、系统安全与性能需求愈发迫切的当下,Rust凭借强大的内存安全、高并发性能和卓越的开发者体验,正成为重塑软件开发疆界的关键力量,更是构建下一代可靠高效基础设施的核心选择。11月
    的头像 发表于 11-13 10:00 712次阅读

    RusT-Thread:基于Rust面向资源受限嵌入式设备的操作系统的实践 | 技术集结

    RT-Thread为基础,使用Rust语言重构其内核,形成了全新的RusT-Thread系统。系统采用模块化架构,涵盖内核服务、进程调度、内存管理、线程通信与时钟控制等核心
    的头像 发表于 11-07 17:37 7052次阅读
    <b class='flag-5'>RusT</b>-Thread:基于<b class='flag-5'>Rust</b>面向资源受限嵌入式设备的操作系统的实践 | 技术集结

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发编程语言,旨在 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(A
    发表于 11-07 05:59

    Linux 编程语言盘点:从内核到AI的全栈选择

    在工控圈和嵌入式圈里,有一个常年被讨论的问题:  “在 Linux 上,到底该用什么语言编程?” 有人坚信:C 才是真正的工业语言。有人反驳:Python 才是效率王者。还有人推崇 Go、Ru
    的头像 发表于 11-06 17:05 776次阅读

    RT-Thread 遇上 Rust:安全内核 RusT-Thread 的诞生

    大家好,我们是中国科学技术大学操作系统原理与设计(H)课oooooS小组。这个项目是我们的课程大作业:参考RT-Thread架构,使用Rust搭建一个原生的嵌入式操作系统内核。初识Rust是因为xk
    的头像 发表于 08-02 11:03 3712次阅读
    RT-Thread 遇上 <b class='flag-5'>Rust</b>:安全内核 <b class='flag-5'>RusT</b>-Thread 的诞生

    微软开源GitHub Copilot Chat,AI编程迎来新突破

    30分,微软首席执行官Satya Nadella向大家展示了VS Code的最新AI开源编辑器GitHub Copilot Chat。 GitHub Copilot Chat的一大技术亮点是其支持
    的头像 发表于 07-02 09:34 1419次阅读
    <b class='flag-5'>微软</b><b class='flag-5'>开源</b>GitHub Copilot Chat,AI<b class='flag-5'>编程</b>迎来新突破

    请问OpenVINO™ 是否支持 Rust 绑定?

    无法确定OpenVINO™是否支持 Rust 绑定。
    发表于 06-25 07:45

    FX2LP如何在不更改硬件的情况下对其进行重新编程

    我正在使用 FX2LP/ CY7C68013A-128AXC设备(定制板),我有一些问题需要您的帮助。 1如果我的 EEPROM 已经有固件并且正在运行,如何在不更改硬件的情况下对其进行重新编程
    发表于 05-06 11:16