0

コードのどの部分kernel/sched/core.cを見れば、カーネルがスレッドのスケジューリングに使用しているスケジューリングのタイプがわかります。それとも、私は正しい場所を見ていますか?複数のプロセスは複数のスレッドを持つことができ、これらの個々のスレッドはどのようにスケジュールされますか? プロセス単位 (ローカル) またはスレッド プール単位 (グローバル)

編集:

現在、プロセスがどのように切り替えられるかを確認するためcontext_switchに、ファイルに発生する を記録しています。core.cしかし、このデータを分析しようとすると、複雑になりすぎます。誰でも簡単な方法を提案できますか?

これはhttp://lxr.linux.no/linux+v3.6.6/include/linux/sched.h#L36で見つけました

  /*
   * Scheduling policies
  */
  #define SCHED_NORMAL            0
  #define SCHED_FIFO              1
  #define SCHED_RR                2
  #define SCHED_BATCH             3
  /* SCHED_ISO: reserved but not implemented yet */
  #define SCHED_IDLE              5

しかし、私が理解できる方法で使用されている場所は見当たりません。

4

0 に答える 0