LAST UPDATE 1998/07/01


『 その3-3 』



 ■ Windowsは何をやっているのか


 ウインドウズ95は画面の上に複数のアプリケーションを同時に実行することができる。しかしながら内部的には2つの事を同時に処理することはできないのである。そこで、ウインドウズは、必要に応じて一つずつ順番に少しずつ処理していくのである。これが通常は切り替わるスピードが速いので、ユーザーはあたかも複数のソフトが同時に動いているように感じられるのである。

 例として妥当かどうかは自信ないが、誰かが5種類のおかずを目の前にして食事をしているとしよう。人間が1度に食べられるのは通常1種類のおかずである。器を持って、箸でつかんで、口へ運び、咀嚼して飲み込む。結果としてその器の中のおかずは少し減る。そして次のおかずへと移る。
 さて、ここにその道のプロ ( 何のプロなんだ ) がいて、その人は見えないスイングの箸版 (話題が古い) を習得し、その人が箸を使ったり食べたりしているところは早すぎて見えないとしてみよう。あなたはそれぞれのおかずの減り具合を観察しているわけである。すると全てのおかずが同時にスムーズに減っていくのである。
 しかしオズマ君(食べている人の名前…30歳以下の人立ち入り禁止)にとっては、あくまでも順番に1個ずつ食べているのである。

 これがウインドウズ上で複数のプログラムが同時に動いている秘密なのである。こういう方法で処理されているわけだから、それぞれのソフトはプログラムの設計上考慮しなければならないことがある。それは…

  「 自分だけが長い間ウインドウズを占有するプログラムはよろしくない。 」

ということである。
 例えばオズマの話題に戻るが、彼が食べているおかずの中に、カニが含まれていたとしよう。もちろん殻つきである。見えないスイングを使って4種類のおかずを食べた後にカニである。足を1本もぎ取り、一つ目の間接部分をほじくって身を出しながら食べる。そして次に2つめの間接をほじくって食べる。とても時間がかかる。
 当然ここでスムーズな流れはストップしてしまい、処理が美しくなくなってしまう。こんな場合オズマは食べたい気持ちをぐっと押さえ、1回目のカニは第一関節の身を出すまで。そこで食べたい気持ちをこらえて、次のおかずを食べる。
 4種類のおかずを食べ終わった次の周回で、その身を食べる。次の周回で第二間接の身を出す。そして次の周回で食べる。というように1個の処理をさらに細かく分ける必要があったりする。

 実際ここまで厳格に考える必要はないが、これが「ウインドウズにおけるマルチタスク」というシステムの概要なのである。このような事を頭に入れながらウインドウズのソフトは作っていきたいものである。



その3-1 | その3-2 | その3-3 | その3-4 | その3-5 | その3-6

『 サルのゲーム製作講座 』 目次 | その 1 | その 2 | その 3 | その 4 |
その 5 | その 6 | その 7 | その 8 | その 9 | その 10 | その 11


もどる

e-mail: sc_3da@magical2.egg.or.jp