OSは割り込みタイマを設定し、プログラムを実行させます。タイマが満了すると、制御フローは、コンテキストスイッチのためにOSのコードにジャンプする。
コンテキストスイッチOSでは、現在のプロセスのレジスタおよびサポートデータを保存し、CPU内のそれをキュー内の次のプロセスのデータに置き換えます。次に、別の割り込みタイマーを設定し、割り込みが発生した場所から次のプログラムを実行させます。
また、現在のプロセスからのシステムコールは、コンテキストスイッチの時間であるかどうかを決定するためにOSに制御を与える(プロセスがIO操作を待っている)
この仕組みはプログラムにとって透過的です。
実行します。スイッチ。繰り返す。 :)