タスク管理
OS が複数のプログラムや タスク(ジョブ)を効率的に実行するために、各ジョブの投入から完了までを行う機能 シングルコア・マルチコアを問わず発生する
処理フロー
e.g. grep 'hello' largetReadme.md の
3. スケジューラ がプロセスを CPU に割り当て、プロセスが CPU で実行を開始する 4. CPU ではプロセスの命令を実行し、ファイルの読み込みが必要になると、プロセスは 待機状態 となり I/O待ちキュー に入る 5. デバイスは I/O 操作(テキストからいくらかのバイトを読み込む)を実行する 6. I/O 操作が完了したら、OS はプロセスを レディキュー に移動する 7. CPU に空きができると、スケジューラはプロセスを再び CPU に割り当て、ファイルから読み込まれたデータを検索する処理を実行する
warning.icon このタイミングで、プロセスの実行中に 割り込み が発生する可能性がある 8. スケジューラのアルゴリズム(ラウンドロビンなど)に従い、プロセスをレディキューに戻して他のプロセスを実行したり、再度レディキューから取り出して実行したりを繰り返す 9. (テキストサイズや他のプロセス数にもよるが、)プロセスの実行が完了するまで、4 ~ 8 を繰り返す
10. 検索処理が終了し、プロセスは終了する