現在世の中に出回っているコンピューターで、OSが載っているものは大抵マルチタスクのOSです。ブラウザで何かをダウンロードしつつメーラーでメールを書き、更に音楽プレイヤーでBGMを再生するなんてことが同時にできます。実際にはCPUが同時に実行できるタスクは1つだけなのですが、非常に短い時間で複数のタスクを切り替えながら処理しているので見かけ上は複数のタスクが同時に走っているように見えます。
ちょっと昔、パソコンのOSで言えばWindows 3.1とかMac OS9とかの時代はマルチタスクを実現するためのCPU時間の切り替えは各タスクが管理していました。この方法だとOSはラクだし、オーバーヘッド等の処理が発生しないので限られた資源を有効に活用できたのです。ところが行儀の悪いタスクが居座ってなかなか処理を渡さなかったり、悪気は無いんだけど無限ループなどで1つのタスクがハングすれば必ずシステム全体が道連れでハングアップすることになり、システムの安定性はよくありませんでした。時代が下りCPUの処理能力が飛躍的に向上するに連れ、OSが一括してCPU時間を管理するプリエンプティブ式のマルチタスクが一般的になります。Windowsで言えば9x系が過渡期に当たり、NT系では完全にプリエンプティブ式です。Mac OSX、Unixも同じ方式で、アプリケーションの道連れを食らってOSが落ちることはほとんどなくなりました。
ここ数年パソコンでも利用できるようになってきたマルチコアやクラスタリングシステムは、単純に言えば演算ユニットの数を増やして見かけ上だけでなく実際に複数の処理を同時並行で行おうというものです。効率よく処理を配分すればシステム全体の処理能力は飛躍的に高まりますが、制御システムは非常に複雑になります。メインフレーム等では更に複雑な制御をしていますが、それでも人間の脳の働きをトレースすることはできないと言われています。
さて、発達途上ながらある意味ではスーパーコンピューターを凌駕する脳を持った一年生、太郎のある日の行動です。授業が終わり、学童保育(同じ棟内にある)へ行く前に上履きから下履きに履き替えて行くことになっているそうです。お迎えの時、靴が上履きのままなのを先生に指摘されました。「下履き履いて来なさい」と言うと「うん!」と元気よくクラスの教室めがけて走っていく太郎。足下は靴下のままです。しばらくして、一点の疑問も抱かずに運動靴を履いて戻って来ました。そこには上履きがそのまま残されています。「何で?」と訝る先生方。当の太郎は状況が分かっていないのかケロッとしています。
当人としては「下履きを履いてくる」というコマンドをインプットされ、忠実に実行したまでのことです。今手元にある上履きを下駄箱に置いてくるなんてことは言われてないし、思いつきもしなかったのでしょう。実際のところ、全部事細かに指示しても複数の事を指示すれば1つや2つは必ず忘れます。1つだけ指示を与えればそれだけはちゃんとできるようになっただけでも良しとするしかありません。
一年生、まだまだシングルタスクです。