アプリケーションがOSに0.5秒間プロセスを一時停止するように要求することがありますが、それはどのように機能しますか?
他のプログラムが同時にうまく機能するため、CPUがその0.5秒間実行を停止するだけではありません。
しかし、それはすべてのOSに共通のことだと思います。
アプリケーションがOSに0.5秒間プロセスを一時停止するように要求することがありますが、それはどのように機能しますか?
他のプログラムが同時にうまく機能するため、CPUがその0.5秒間実行を停止するだけではありません。
しかし、それはすべてのOSに共通のことだと思います。
回答:
マルチタスクオペレーティングシステムでは、OSは、プロセッサの実行を完全に停止したり、そのプロセスが他の命令で使用する予定の時間をいっぱいにしたりするほど極端なことをする必要はありません。それは無限に簡単なことをすることができます。タスクをまったく実行するようにスケジュールすることはできません。
これがマルチタスクオペレーティングシステムの要点です。複数のタスクをすべて同時に実行する必要がある場合は、OSが1つをプロセッサにスワップし、一定時間実行してから、次のタスクをスワップインして、実行する必要があるすべてのタスクがジョブを実行するまで続行します。 。
タスクが一定期間スリープしたい、またはキーが押されるのを待っていることを知らせるタスクがオペレーティングシステムに効果的に伝えていること don't bother swapping me onto the processor unless time X has passed
または don't bother running me unless you have event X waiting for me to action it
。
基本的に、OSは実行する必要があるタスクの長いリストを持っています、そして、それぞれに対して「イベントを待つ」記述子になるでしょう。実行する準備ができているタスクはスケジュールすることができ、そうでないタスクは単純にスキップされます。
文字通りある場合 いいえ 特定のタイムスライスでプロセッサ上で実行するためのタスク アイドル 「実際に行われるタスク H ある LT 通常はなんらかの割り込みによって、CPUが起動して起動するまで命令を実行しないようにします。このようなスケジューリング方法を「無駄にしない」ために使用することは、マルチタスクオペレーティングシステムのパラダイムにも適しています。
再び目覚めるために、CPUはRTC(リアルタイムクロック)を介して割り込み「ティック」を取得し、さらにセットアップすることができます。 HPET 特定の時間間隔で割り込みを発生させる(高精度イベントタイマー)。これにより、OSは非常に正確な時間にわたってCPUを停止させ、その後CPUをスリープ状態から解除してタスクの処理を再開できます。
NOOP
またはNOP
)操作指示なし。あなたはどんな問題を解決しようとしていますか?