RTOS (uCOS II) は初めてで、uCOS の著者が書いた本を読んで学習しています。私には疑問があり、それに対する答えを見つけることができません。
uCOS では、スケジューリング アルゴリズムに従って、最も優先度の高いタスクに CPU が割り当てられます。したがって、2 つのタスクを作成して uCOS アプリケーションを作成するとします。1 つは優先度が高く (例では Prio = 1)、もう 1 つは優先度が低い (例では Prio = 9)。たとえば、最も優先度の高いタスクがイベントを待っている場合、スケジューラは次に優先度の高いタスクの実行を開始する必要がありますか? それが正しい場合、コードのどの部分で優先度が高く、優先度が低くなりますか?
アーキテクチャに依存する 3 つのコードは次のとおりです。 1. 割り込みレベルのコンテキスト スイッチ 2. 最も優先度の高いタスクの実行準備完了 3. タスク レベルのコンテキスト スイッチ
ケース 1 では、割り込みを処理した後、スケジューラは最も優先度の高いタスクに戻ります。ケース 2 では、OSStart() によって OS を起動するときに呼び出されます ケース 3 では、より優先度の高いタスクの準備が整い、タイマー割り込みによって呼び出されます
さて、優先度の高いタスクが待機中の場合、スケジューラーは優先度の低いタスクに CPU を正確に、またはどのように割り当てるのでしょうか??
ありがとう