[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1974] Xlib interfaceの存在価値 (was: BTK)



やすしです。
subject 変えました。

From: Ryuichi Naitoh <naitoh_r@soft.hitachi.co.jp>
Subject: [b-free: 1972] Re: BTK
Date: Thu, 30 Jul 1998 19:30:20 +0900 (JST)

> 
> 隆一です。
> 
> 
> From: Yasushi Shoji <yashi@yashi.com>
> Subject: [b-free: 1971] Re: BTK
> Date: Thu, 30 Jul 1998 06:03:47 -0400
> 
> ...[snip]...
> 
> > > 
> > > アプリケーションが X を意識しないでプログラムできるというのは、私も賛
> > > 成です。X (というか X が下の層にあること)は、アプリケーションからアク
> > > セスできないようにしてしまう方がいいんではないでしょうか?
> > 
> > 混乱を防ぐ以外に、Xlib の interfaceを閉じてしまって良い事って何ですか?
> > せっかくあるものをわざわざ塞ぐのが、何故だかわかりません。
> 
> えーと、ちょっと確認させてください。
> やすしさんの書いた図では、
> 
> > > > application  --> 各 manager API --> manager
> > > >       |                              |
> > > >       |           +------------------+
> > > >       |           |                  | ←個人的にこのアクセスは許したい。
> > > >  +-------------------------+-------------+
> > > >  |display-primitive wrapper|             |
> > > >  +-------------------------+             |
> > > >  |                Xlib                   |
> > > >  +---------------------------------------+
> 
> のようにアプリケーションから Xlib にアクセスできないようになっています
> が、実際にはアクセスできるようにした方がよいということですか?
> 図ではマネージャからは Xlib はアクセスできますが、アプリケーションから
> は Xlib にアクセスできないように見えます。
> 
> やすしさんが、アプリケーションから X をアクセスできないようにすると考
> えたから、「賛成です」と書いたのですが……。

applicationからは、*使わない*方がいいでしょうね。

> で、私が X のあることをアプリケーションが意識しない方がいいと考えた理
> 由は、[b-free: 1960] の林さんの意見と同じです。一旦、X に対するインタ
> フェースをアプリケーションに公開してしまうと、そのインタフェースをずーっ
> とサポートする必要が生じてしまうからです。同じような API を 2 系統もつ
> 必要はないと思います。

いいたかったことは、わざわざ*見えなく*する必要があるか?と言うことです。
公開してしまうと、はやしさん[b-free 1960]や、隆一さんがいう通りサポートの面が
でてきてしまいます。でも、わざわざ*見えなく*したり、*使えなく*する必要があるの
かな?と思っただけです。ただprimitiveのためだけにそこにある」という事にしておけ
ば、存在を知っている人だけ使えるような、裏技的存在?にでもしておけば良いのでは?


> > > うーむ、そこでディスプレイプリミティブだけを使うか、それとも、それ以外
> > > のものを使うかという選択があるのだと思います。
> > > ディスプレイプリミティブ以外のインタフェースを使うならば、その仕様を明
> > > 文化する必要があると感じています。もし、仕様を明確にせず、ディスプレイ
> > > プリミティブ以外の機能だけを提供してしまうと、上に載るはずのマネージャ
> > > が作りようがなくなってしまいます。
> > 
> > 各マネージャーを使う application は、manager が、何をしているか気にする
> > 必要はないんですよね?どうして、マネージャーがどうやって下位層と繋がって
> > いるかが、そんなに重要なのかが、今一つわからないんですけど‥。
> > #すでに議論にでた、モジュール化などの話し以外にです。
> 
> 結局は、X サーバの上に載るマネージャを誰が作るかによります。
> 
> X サーバとマネージャを一体化したものを Blue プロジェクトで作ってしまう
> ならば、Xlib のインタフェースによってマネージャを作るのは問題がないと
> 思います。
> 
> しかし、もし Blue では X サーバの上に載るマネージャを作らない、あるい
> はマネージャを入れ換え可能にするならば話は別です。最低限の条件として
> 他の人がマネージャを作れるだけの仕様を Blue プロジェクトで提示する必要
> はあるでしょう。
> 
> # 別に Xlib をマネージャが使ってはいけないと言っているわけではないこと
> # に注意してください。

なるほど、他のmailにも書いたのですが、Display-primitive APIは作る予定です。
で、「manager programerの方々は、それを使って書く」と。
ただ、例外的にXlibがあるので、使いたい人は使っても*かまわない*。
もちろん外部から使われるAPIは、B-FreeOS仕様にしたがってもらう。

たぶんXlibを使って書いたapplicationは、B-Free仕様ではなくなりますね。
wrapperを通さない分、高速化を望めますが。それだけですね。

# もっともっとたくさんの人が参加するようになって
# systemの使い道によって、optimizeされた manager が出てくると
# 面白いかも知れませんね。

# そうなったら、native display-primitiveとか、でてくるか‥‥。

> でも、Xlib とディスプレイプリミティブって共同で動くことが可能なのでしょ
> うか? やすしさんも書いていますが、その辺が疑問です。

可能なんじゃないですか?くらいしかわかりませんが‥。

display-primitiveも、たぶんライブラリになると思います。
で、そのlibraryからXlibを呼び出す。user(application programer/manager
programer)は、display-primitiveが、何をやっていても気にする必要はない。

と、ぐらいにしか考えてませんが‥‥‥。

> > display-primitive APIは、絶対的に必要です。で、すでにあるX libが使えると
> > 混乱が起きるかも知れないのもたしかです。でも、混乱しそうな人は display-
> > primitive APIだけを使っていれば問題ないのではないですか?
> > あ、でも、types.hとか、全然違うから、やっぱり使えない方が安全かな?
> > でも、systemが、それで止る訳じゃないしね‥。
> 
> うーん、BTRON の場合 GUI 関係が止まったら、何もできなくなるような気が :-)

そ、そうですね‥‥‥‥‥。

ほんとはここにまとめを書こうかなと思ったのですが、新しくthreads作りました。
[b-free 1973]です。
--
Yasushi Shoji               | my pgp public key is
yashi@yashi.com             | http://yashi.com/public_key.txt
yashi@kafka.salem.mass.edu  | powered by linux and open source software