私の知る限り、カーネル関連のデータを格納するプロセスメモリのパーティションがあり、読み取り専用としてマークされています。
なぜこれが起こるのか、この領域の目的は何なのか、なぜすべてのプロセスメモリ空間にそれを含める必要があるのか についての事実に基づく説明が見つかりません。
私の知る限り、カーネル関連のデータを格納するプロセスメモリのパーティションがあり、読み取り専用としてマークされています。
なぜこれが起こるのか、この領域の目的は何なのか、なぜすべてのプロセスメモリ空間にそれを含める必要があるのか についての事実に基づく説明が見つかりません。
ユーザー モードのメモリ空間と同様に、カーネルには独自のコード セクション (RX)、データ セクション (R/RW)、およびスレッド用のスタック フレーム (RW) が必要です。
プロセス メモリ空間に含める必要があるとは言いませんが、カーネルが常に存在する場所であると言えます。プロセス間でコンテキストが切り替わるたびに置き換えられるプロセス メモリ空間とは異なり、カーネル空間 (32 ビットでは >=0xC0000000、64 ビットでは >=0xFFFFFFFF80000000) は、その全体が置き換えられることはありません。
システムにはカーネルが 1 つしかなく、システム コール、割り込み、およびさまざまなカーネル タスクの実行のために常にメモリ (仮想) 内の同じ場所に存在する必要があるため、これは必要な要件です。