[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