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

[OSASK 1514] Re: memory management.



  こんばんは、川合です。


nabe さんは 2001/02/17 01:44:18 の「[OSASK 1511] Re: memory mana
gement.」で書きました:

>>ぐいぐい00限定の話です。
>つまり、いくつもの API が用意されるというわけなんですね。

  はい。まあ、それなりに先の話になるとは思いますが。

>それはいくつかの API が共存するんですよね。

  もちろんです。

>>  「外部へのシグナル出力」は、主にアプリ間の通信に使われます。マ
>>ルチスレッドでプログラミングしている時にお世話になるでしょう。
>送り先はプロセスID とかになるのかなぁ。

  プロセスIDはアプリケーションからは見られません。すべて、スロッ
トで管理します。プロセスIDで制御するのは、危険だと思いますから。

>それともメッセージになって、それをまってるアプリが呼ばれる…。

  結局、どのタスクとどのタスクを繋ぐかは、シェルの仕事なのです。
必要なら、繋ぎかえもやります。

>#現在あるものについては仕様書落とせばいいのか

  残念ながら今のところ、アプリはシグナルを受け取ることはできます
が、シグナルを送ることはできません。そのルーチンはまだ書いてない
のです(笑)。ごめんなさい。

>>  マルチスレッドなどでアプリ間で大きなデーターをやり取りする時は
>>、共有バッファを持って入出力するのが望ましいです。
>他アプリの領域にアクセスするのでしょうか?
>それともシステム領域にあるのでしょうか?
>さもなくばシステムがコピー(仲介)するのでしょうか?

  基本的には、他のアプリの領域にアクセスする、というものです。た
だしネットワークごしになっている場合は、システムが裏方でコピーし
ます。

>>割り込み制御による方法で、シグナルが着た瞬間にユーザーが定義した
>>シグナルハンドラへ分岐します。
>コールバック関数のようなものですね?
>シグナルID で定義されて、ID ごとに必要とする人が
>居る……といった感じで。

  僕はコールバック関数を知らないので、分かりません。

  でも、シグナルIDという概念はないので、違うかもしれません。

  シグナルについては、言葉で説明するよりも、シグナルを利用したア
プリを読む方が理解しやすいかもしれません。キー入力に反応するアプ
リケーションは全てシグナルを利用しているはずです。まあ、簡単なと
ころとしては、movec0.cでしょうか。このソースはコメントも数えて54
行しかありません。pack004sにバイナリーとソースがあります。・・・
と思ったら、movec0はシグナルは利用しているもののシグナルハンドラ
は使ってなかったです。これはポーリング型でした。

  cntup3c.cはちゃんとシグナルハンドラを使っているけど、シグナル
が1種類しかないからあまり参考にならないかもなあ・・・。

  申し訳ありませんが、僕の代わりにどなたかが説明してください。・
・・シグナルについてはすでにどこかに書いてあるかもしれませんが・
・・。ええと、誰も分からないようでしたら、僕がもう一度本腰を入れ
て説明を試みます。

(デバイスドライバー)
>なるほど、抽象性よりもしっかりした作りにすると。
>要するに、あるタイプI/Oには、それ用のドライバの形式というものを
>用意すると。

  はい、そうです。ある程度共通したインターフェースは持つことにな
ると思いますが、完全に同じにはしないと思います(同じになるものも
あるかもしれませんが)。

>>  はい。OSASKのシェルは、普通のOSとは立場が違います。
>>  詳しいことは、[OSASK 842](2000/06/11)を参照してください。
>バックログを見ましたがこの部分だけ抜けてるような気がしました……。

  おお、本当です。どうして?>もねさん

>1つずづ読むのは大変なので、もしよろしければ
>数カ月分を固めたログをアップして頂けるとありがたいのですが……(^^;;

  これは、確か1ヶ月ごとのアーカイブを作るって言っていたよね?・
・・僕もページへ行ってみたけど、アーカイブのダウンロード方法が分
かんないよ?>もねさん

  なべちゃんさん、ご指摘ありがとうございました。


  それでは。

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