[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1907] Re: BTK
落合です。おそくなってすみません。
/* In [b-free: 1859] Re: BTK
Yasushi Shoji <yashi@yashi.com> Wrote: */
|まずは勘違いの修正から(^^;
|
|×display primitiveとは、単にwindow内に線や図形を書く物だけだと思っていた。
|○どうやら、格マネージャーの下地になっているらしい。
私とやすしさんの意見が合わなかったところはそこです。
画面に描画をする(ビデオドライバとお話しをする)のは
ディスプレイプリミティブだけで、他のマネージャは
ディスプレイプリミティブを利用して描画する、というのは
BTRON1 でほとんど前提になっていますね。
もちろん、それぞれのマネージャが独自に描画するようにしても
API さえ合っていればそれでも良いのですが、
マネージャを作る上で苦労するだけのような気がします。
|Xlibをwrapし、display primitive APIを提供するlibraryがあり。
|そのlibraryを使うlibrary達がさらに存在する。で、このlibrary達が
|BTRON規格で言うマネージャーにあたる。
|
|さて、ここで問題なのは、マネージャーとなったlibraryをコールするだけで
|Xの上でwindowを動かす事ができるのだろうか?
|自分では、「やったこと無いからわかりません。」としか言えない(^^;
|
|それとも、マネージャー達はdaemonのようにそれぞれ独立したプロセス
|なのだろうか?と言うことになれば、(BTRONの)window managerが
|それぞれのプロセスにイベントを与えるという機能も納得が行く。
|で、そのprocessとのinterfaceとして、さらにlibraryがあれば
|一番(個人的には)納得が行くのですが‥。どうなっているのですか?
|
|上記のようならばBTRONで言うところのwindow managerは
|libraryとして、X で言うところのwindow managerは
|1プロセスとしてそのlibraryを使ってapplicationと接する
|となるでしょうか?
|つまりBWM + libwm.so(仮称) = BTRON window manager?
このあたり、いまいち理解ができないのですが、
なんとなく伝わるのは
「X の window = BTRON のウインドウ」
にしようとしているのではないか、ということです。
それはあまり得策ではない、と私は思います。
私の推奨する方法は、
「X の 1つの window = B-Free のディスプレイ」
とすることです。
X の1つの window を1つのディスプレイと見立てて
その中に BTRON アプリケーションのウインドウやメッセージパネルなどを
表示する方法です。
Windows 用の X Server では、
「Windows の1つの window の中で複数の
X の window を表示する」物と
「X の window = Windows の window」の2種類があります。
このうちの前者のようにしよう、ということです。
X のアプリケーションと B-Free を並べて同時に操作したい時には
あまり使い良いとは言えませんが、これでも十分目的を果たすと思います。
B-Free が十分使えるようになって、開発に余裕が出てきたら
「X の 1つの window = B-Free のディスプレイ」
もできるように改造するのも良いでしょう。
|> ○Blue Project は何ですか?
|
|基本コンセプトは、XをB-FreeOSの一部として使えるように移植することです。
「X がどの環境でも使いたいので、B-Free に移植する」
と
「B-Free の GUI 部分の開発の手間を省くために X を部品として使う」
のどちらでしょうか。
|B-FreeOSの核の部分が完成するまでは、BTRON仕様のuser interfaceを
|現在すでにXが動いているプラットフォーム上で開発します。
|その副産物として、applicatin levelのprogramerが開発を開始できる
|ようにもなる。
そこはあまり期待しませんけどね。
ファイルシステムや仮身・実身が使えないですし、
1B や B-right 上で作れば良いことですから。
|> ○Blue Project が実現すると、どんな良いことがありますか? ←これが一番重要
|
|B-FreeOS上にXを移植することによってB-FreeOSの開発時間短縮ができます。
やはり、開発の手間を減らすのがいちばん重要ですよね。
|> ○Blue Project と B-Free の関係は?
|
|B-FreeOSの上位核(周辺核の一部?)の実装をX baseで行います。
私としては、X に直接依存するのはディスプレイプリミティブだけに
したほうが良いと思うのですが。
|> ○Blue Project は B-Free の GUI ができるまでの継ぎなのでしょうか、
|> それとも B-Free でずっと使っていくものなのでしょうか。
|
|これはMLでも議論になったのですが、「どちらでも良いのでは?」
|と言うことだったと思います。
|
|だれかが、「Xは嫌いだ、もっと早い描画が必要だ」などと、思った時点で
|作り替えればいいだけだと思います。
X への依存度をできるかぎり減らさないと、作り直しが
大変になってしまうので、ディスプレイプリミティブだけに
とどめておいたほうが無難じゃないか、と思います。
===
落合秀俊 名古屋大学工学部情報工学科
h953046b@ice.nuie.nagoya-u.ac.jp