皆さん、おはようございます!@neko9です!!
千里の道も一歩より、と言いますし、今日も地道に勉強していきましょう('ω')
今回はスケジューリングのお話。
タスク管理の中で実行中のタスクを中断して、次のタスクをどのタスクにするかというのをスケジューリングといいます('ω')
スケジューリングにも方式があり、何をきっかけに切り替えるか、とどのタスクを優先するかの二つの考え方があります。
この二つの組み合わせによっていろんな方式があるわけですね!
さて、どんなものがあるか見ていきましょう!
①イベントドリブン方式
環境の変化をトリガーとして切り替える方式
※マウスがクリックされた、キーボード入力があったなど
②タイムスライス方式
一定時間ごとでスケジューリングする方式
③到着準方式
優先順にを持たせず、実行可能状態になった順に実行する方式
※タスクの実行終了までプリエンプションが発生しないことが利点
④静的優先順位方式
静的に決められた最も高い優先順位をもつタスクから実行する方式
※高優先度タスクが実行可能状態になると低優先度タスクがプリエンプションされるのでなかなか実行できないというデメリットも(この状態を”スタベーション”といいます)
⑤動的優先順位方式
待ち時間が一定時間乗となったタスクの優先順位を動的に高くして実行できるようにする方式
※スタベーションの回避が可能(優先順位を高くして実行の可能性を与えることを”エージング”という)
⑥ラウンドロビン方式
実行可能待ち行列の先頭タスクから順にCPU時間を割り当て実行する方式
※時間内に終了しない場合、実行を中断して、同じ優先順位の実行可能待ち行列の末尾に戻して次のタスクにCPU時間を割り当てる
⑦フィードバック待ち行列方式
ラウンドロビン方式に優先順位を加えたもので、一定時間で処理が終了しない場合、優先順位を下げていく方式
⑧処理時間順方式
処理時間の短いタスクに対し、高い優先順位を与え、実行する方式。
かなりたくさん種類がありますね。
これは覚えるのも大変そうです"(-""-)"
とはいえ言ってることが難しいわけでもないので頑張って勉強していきたいと思います!
それではまた、お会いしましょう!
@neko9 さん、こんにちは。
@japansteemitがこの記事をアップボートしました。
tomoyan.witnessに投票お願いします👇
https://steemitwallet.com/~witnesses
SPデレゲーション報酬
Wintessに投票すると毎日の報酬がアップ!詳しくは👇
https://steemit.com/hive-161179/@japansteemit/sp-delegation-reward-update
💡 アップボートガイド 💡
分からない事は何でも質問して下さい🙇
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit