固定優先度プリエンプティブスケジューリングは、リアルタイムシステムで一般的に使用されるスケジューリングシステムです。[ 1 ]固定優先度プリエンプティブスケジューリングでは、スケジューラは、プロセッサが常に、現在実行準備ができているすべてのタスクの中で最も優先度の高いタスクを実行することを保証します。
プリエンプティブスケジューラにはクロック割り込みタスクがあり、タスクが所定の実行期間 (タイム スライス )を経過した後に切り替えるオプションをスケジューラに提供できます。このスケジューリング システムの利点は、タイム スライスよりも長い間タスクがプロセッサを占有することがないようにできることです。ただし、このスケジューリング スキームはプロセスまたはスレッドのロックアウトに対して脆弱です。優先度の高いタスクが優先されるため、優先度の低いタスクがいつまでも待機状態になる可能性があります。この状況を調停する一般的な方法の 1 つがエージングです。エージングでは、待機中のプロセスとスレッドの優先度を徐々に増加させ、最終的にすべてが実行されるようにします。ほとんどのリアルタイム オペレーティング システム(RTOS) にはプリエンプティブ スケジューラがあります。また、タイム スライスをオフにすると、実質的に非プリエンプティブ RTOS になります。
プリエンプティブスケジューリングは、協調スケジューリングと区別されることが多い。協調スケジューリングでは、タスクは他のタスクにプリエンプトされることなく、開始から終了まで連続して実行される。タスクを切り替えるには、タスクは明示的にスケジューラを呼び出す必要がある。協調スケジューリングは、SalvoやTinyOSなどの一部のRTOSで使用されている。
- ^ Audsley, Neil C.; Burns, Alan; Davis, Robert I.; Tindell, Ken W.; Wellings, Andy J. (1995-03-01). 「固定優先度プリエンプティブスケジューリング:歴史的視点」 . Real-Time Systems . 8 (2): 173– 198. doi : 10.1007/BF01094342 . ISSN 1573-1383 .
固定優先度のプリエンプティブスケジューリング
固定優先度プリエンプティブスケジューリングは、リアルタイムシステムで一般的に使用されるスケジューリングシステムです。[1]固定優先度プリエンプティブスケジューリングでは、スケジューラは、プロセッサが常に、現在実行準備ができているすべてのタスクの中で最も優先度の高いタスクを実行することを保証します。
プリエンプティブスケジューラにはクロック割り込みタスクがあり、タスクが所定の実行期間 (タイム スライス )を経過した後に切り替えるオプションをスケジューラに提供できます。このスケジューリング システムの利点は、タイム スライスよりも長い間タスクがプロセッサを占有することがないようにできることです。ただし、このスケジューリング スキームはプロセスまたはスレッドのロックアウトに対して脆弱です。優先度の高いタスクが優先されるため、優先度の低いタスクがいつまでも待機状態になる可能性があります。この状況を調停する一般的な方法の 1 つがエージングです。エージングでは、待機中のプロセスとスレッドの優先度を徐々に増加させ、最終的にすべてが実行されるようにします。ほとんどのリアルタイム オペレーティング システム(RTOS) にはプリエンプティブ スケジューラがあります。また、タイム スライスをオフにすると、実質的に非プリエンプティブ RTOS になります。
プリエンプティブスケジューリングは、協調スケジューリングと区別されることが多い。協調スケジューリングでは、タスクは他のタスクにプリエンプトされることなく、開始から終了まで連続して実行される。タスクを切り替えるには、タスクは明示的にスケジューラを呼び出す必要がある。協調スケジューリングは、SalvoやTinyOSなどの一部のRTOSで使用されている。