JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... で初期化する。 次に、このプログラムは ( pthread_attr_setinheritsched (3) を使って) そのスレッド属性オブジェクトの inherit scheduler 属性に PTHREAD_EXPLICIT_SCHED を設定する。 PTHREAD_EXPLICIT_SCHED は、 そのスレッド属性オブジェクトを使って作成されたスレッ ... ポリシーと優先度を表示する。 $ su # Need privilege to set real-time scheduling policies Password: # ./a.out -mf10 -ar20 -i e Scheduler settings of main thread policy=SCHED_FIFO, priority=10 Scheduler settings in 'attr' policy=SCHED_RR, priority=20 inheritsc ... hed is EXPLICIT Scheduler attributes of new thread policy=SCHED_RR, priority=20 上記の出力では、スケジューリングポリシーと優先度がスレッド属性 オブジ ... ... で初期化する。 次に、このプログラムは ( pthread_attr_setinheritsched (3) を使って) そのスレッド属性オブジェクトの inherit scheduler 属性に PTHREAD_EXPLICIT_SCHED を設定する。 PTHREAD_EXPLICIT_SCHED は、 そのスレッド属性オブジェクトを使って作成されたスレッ ... ポリシーと優先度を表示する。 $ su # Need privilege to set real-time scheduling policies Password: # ./a.out -mf10 -ar20 -i e Scheduler settings of main thread policy=SCHED_FIFO, priority=10 Scheduler settings in 'attr' policy=SCHED_RR, priority=20 inheritsc ... hed is EXPLICIT Scheduler attributes of new thread policy=SCHED_RR, priority=20 上記の出力では、スケジューリングポリシーと優先度がスレッド属性 オブジ ... ... でコンパイルしてリンクする。 説明 pthread_attr_setinheritsched () 関数は、 attr が参照するスレッド属性オブジェクトの inherit-scheduler 属性を inheritsched で指定された値に設定する。 inherit-scheduler 属性により、スレッド属性オブジェクト attr を使って作成され ... ーリング属性を継承するか、 attr からスケジューリング属性を取得するかが決定される。 次に挙げるスケジューリング属性は inherit-scheduler 属性の影響を受ける: スケジューリングポリシー ( pthread_attr_setschedpolicy (3))、 スケジューリング優先度 ( pthread_attr_se ... ッド属性オブジェクトで 指定された値からスケジューリング属性を取得する。 新たに初期化されたスレッド属性オブジェクトの inherit-scheduler 属性のデフォルト設定は PTHREAD_INHERIT_SCHED である。 pthread_attr_getinheritsched () は、 スレッド属性オブジェクト attr の ... ... でコンパイルしてリンクする。 説明 pthread_attr_setinheritsched () 関数は、 attr が参照するスレッド属性オブジェクトの inherit-scheduler 属性を inheritsched で指定された値に設定する。 inherit-scheduler 属性により、スレッド属性オブジェクト attr を使って作成され ... ーリング属性を継承するか、 attr からスケジューリング属性を取得するかが決定される。 次に挙げるスケジューリング属性は inherit-scheduler 属性の影響を受ける: スケジューリングポリシー ( pthread_attr_setschedpolicy (3))、 スケジューリング優先度 ( pthread_attr_se ... ッド属性オブジェクトで 指定された値からスケジューリング属性を取得する。 新たに初期化されたスレッド属性オブジェクトの inherit-scheduler 属性のデフォルト設定は PTHREAD_INHERIT_SCHED である。 pthread_attr_getinheritsched () は、 スレッド属性オブジェクト attr の ... ... カーネル 2.6.17 では、この条件を満たすスケジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。 If no I/O scheduler has been set for a thread, then by default the I/O priority will follow the CPU nice value ( setpriority (2)). In Linux ke ... O スケジューラの選択 I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル /sys/block/<device>/queue/scheduler 経由で行われる。 現在の I/O スケジューラは /sys ファイルシステム経由で参照できる。例えば、以下のコマンドを実行すると、 現在 ... カーネルでロードされているスケジューラの全リストが表示される。 $ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] 括弧で囲まれたスケジューラがそのデバイス (上の例では sda ) について実際に使用されているス ... ... カーネル 2.6.17 では、この条件を満たすスケジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。 If no I/O scheduler has been set for a thread, then by default the I/O priority will follow the CPU nice value ( setpriority (2)). In Linux ke ... O スケジューラの選択 I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル /sys/block/<device>/queue/scheduler 経由で行われる。 現在の I/O スケジューラは /sys ファイルシステム経由で参照できる。例えば、以下のコマンドを実行すると、 現在 ... カーネルでロードされているスケジューラの全リストが表示される。 $ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] 括弧で囲まれたスケジューラがそのデバイス (上の例では sda ) について実際に使用されているス ... ... is 2 MB unlimited $ ./a.out Thread attributes: Detach state = PTHREAD_CREATE_JOINABLE Scope = PTHREAD_SCOPE_SYSTEM Inherit scheduler = PTHREAD_INHERIT_SCHED Scheduling policy = SCHED_OTHER Scheduling priority = 0 Guard size = 4096 bytes Stack address = 0x ... n() allocated at 0x40197000 Thread attributes: Detach state = PTHREAD_CREATE_DETACHED Scope = PTHREAD_SCOPE_SYSTEM Inherit scheduler = PTHREAD_EXPLICIT_SCHED Scheduling policy = SCHED_OTHER Scheduling priority = 0 Guard size = 0 bytes Stack address = 0x40 ... pthread_attr_getinheritsched(attr, &i); if (s != 0) handle_error_en(s, "pthread_attr_getinheritsched"); printf("%sInherit scheduler = %s\n", prefix, (i == PTHREAD_INHERIT_SCHED) ? "PTHREAD_INHERIT_SCHED" : (i == PTHREAD_EXPLICIT_SCHED) ? "PTHREAD_EXPLICI ... ... is 2 MB unlimited $ ./a.out Thread attributes: Detach state = PTHREAD_CREATE_JOINABLE Scope = PTHREAD_SCOPE_SYSTEM Inherit scheduler = PTHREAD_INHERIT_SCHED Scheduling policy = SCHED_OTHER Scheduling priority = 0 Guard size = 4096 bytes Stack address = 0x ... n() allocated at 0x40197000 Thread attributes: Detach state = PTHREAD_CREATE_DETACHED Scope = PTHREAD_SCOPE_SYSTEM Inherit scheduler = PTHREAD_EXPLICIT_SCHED Scheduling policy = SCHED_OTHER Scheduling priority = 0 Guard size = 0 bytes Stack address = 0x40 ... pthread_attr_getinheritsched(attr, &i); if (s != 0) handle_error_en(s, "pthread_attr_getinheritsched"); printf("%sInherit scheduler = %s\n", prefix, (i == PTHREAD_INHERIT_SCHED) ? "PTHREAD_INHERIT_SCHED" : (i == PTHREAD_EXPLICIT_SCHED) ? "PTHREAD_EXPLICI ... ... ジューリングポリシーとパラメーターを設定する。 sched_getscheduler (2) 指定されたスレッドのスケジューリングポリシーを返す。 sched_setparam (2) 指定されたスレッドのスケジューリングパラメータ ... r (2) 指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。 この (Linux 固有の) システムコールは sched_setscheduler (2) と sched_setparam (2) の両方の機能を持つ。 sched_getattr (2) 指定されたスレッドのスケジューリングポリシーとパラメーター ... を取得する。 この (Linux 固有の) システムコールは sched_getscheduler (2) と sched_getparam (2) の両方の機能を持つ。 スケジューリングポリシー (scheduling policy) スケジューラ (scheduler) とはカ ... ... 行ったポリシー設定を有効にするには、 呼び出し側で pthread_attr_setinheritsched (3) を使って 属性オブジェクト attr の inherit-scheduler 属性を PTHREAD_EXPLICIT_SCHED に設定しておかなければならない。 返り値 成功すると、これらの関数は 0 を返す。 エラーの場合、 ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。