[Rust Daily] 2023-10-03 Rust std の UEFI サポートが Nightly バージョンに入る

Rust std の UEFI サポートが Nightly バージョンに入る

記事の中で、Ayush Singh 氏は、Google Summer of Code 2022 プロジェクト中に Tianocore のもとで UEFI 用の Rust Std の開発を開始した経験を共有しました。1 年間の作業を経て、UEFI Rust std の初期サポートは Rust Nightly に統合されました。記事の中で、アユシュは今何ができるのか、そして自分の計画をレビューしています。

UEFI(统一的可扩展固件接口)是一个软件程序的规范,它连接计算机的固件到其操作系统。尽管 UEFI 提供了许多 OS 原语,如分配器、stdio、网络等,并且可以在 UEFI 中运行相当复杂的应用程序,如内存检查、磁盘检查等,但在这个领域的工作主要是使用C语言完成的。

Ayush 氏は、基本的な C を使用して UEFI アプリケーションを作成することは可能ですが、Hello World を超えるには EDKII などのライブラリを使用する必要があると述べました。

一方、GNU-EFI は、システムのネイティブ GCC を使用して UEFI アプリケーションをコンパイルするためのライブラリとヘッダー ファイルのセットです。したがって、Rust std のサポートにより、標準の Rust プリミティブを使用して複雑な UEFI アプリケーションやユーティリティを作成できるようになります。Rustc ではクロスコンパイルが可能なため、Rust で UEFI アプリケーションを作成することは、 *-unknown-uefiカーゴ プロジェクトを作成してターゲットにコンパイルするのと同じくらい簡単です。

現在実装されている Rust Std の機能は次のとおりです。

  • alloc: これは、すべてのヒープ タイプが機能する必要があることを意味します。

  • os_str: OsStringUTF-16 と UCS-2 を内部で使用し、Rust UTF-8 文字列へのより直接的な変換を可能にします。

  • os::uefi いくつかの UEFI 固有の機能を以下に示します。

Ayush はまた、標準ライブラリを使用して小さな「Hello World」アプリケーションを作成する方法を示し、将来の計画と作業について共有しました。

元のリンク https://programmershideaway.xyz/post29/

Rust プロジェクトのビルド構成ガイド

Nicholas は、Rust Performance Book のビルド構成の章を書き直しました。このセクションでは、ソース コードを変更せずに Rust プログラムのパフォーマンスを変更する方法を示す、より包括的なガイドを提供します。実行速度、メモリ使用量、バイナリ サイズ、コンパイル時間などのさまざまな側面が含まれます。

Nicholas 氏は、簡単な変更によって Rust プログラムのパフォーマンスを大幅に向上させることができると述べ、これらの方法を試すよう全員に勧めました。

元の投稿リンク https://mas.to/@nnethercote/111168277901302034

パフォーマンスブックのビルド構成の章 https://nnethercote.github.io/perf-book/build-configuration.html

リングがバージョン 0.17.0 をリリース

リングは、使いやすい API を通じて公開される暗号操作のコア セットの実装、テスト、最適化に焦点を当てた暗号ライブラリです。Rust、C、アセンブリ言語の組み合わせで書かれており、Rust API ( C およびアセンブリ言語のコードは、ほとんどが BoringSSL から派生しています)。

最近、新しいマイルストーンとなるバージョン 0.17.0 がリリースされました。

リング ライブラリは TLS の Rust 実装である Rustls によって使用されるため、この更新は重要であると考えられます。以前は、ring は x86 と ARM アーキテクチャのみをサポートしており、rustl は (非常に高品質の TLS 実装であったにもかかわらず) それらのアーキテクチャのみをサポートできたため、Rust エコシステム内の他のクレートがデフォルトでリングを使用できないようにしていました。現在、Ring は PowerPC、S390X、RISC-V およびその他のアーキテクチャのサポートを追加しているため、そのアプリケーションはさらに広範囲になります。

倉庫アドレス https://github.com/briansmith/ring

-- デイリーチーム RustPlumber より

コミュニティ学習交換プラットフォームのサブスクリプション:

  • Rust.cc フォーラム: RSS をサポート

  • WeChat パブリック アカウント: Rust 言語の中国語コミュニティ

おすすめ

転載: blog.csdn.net/u012067469/article/details/133564802