linux-kernel で提供されている mamp() 機能を使用しようとしています。ユーザー空間で mmap() を呼び出すと、ユーザー空間プロセスの仮想メモリ領域をカーネル空間のメモリにマップしようとします。
カーネル内の mamp() の定義は、カーネル モジュールで行われ、ページにメモリを割り当てようとし、mmap システム コール中にマップします。このカーネル空間メモリのメモリ コンテンツは、このモジュールによって満たされる可能性があります。
私が聞きたい質問は、メモリ マッピングの後、ユーザー空間プロセスは追加のカーネル オーバーロードなしでマップされたメモリに直接アクセスできるため、read() のようなシステム コールはありませんが、メモリ (カーネル内に割り当てられている場合)スペースおよびカーネル空間にマップされている) には、カーネル空間内に割り当てられた他のメモリ (マップされていない) へのポインターが含まれているため、ユーザー空間プロセスは、ポインターであるマップされたメモリのコンテンツの助けを借りて、このマップされていないメモリにアクセスできます。このマップされていないメモリに。