[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 661] Re: OSASK アプリケーションのマナー.



  こんにちは、川合です。


橋 さんは 2000/05/23 01:21:22 の「[OSASK 659] Re: OSASK アプリケ
ーションのマナー.」で書きました:

>川合>  年内には、OSASKアプリケーションが誰にでもかける環境がそれなり
>川合>に整うわけですが、それまでには、以下のことを良く知っておいてもら
>川合>いたいのです。
>年内!そりゃ大変(^.^)/

  そんなに驚かないでよ。僕の方がびっくりしてしまった。

  alektoが出るのが年内だからね。ASKAが動いて、ファイルにアクセス
できれば、とりあえずプログラミングはできるわけ。

(OSASKでの入力)
>叫んで入力とか・・・

  うん、それもできるね。あまり一般的じゃないから書かなかったけど
。

>川合>ん。しかし、この3のように、任意の時点で特定の関数が呼び出される
>川合>という「割り込み処理」のプログラムは、普通のプログラムに馴れてい
>川合>る人には難しく感じるかもしれません。ですから、無理してまで、この
>川合>モードを利用しなくてもいいです。
>んー、なんかその方が自然に思えるのだけど、私は普通ではないのだろうか?
>もっともまともに組んだことがないのでそのせいかもしれないけど。

  最近はちょっと分からないけど、数年前までの普通は「割り込み処理
は難しい」なのです。

  でも、割り込み処理って、プログラムの難しさを除けば、いたって自
然な考えかただよねえ?

>川合>  3Dばりばりのゲームじゃない限り、たいていのゲームは2だけでや
>川合>っていけます。これはどういう事かというと、暇になったら、タスク間
>川合>通信バッファをチェックする、というただそれだけのことです。何かメ
>川合>ッセージがあれば処理するし、なければローカルレベルを最低に下げ、
>川合>冬眠します。このタスクは動いているときは常に全力ですが、イベント
>川合>待ちのときはかならずスリープしているので、負荷も十分に小さく、決
>川合>して無作法ものではありません。イベントには、キー入力だけでなくタ
>川合>イマーも使えますから、キー入力していなくてもタイマーによってちょ
>川合>くちょく目覚めて、ゲームを進行させられます。
>なんとなく分かりました。要するに出来るだけサボろうとするわけですな。
>目覚まし時計もあるし、たたき起こされたら全力疾走、と。

  そうです。そして、その「寝てばかりいる習慣」が、OSASKにおいて
は美徳とされているのです。

>川合>  タスク間通信によって運ばれてくるメッセージにはいろんなものがあ
>川合>ります。しかし、基本的に不要なものは送られてきません。たとえば、
>川合>テンキーしか使わないゲームなら、アルファベットキーの入力は統合入
>川合>力ドライバーの段階でカットされ、送られてこないのです。タイマーも
>川合>、使わなければメッセージは来ません。
>あれれ、統合入力の段階でカットされるの?
>まさか統合入力のINでではないだろうから、OUTの段階で取捨選択を行う?

  そう。いらない信号は送りません。統合入力の実体は、フィルターで
す。このフィルターは必要な入力信号を振り分け、不要なものを捨てる
のです。だから、統合入力のOUTで削られるわけで、INでは削りません
。

  統合入力から送られてくる情報は、"カーソルの「←」が入力された"
というものではなく、"左に移動してほしいという要求"です。それは、
同じ事だというかもしれませんが、違うのです。なぜなら、左に動かす
ために「←」キーを入力してくれているかどうかはさだかではないから
です。パッドに割り振られているかもしれないし、マウスかもしれない
し、音声入力かもしれないし・・・。それに、冗談で左右を入れ替えて
使っているかもしれないからです。

  アプリケーションはシェルに対し、自分が受け付けることができる入
力イベントの全てを伝えます。シェルは、それに基づいて、統合入力と
アプリケーションを接続し、統合入力のフィルターを設定します。

>川合>  タスクの終了要求への応答やウィンドウ管理など、ほぼ決まりきった
>川合>処理について、自前で処理するのが面倒なら、DLLに任せてしまうこと
>川合>ができます。キー入力管理やマウス管理もDLL任せにできます。これら
>川合>のDLLを使えば、タスク間通信バッファにまつわるややこしいことを気
>川合>にしないで、いたって普通のプログラミングができます。これらのDLL
>こうなると結構楽になりそうなところがあるね。
>このDLLってのも、気をつけないと某OSのAPIのような複雑怪奇な
>状況になってしまいそうだね。

  おっしゃるとおりです。まあ、DLLを作るのも簡単ですから、変なDLL
ばかりになったら、自分でDLLを作るといいかもしれません。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/