Linuxカーネル
XNUMXか月の開発の後、 Linus Torvalds は、Linux 6.1 カーネルの新しいバージョンのリリースを発表しました、最も注目すべき変更の中で:Rust言語でのドライバーとモジュールの開発のサポート、使用されたメモリページを決定するためのメカニズムの近代化、BPFプログラム用の特別なメモリマネージャー、KMSANメモリの問題の診断システム、 KCFI (Kernel Control -Flow Integrity) 保護メカニズム、メープル構造ツリーの導入。
新しいバージョン 15115年の開発者から2139件の修正を受け取りました、パッチ サイズは 51 MB で、2 および 6.0 カーネル パッチのサイズの約 5.19 分の XNUMX です。
Linux6.1の主な新機能
提示されているカーネルのこの新しいバージョンでは、次のことがわかります。 Rust を第二言語として使用する機能を追加 ドライバーとカーネルモジュールを開発します。 Rust をサポートする主な理由は、メモリ エラーの可能性を減らして、高品質で安全なデバイス ドライバを簡単に作成できるようにすることです。
Rust サポートはデフォルトで無効になっています また、必要なカーネル ビルドの依存関係として Rust が含まれることはありません。 これまでのところ、カーネルはコードを 40 行から 13 行に削減し、Rust で記述された単純なカーネル モジュールを構築するのに十分な最小限のパッチのみを提供する、最小限のパッチ バージョンを採用しています。
将来的には、既存の機能を徐々に増やす予定です、Rust-for-Linux ブランチからの他の変更を移植します。 並行して、提案されたインフラストラクチャを使用して NVMe ディスク コントローラー、9p ネットワーク プロトコル、および Rust 上の Apple M1 GPU を開発するプロジェクトが開発されています。
もう XNUMX つの注目すべき変更点は、 AArch64、RISC-V、および EFI を使用した LoongArch。圧縮されたカーネル イメージを直接ロードする機能が実装されています。s、それに加えて、彼らは追加しました カーネル イメージをロード、実行、ダウンロードするためのドライバー EFI zboot から直接呼び出されます。
EFI プロトコル データベースからプロトコルをインストールおよび削除するためのドライバーも追加されました。 以前は、アンパックは別のブートローダーによって行われていましたが、現在はカーネル自体のドライバーによって行うことができます: カーネル イメージは EFI アプリケーションとしてビルドされます。
パッチの一部 メモリ管理モデルの実装とともに採用されました さまざまなレベルの パフォーマンス特性の異なる個別のメモリ バンクが可能. たとえば、頻繁に使用されるページは最速のメモリに格納され、使用頻度の低いページは比較的低速のメモリに格納される場合があります。 6.1 カーネルは、頻繁に使用されるページを高速メモリに移動するために低速メモリにあるかどうかを判断するメカニズムを採用し、メモリ層とそれらの相対的なパフォーマンスの一般的な概念を実装します。
これに加えて、次のこともわかります。 「破壊的な」BPF プログラムを作成する機能が BPF サブシステムに追加されました。 crash_kexec() 呼び出しを介してクラッシュをトリガーするように特別に設計されています。 このような BPF プログラムは、特定の時間にメモリ ダンプの作成をトリガーするデバッグ目的で必要になる場合があります。 BPF プログラムをロードするときに破壊的な操作にアクセスするには、BPF_F_DESTRUCTIVE フラグを指定し、sysctl kernel.destructive_bpf_enabled を設定し、CAP_SYS_BOOT 権限を設定する必要があります。
作ったことがあるo Btrfs ファイルシステムでのパフォーマンスの大幅な最適化とりわけ、fiemap および lseek 操作のパフォーマンスが桁違いに向上しました (共有拡張機能のチェックは 2 ~ 3 倍高速化され、ファイル内の位置の変更は 1.3 ~ 4 倍高速化されました)。 また、 ディレクトリの inode ジャーナリングを高速化 (dbench でパフォーマンスが 25% 向上し、レイテンシが 21% 削減されました)、バッファリングされた I/O が改善され、メモリ消費量が削減されました。
Ext4 はパフォーマンスの最適化を追加します ジャーナリングと読み取り専用操作に関連して、非推奨の noacl および nouser_xattr 属性のサポートを削除しました。また、読み取り専用パーティションで使用するために設計された EROFS (Enhanced Read-Only File System) で、別のファイル内の重複データのストレージ セットの可能性を実装します。システム。
の 目立つその他の変更:
- Apple Silicon、Intel SkyLake、および Intel KabyLake プロセッサに実装されたオーディオ サブシステムのサポートが追加されました。
- HDA CS35L41 オーディオ コントローラは、スリープ モードをサポートしています。
- Baikal-T1 SoC で使用される AHCI SATA コントローラーのサポートが追加されました。
- Bluetooth チップ MediaTek MT7921、Intel Magnetor (CNVi、統合接続)、Realtek RTL8852C、RTW8852AE、および RTL8761BUV (Edimax BT-8500) のサポートが追加されました。
- PinePhone キーボード、InterTouch タッチパッド (ThinkPad P1 G3)、X-Box アダプティブ コントローラー、PhoenixRC フライト コントローラー、VRC-2 カー コントローラー、DualSense Edge コントローラー、IBM オペレーション パネル、XBOX One Elite、XP-PEN Deco Pro S タブレット、およびIntuos Pro small (PTH-460)。
- Aspeed HACE (Hash and Crypto Engine) 暗号化アクセラレーター用のドライバーを追加しました。
- 統合された Intel Meteor Lake Thunderbolt/USB4 コントローラーのサポートが追加されました。
- Sony Xperia 1 IV、Samsung Galaxy E5、E7、および Grand Max、Pine64 Pinephone Pro スマートフォンのサポートが追加されました。
- AMD DaytonaX、Mediatek MT8186、Rockchips RK3399 および RK3566、TI AM62A、NXP i.MX8DXL、Renesas R-Car H3Ne-1.7G、Qualcomm IPQ8064-v2.0、IPQ8062、IPQ8062 /BL i.MX8MM OSM-S と互換性のある ARM SoC 、MT8195 (Acer Tomato)、Radxa ROCK 4C+、NanoPi R4S Enterprise Edition、JetHome JetHub D1p。 SoC Samsung、Mediatek、Renesas、Tegra、Qualcomm、Broadcom、NXP に関する情報。
最後に、それについてもっと知りたい場合は、詳細を調べることができます 次のリンクで。