ユーザープログラムがカーネルスペースを混乱させる理由は何ですか?

ユーザープログラムがカーネルスペースを混乱させる理由は何ですか?

何が問題なのかわかりませんが、説明されているカーネル攻撃について話しています。ここ。このリストにコメント尋ねるプロセス再最適化情報。このトリックは状況を改善しませんでした(マシンはまだ非常に遅い方法で実行されています)、コメントに対する回答にはカーネルスペースとユーザースペースに関する内容が記載されていました。

まず、コメントが正しく返信されていますか?では、 renice がユーザー空間では動作しますが、カーネル空間では動作しません。また、私の状況に応じて読む、ユーザーが開始したすべてのプログラムはユーザースペースになければなりません。何が欠けていますか?

それが本当でなければ、なぜレニスは状況を改善しないのですか?

ベストアンサー1

カーネルは、ユーザースペースにいくつかのサービス(ソケットを開くなど)を提供します。ユーザー空間プログラムは、明確に定義されたインターフェース(API)を介してカーネルと対話できます。

この場合、ユーザー空間プログラムは繰り返しソケットを開き、ファイル記述子を送信してソケットを閉じます。これらの操作はカーネルによって行われます。ソケットのもう一方の端からファイル記述子を読み取るまで、バッファにファイル記述子を保持します。具体的なバグは、ガベージコレクタが最終的にファイル記述子を解放する必要がありますが、そうではないということです。 fdが流出しました。漏洩したfdはリソースを蓄積して消費します。プログラムを終了しても、リソースはそのプログラムに属していないため解放されません。

おすすめ記事