Linux豆知識 127

マルチタスク

このエントリーをはてなブックマークに追加
今回は、「マルチタスク」について。

「マルチタスク」とは、一度に複数のタスク(プログラムの処理単位)を実行することです。というと、そんなの当たり前じゃないか、と思うかもしれません。たとえば、最近では動画を再生しながらメールを打ち、そしてメッセンジャーも動作していて、実は裏でウィルス対策ソフトウェアも動いている・・・といったことが普通になっています。しかし、コンピュータが普及しはじめた1980年代などは、マルチタスクは当然のことでなく、一度に1つのタスクだけを実行する「シングルタスク」が主流でした。

1つのCPUは、ある瞬間には1つの処理しか実行できません。そこで、CPUの処理時間を短い時間に区切り、複数のタスクで1つのCPUを切り替えて利用します。このことによって、複数のタスクが同時並行で実行されることになります。すなわち、マルチタスクであっても厳密には「同時進行」ではなく、めまぐるしい速度で複数のタスクを順番にこなしているということになります。人間も複数の仕事を同時にこなそうとすると、どうしても「時間を区切って交互に作業する」というようにせざるを得ませんね。コンピュータでも、人間と同じことをやっているのです。ただ、その切り替えのスピードが非常に早い・・・ミリ秒で切ることができるので「同時進行に見える」ということなのです。

なお、Linuxは「マルチタスク」だけでなく、「マルチユーザ」であることが大きな特徴です。マルチユーザは、「一度に複数のユーザがOSを利用できる」ことを言います。すなわち、「一度に、複数のユーザが、複数のタスクを実行することができる」というわけです。

それほど難しい話ではないのですが、Linuxのカーネルの働きを理解するためには、この「マルチタスク」の理解が不可欠ですので、理解しておきましょう。

ページトップへ