0

プロセスに属するページテーブルのどのページがデータセグメントとして使用されているかを知りたいのですが。amd64にLinuxカーネルv3.2を使用しています

これが私が以前にしたことと機能しなかったことです:

  1. を使用してデータセグメントにアクセスしますtask->mm->start_data(taskはターゲットプロセスのtask_structです)。

  2. task->mm->mmap(リンクリスト)を検索し、各vm_area_structvm_start)の開始アドレスを。と比較しtask->mm->start_dataます。ここでは、データセグメントの先頭がページの先頭に揃えられていると仮定しています。

これはすべて、カーネルモジュール内で実行する必要があります。

ありがとう。

4

1 に答える 1

0

いくつかの調査がタスク->mm->start_dataをget_user_pagesに渡すように見えた後、kmapと組み合わせてうまくいくでしょう。

于 2013-01-29T09:59:44.583 に答える