copy_from_user又はGET_USER理由は、Linuxメモリ( Intelアーキテクチャに、それはいくつかの他のプロセッサの下でも異なっていてもよい) がセグメント化されることです。これは、ポインタは、それ自体で、あなたはそれを使用できるようにしているメモリセグメントを知る必要があり メモリ内 ユニークなロケーション、メモリ・セグメントにおける唯一の場所を参照し、しないことを意味します。 カーネルには1つのメモリセグメントがあり、 プロセスには1つのメモリセグメントがあります。
それは、Linuxの代わりに、セグメンテーションのページングを使用し、0xc0000000で、上の仮想アドレスは、カーネルマッピングを持っていることというのが私の理解ですが。
- 我々は古いカーネルに対応するためにcopy_from_userを使用していますか?
- は、現在のLinuxカーネルは、全くどのような方法でセグメンテーションを使用していますか?もしそうなら、どのように?
- (1)真でない場合、copy_from_userを使用する他の利点があるのですか?