WWDCではやくも "Prelude to Rhapsody" が参加者に配布されたという話が聞こえてきましたので、NEXTSTEP編と並行してRhapsody編を書き始めることにしました。もうお気づきとは思いますが、このページでは書いている途中のものを掲載しています(笑)。(しまったなぁ、千葉の申し込みしとけばよかった……旅費のいらない大阪だったら申し込んだのに)
さて、Rhapsody編ではRhapsodyのYellow boxについて書いていきます。いままでのAppleの発表を素直に受け取ればYellow boxはOPENSTEPそのものだといえます。OPENSTEPには誤解が多いのでこの章ではRhapsodyとOPENSTEPの関係について書きます。
Yellow boxの構成
Appleが公開しているRhapsody(のYellow box)の構成図を、以下のようにYellow boxを3つの部品に簡略化して書き直してみました。(OPENSTEPの定義が間違っていますがここでは目をつぶってください)。WWDCでYellow boxのマルチプラットホーム戦略が発表されましたが、以下の表は主要なプラットホーム3つについてのものです。
|
|
|
既存OPENSTEP製品の構成
比較のために上と同じように再構成した従来のOPENSTEP製品の構成図を以下に示します。どれもすでに市販されている製品です。上のYellow boxの構成図とほとんど同じであることがわかると思います。
|
|
|
GUI: Graphical User Interface ( look and feel )
OPENSTEP製品によってはGUIもOPENSTEPの要素に含まれることがありますがここでは別のものとして扱いました。MacではFinderとQuickDrawに相当します。OSと不可分というほどではなくかなり自由に設計できる部分ですが、使いやすいものにするにはOSの特性に配慮した調整が必要です。RhapsodyのGUIは、MacOS8の十分に練り込まれたデザインにマルチタスク動作への配慮を加えたものになると予想されています。
たとえば、動作優先度の制御をうまくする必要があります。特定のアプリケーションがCPUパワーを猛烈に消費したり、Finderがネットワーク反応待ちになったりしても、常にFinderはユーザーの操作に素早く反応しなくてはいけませんし、ユーザーの意志で任意のバックグランド実行項目をいつでも中断できなくてはいけません。Win95では未完成の部分ですがWin97ではかなり改善されるでしょう。NEXTSTEPでは内部要因で固まることはないものの、ネットワークトラブルやハードディスクトラブルなどの外部要因には弱いです。ワークステーションではまず起きないことですが、PCではユーザーの操作ミス(ケーブル切断など)によってこういったことがよく起こるため、このあたりの改善が望まれます。
MacOS8のGUIにも不安は少しあります。MacOSのGUIはよくできていますが、MacのGUIは歴史的な事情から画面サイズ512x384で2色ないし16色が基本になっていると考えていいでしょう。このように狭い画面でも十分な情報量を表示することができることは、POWERBOOKなどでも快適にFinderを使うことができる反面、最近主流の広い画面では物足りなさを感じたり、
NeXTでは画面は
OPENSTEP
これは単体のソフトウェアではなく複数のソフトウェアの集合体です。この部分はアプリケーションソフトに対してカーネルへの窓口になると同時に、アプリケーションソフトにいくつかのシステムサービス(ランタイム,クラスライブラリも含む)を提供します。ここで提供されるクラスライブラリがうまく作られていれば、それを利用するすべてのアプリケーションで統一された理解しやすく使いやすい操作性を確保することが容易になります。Yellow box用に書かれたアプリケーションソフトがどのプラットホームでも動作するという仕掛けもここにあります。
ではOPENSTEPをMacの骨格として採用するとどのような利点があるのでしょうか?
カーネル
今回のRhapsodyに向けた修正は何年に一度もないような大改訂で、古いコードの入れ替えだけでなく、ノートPCなどの最新のPC特有の技術に対応するためにunixにはない機能の追加が望まれます。
カーネルはNeXT社が持っていた(でもまだ製品には採用されていなかった)最新版カーネルが選ばれました。これにどういう機能が新たに必要になるのかをみていきましょう。
補遺1: OPENSTEP Windows(仮名)について
補遺2: OPENSTEP仕様の詳細について
ちょっと疲れてきたので続きはまた !