Quantum)と呼びます(こちらも参照)。タイムスライスはスケジューリング・ポリシー及びいくつかのカーネルのパラメータによっても変化します。)[1]等などあります。ここではどのような値を実際に取っているのか観察してみましょう。chrtの確認まずコマンドchrtを使ってカーネルにはどのようなスケジューラと、スケジューラが取るプライオリティの値を確認してみます。オプションは次の通りです。chrt(1).今回はタイムスライスの値を表示する短いプログラムを作成し、それをchrtを使って変化させてみます。試してみるコマンドラインは次のような形式になります。./a.outタイムスライスを表示するプログラムプロセスに与えられているタイムスライスの値を表示するプログラムは次の通りです。rr.cシステムコールsched_rr_get_interval(2)を使います。システムによって変化します。実際にプロセスに割り当てられているタイムスライスの値はsched_rr_timeslice_msで示される値そのものではありません。LTSでは次のようになりました。20.00msどう変化するのか実験まずシステムのタイムスライスの値をデフォルト(100ms)の状態でテストしてみます。./a.out20.00ms値は20msでした。この値は実際にこのプロセスに与えられたタイムスライスの値です。chrtを使ってスケジューリング・ポリシーを変更してみます。優先度はそのスケジューリング・ポリシーのもつ最低の値を与えています。10.00msシステムで設定しているデフォルトのタイムスライスは100msです。デフォルト(何もせずに)実行した際のタイムスライスの値は20.00ms、そしてSCHED_OTHERも20.00msです。これはLinuxのカーネルのデフォルトのスケジューリング・ポリシーがSCHED_OTHERなので一致しています。ここではSCHED_OTHER、SCHED_BATCH、SCHED_IDLEは20.00msですが、繰り返し実行しているとSCHED_BATCHが4.00msとなるケースもあり、SCHED_BATCHは内部の諸条件によって変化しているのが観測できます。SCHED_RRは100.00msです。これはsched_rr_timeslice_msの値が反映されています。SCHED_FIFOは常に0.00ms、つまりタイムスライスの値が設定されません。最優先でCPUに割り当てられ一度割り当てられたらば、タイムシアリング処理は行われず、その処理が終わるまでCPUが割り当て続けるということになります。提供されていないのでここでは取り上げません。Licenseのライセンスで利用できます。プライバシー・ポリシーUnixClassWikiについて免責事項モバイルビュ。