マルチタスク(Multitasking)とは、コンピューターが複数の作業を、同時に進んでいるかのように処理する仕組みのことです。音楽を聴きながら文書を作成し、同時にメッセージの通知を受け取れるのも、このマルチタスクのおかげです。
現実世界に例えると、マルチタスクは複数のお客様の注文を、少しずつ順番に手際よくさばく店員のようなものです。一度に1人にしか対応していなくても、目にも留まらぬ速さで切り替えることで、まるで全員に同時に対応しているように見えます。
マルチタスク図解
マルチタスクの正体
コンピューターの内部では、1つの処理装置(CPUコア)が、複数の作業をごく短い時間ごとに切り替えながら実行しています。人間には同時に進んでいるように見えますが、瞬間ごとに見れば、実際に動いているのは常に1つの作業だけです。
この切り替えの仕組み
作業を切り替える処理は「コンテキストスイッチ」と呼ばれ、今どこまで進んでいたかという情報をいったん保存し、次の作業の情報を読み込み直すことで実現されています。この切り替えが極めて高速に行われるため、人には途切れなく感じられます。
プロセスとスレッドとの関係
マルチタスクは、「プロセス」や「スレッド」という単位で管理される複数の処理を、切り替えながら実行する能力を指す言葉です。プロセスやスレッドが処理の「材料」だとすれば、マルチタスクはそれらをやりくりする「腕前」にあたります。
マルチコアとの違い
| 仕組み | 特徴 |
|---|---|
| マルチタスク | 1つの処理装置で、複数の作業を高速に切り替える |
| マルチコア | 複数の処理装置で、複数の作業を本当に同時に行う |
協調的マルチタスクとプリエンプティブ・マルチタスク
初期のパソコンでは、各プログラム自身が「そろそろ他の作業に譲ろう」と自主的に判断する「協調的マルチタスク」が使われていましたが、1つのプログラムが不具合を起こすと全体が固まってしまう弱点がありました。現在は、OS側が強制的に作業を切り替える「プリエンプティブ・マルチタスク」が主流です。
マルチタスクの恩恵
マルチタスクのおかげで、ファイルのダウンロード中に別の作業をしたり、複数のアプリを行き来しながら資料を作成したりといった、現代では当たり前の使い方が実現しています。1つの処理が終わるまで他に何もできない、という不便さから利用者を解放しました。
負荷が高いときに起こること
切り替えるべき作業が多すぎたり、1つ1つの処理が重かったりすると、各作業に割り当てられる時間が短くなり、全体としての動作が遅く感じられることがあります。パソコンの動作が重いと感じるときは、同時に動いている作業の数を見直すと改善する場合があります。
まとめ
マルチタスクは、限られた処理能力を巧みにやりくりし、複数の作業を同時に進んでいるように見せる、コンピューターの基本的な仕組みです。普段意識することは少ないものの、快適なパソコン操作を支える重要な技術です。


コメント