Linux 6.13 は、新しい Lazy プリエンプション モデル、アトミック書き込みのサポートなどを備えて登場します。

Linux

2ヶ月の勤務を経て、 リーナス・トーバルズ氏が、そしてカーネルの新しいバージョン Linux 6.13、 それは重要な進歩と新しさをもたらします。この製品が提供する主な新機能の中でも、次のような点が際立っています。 レイジー プリエンプション モデル。ボランタリー モードとフル モードの間に位置します。 の包含 XFS や Ext4 などのファイル システムへのアトミック書き込みのサポート。

その他の変更には、virtual-cpufreq ドライバー、 新しい netlink net-shape APIえー、そして大文字と小文字が区別されるようになった tmpfs マウント モードと、 SMB3 での POSIX 拡張機能のサポート、 AMD のキャッシュ オプティマイザー ドライバー。

この新しいバージョンには 2086 人の開発者の協力があり、合計 14,172 件の修正が行われ、15,375 のファイルに影響を及ぼし、598,707 行のコードが追加され、406,294 行が削除されました。

Linux6.13の主な新機能

カーネル 6.13、最も重要な変更点の XNUMX つ 「きめ細かいタイムスタンプ」メカニズムの導入です これにより、ファイルへの変更またはアクセスに関するデータの取得精度が向上し、パフォーマンスに悪影響を与えることなくミリ秒を超える精度が達成されます。

Linux カーネル 6.13 が提供するもう XNUMX つの新機能は、アトミック書き込みのサポート、 これにより、セクターのサイズを超えるデータが、この機能をサポートするデバイスにアトミックに書き込まれることが保証されます。現在、この機能は XFS、O_DIRECT モードの Ext4 などのファイル システムで利用できます。 md を使用した RAID 0/1/10 構成の場合。

他のファイル システムに関する限り、Linux 6.13 ReiserFS の最終的な削除を示します、EROFS は、lseek() の SEEK_HOLE および SEEK_DATA オプションをサポートするようになりました。 F2FS はデバイス エイリアスのサポートを追加しましたsy XFS は、リアルタイム デバイス上のクォータのサポートを追加し、メタデータ ディレクトリ管理を改善しました。さらに、SMB3 は、シンボリック リンクやデバイス ファイルなどの特殊ファイルを保存するために必要な POSIX 拡張機能をサポートするようになりました。

メモリおよびシステム サービスでは、 新しい遅延設定モデル (PREEMPT_LAZY)。 このモデル プリエンプション機能を維持できます リアルタイム タスクの場合は完了しますが、通常のタスクのプリエンプションはティック制限まで遅延します。さらに、このモデルは、カーネルの他の部分のドライバーをスケジューリング プロセスから削除することで、タスク スケジューラのロジックを簡素化します。

ビルドの最適化について、Clang でコンパイルするときの AutoFDO 最適化のサポートが統合されました。 実行プロファイルを使用してコードを調整し、パフォーマンスを向上させると、レイテンシーが 10% 削減されることが示されています。プロセス メモリ管理を改善するために、madvise() システム コールに新しいフラグも追加されました。 MADV_GUARD_INSTALL フラグを使用すると、特定のページ ガード アドレスをオーバーライドして、新しい仮想メモリ領域を割り当てることなくアクセス例外 (SIGSEGV) を防ぐことができます。

IO_uring にもいくつかの改善が加えられていますこれには、バッファのサイズ変更、リング バッファ間でのメッセージの同期送信、バッファの部分的なクローン作成などの機能が含まれます。さらに、ハイブリッド I/O ポーリングが実装され、API がリング バッファーとメモリ領域を登録するように拡張されました。

として ハードウェアの改善により、AMD CPU の「スプリットロック」を検出する機能が追加されました。 データがメモリ内で適切に配置されておらず、3 つのキャッシュ ラインを横断するときに発生する現象で、パフォーマンスに重大な影響を与える可能性があります。この問題を軽減するために、AMD キャッシュ オプティマイザー ドライバーが統合されました。これは、AMD 3D V-Cache テクノロジーを利用して、利用可能な LXNUMX キャッシュのサイズを増やすか周波数を増やすことによって、個々の CPU コアのパフォーマンスを向上させます。

建築用 MIPS、複数の割り込みコントローラーを備えたシステムのサポートが追加されました。 クラスタを構成し、各 CPU クラスタに個別の割り込みハンドラを提供します。新しい ioctl オペレーション PIDFD_GET_INFO も実装されました。これにより、PIDFD 識別子を使用してプロセスに関する情報を取得できるようになります。この識別子は、プロセスの終了時に関連する PID が変化しても一定のままです。

En ARM、仮想マシン上での Linux 実行のサポートなどの主要な進歩 Arm Confidential Computing Architecture によって保護されているほか、ユーザー空間のシャドウ スタックもサポートされており、セキュリティが向上しています。また、 ファイルの新しい参照カウントメカニズム、 より優れたスケーラビリティを実現します。

El タスク スケジューラがプロキシ実行メカニズムをサポートするようになりました、優先順位逆転の問題を解決します。このメカニズムにより、優先度の低いタスクが優先度の高いタスクが (リアルタイムで) 必要とするリソースを保持し、それらのタスクをブロックすることを防ぎます。さらに、プロセスのプログラミングと実行コンテキストが分離されました。

一方で、それが強調しているのは、 Rustの使用に関連する変更の移行 ドライバーとカーネルモジュールの開発。それでも Rust サポートはデフォルトでは有効になっていません。バインディングとデータ構造が追加されています。 トレース イベントのサポートや Rust で書き直されたバインダー ドライバーなど、この言語でドライバーを作成できるようにします。

サブシステム BPF は、BPF プログラム用に別個のスタックを実装することで改善されました。 これにより、大規模な呼び出しチェーンを処理する際のオーバーフローのリスクが軽減されます。他のプロセスに信号を送信し、BPF マップで共有メモリを使用する機能も追加され、タスク スケジューラ ドライバー間の負荷通信が容易になります。

さらに、 ページフォールトを生成するために例外追跡が改善されました。 トレースポイントがシステム コールでトリガーされると、ユーザー空間から渡されたパラメーターを読み取ることができます。 tmpfs および shmem ファイル システムでの大きなメモリ ページの使用を制御するために、transparent_hugepage_shmem パラメータも追加されました。

ネットワークでは、それが紹介されています 非アクティブ時の NAPI の一時停止のサポート、 消費電力の改善、および送信 (TX) ハードウェアの高度な構成を容易にする新しいネットワーク デバイス API。さらに、io_uring は、非同期入出力操作の処理を改善するいくつかの最適化を受けています。

ついに実装されましたねLoongarch アーキテクチャのリアルタイム サポート RISC-V アーキテクチャの新しい拡張機能により、ユーザー空間でのポインターのマスクが可能になります。カーネル イメージの圧縮を改善するために、デフォルトのアルゴリズムが lz4c に代わって lz4 に変更されました。

さらに詳しく知りたい場合は、詳細を参照してください。 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。