2

現在、Linux カーネルのデバッグを行っています。CFSタスクスケジューリング部分を修正しました。通常、関数 schedule() が呼び出されるたびに、ポインターを使用して既存のすべての sched_entity (概念的には task_struct に似ています) を格納またはアクセスしようとします。次に、カーネルが「アドレス XXXXXX のデータに対するカーネル ページング要求を処理できません」というエラーでクラッシュします。これは、カーネルがすべてのタスク情報にアクセスできないことを意味しますか? カーネルは、schedule() 関数を呼び出すタスクにのみアクセスできますか? ユーザー空間と同様に、プロセスごとに異なるメモリ空間があります。私はカーネルプログラミングの新人なので、誰かが私にヒントを与えることができれば感謝します:> ありがとう、

4

0 に答える 0