【Rust日报】2020-07-07 微软研究院发布文章,在可信感测平台中拥抱Rust技术

工具链配置软件Rustup已发布新版本1.22.0

Rustup是Rust语言的工具链配置软件。本次版本更新主要提高软件的易用性、便捷性,增加工作效率。更新支持了更多的操作系统平台:现在,你可以在RISC-V RV64GC指令集的Linux系统,使用rustup安装工具链。本次更新还优化了用户交互部分,以针对nightly版本支持的工具给出不同的提示。更新支持使用更简单的安装方式,来安装各个Rust编译开发需要的模块。还有一些针对特定场合的更改,比如可以编译高达100兆字节的MIPS可执行程序;也对RAM占用有改进,以适用于内存空间可能受限的硬件。本次更新需要特别感谢35位Rustup贡献者的辛勤付出。

https://blog.rust-lang.org/2020/07/06/Rustup-1.22.0.html

微软研究院发布文章,在可信感测平台中拥抱Rust技术

在这篇《迈向云的可信感测:Freta项目简介》中,微软给出了代码分析服务Freta的原型。建设Freta项目是为了达成“可信感测”——侦测、分析内存信息的同时,无法让攻击者发现侦测动作。要达到这一点,Freta需要输入Linux系统完整的内存快照,上传到云服务Freta分析,并通过API返回后续的分析结果。快照可以是Hyper-V、VMWare等虚拟机软件的内存保存格式;返回结果包含所有的系统对象,如所有正在运行的进程、已打开的文件、已经打开的网络套接字等等。为了建造这个分析器本身,内存安全是十分重要的特性,这一部分将通过Rust语言尝试达成。微软研究院希望通过这个项目,跳出恶意软件隐藏与发现的“军备竞赛”怪圈,探索由此能产生的工程设计,希望未来有一天能支持Windows系统,达成实时发现新的隐藏威胁的目的。

https://www.microsoft.com/en-us/research/blog/toward-trusted-sensing-for-the-cloud-introducing-project-freta/

嵌入式小组:创建你自己的Rust编译目标

如果您需要支持新的指令集架构、新的操作系统,您应当创建一个新的编译目标。创建新目标并不是轻松的事情,思路可能很复杂。本次Rust嵌入式小组发布的文章,为我们梳理了支持新目标的步骤和技术途径。创建自己的编译目标,包含决定目标三元组、填写目标配置、使用目标配置等三个步骤。填写目标配置时,您应当提供链接器配置、编译器底层架构功能,以及CPU的特性。构建过程中,您可以选择只编译core、alloc库,或者包含自己定义的std库。本篇文章还给出部分技术解答,有助于排除创建过程中遇到常见的问题。

https://rust-embedded.github.io/embedonomicon/custom-target.html

Rust与短字符串

@killercup撰写了文章《Rust与短字符串》,为我们测试、比较了字符串较短时,Rust最高效处理字符串的方式。字符串常常涉及内存的分配,短字符串的分配和分配器的实现有较大关联。文章从只基于操作系统的简单封装开始,包装自己的全局分配器,以便探测内存使用的情况,包括峰值、操作数、尺寸等等,还给出一个简单的图形化呈现。随后,文章比较了smol_strsmartstring和标准库的实现,以比较各个情况下实现短字符串的好处和不足。文章补充了在长度一定的前提下,From转换、复制、Into转换所需的时间,给出了详细的折线图,以供比较参考。

https://fasterthanli.me/articles/small-strings-in-rust

async-net:异步网络通信底层封装

这是社区提供的异步网络通信包装方式,已经发布了第一个预览版本0.1.0。代码风格和std::net模块比较相似,不同的是它包装操作系统的方法为异步函数。本次项目可以作为非常流行、成熟的async-std库的有机补充,作为异步语句块稳定后的常见状况,async自己需要的生态已经有多种成熟方案,虽然本项目只是一个简单的尝试,也作为完善生态的一种可行途径发布。项目以开源协议Apache、MIT双协议发布,有助于更多用户学习和使用。

https://github.com/stjepang/async-net

--

From 日报小组 洛佳

你可能感兴趣的:(【Rust日报】2020-07-07 微软研究院发布文章,在可信感测平台中拥抱Rust技术)