Mac OS Xの詳細が明らかに Core OSはMach 3.0,SMPをサポート
[Thursday, May 14, 1998 シリコンバレー支局,山田 剛良=日経MAC]
WWDCのセッションが進むにつれ,Mac OS X(テン)の詳細が明らかになってきた。
最初に基本的な要件を整理しておく。簡単に言えば「Mac OS X」とは「Rhapsody」に「Carbon API」を追加したものである(図)。事実上はRhapsodyの次期バージョンだと言える。
Carbon API自体はMac OS 8x APIのサブセット。ただし,アプリケーションがモダンOSの機能を利用するには,100%Carbon APIであるうえで,再コンパイルが必要になる。それとは全く別に,Bluebox(Mac OS互換)機能を利用すれば,Mac OS 8.xアプリケーションはそのまま動く。
Mac OS Xに必要なメモリーは最低32MB。これはRhapsody 1.0の要求メモリーと同じ。「Rhapsody/Mac OS Xには高機能な仮想記憶システムが搭載されるので,32MBの実装メモリーがあれば十分に実用的な速度で動く」(Ken Bereskin氏:米Apple Computer社Senior Manager, Rhapsody Team Apple Developer Relations )。
逆に「Carbon APIアプリケーション」もMac OS 8.x上で動かすために,Appleはランタイム・ライブラリーを今後(おそらくMac OS X出荷後に)提供する。ディベロッパーは,Mac OS X出荷後,このライブラリーを添付してアプリケーションを配布すれば,1つのパッケージで「Mac OS 8.x(Sonata)」と「Mac OS X」という2系列のOSにネイティブで対応できる。
Mac OS Xは68Kエミュレーターを含まない。またPowerPC 750に最適化されるだけでなく,当面はPowerPC 750搭載マシンしか(公式には)サポートしない。したがって,旧マシン・ユーザーのためにAppleはMac OS 8.xを出荷し続ける。
いくつかの要素はRhapsody 1.0からMac OS X 1.0の間に変更が予定されている。
「Yellowbox」はそのまま残る。従ってRhapsody対応アプリケーション(OPENSTEPアプリも含む)はMac OS Xで基本的には動作する。Rhapsody for PC Compatible,Yellowbox for Windows NT,は予定通り出荷され,今後もサポートされ続ける。ただし「MacOS X出荷以降のRhapsody OSの出荷計画は全く未定だ」(Bereskin氏)。Yellowbox APIと追加されるCarbon APIは基本的に等価。原理的には両方のAPIを混在させて同じアプリから同時に使うことも可能だが「実際にできるかは未確認。検証が難しいので動作保証はできないかもしれない」(Bereskin氏)。
前述のとおり,Mac OS 8x互換機能を提供する「Bluebox」も残る。しかし,アップル・メニューから切り替える仕組みを取るRhapsodyと異なり,Mac OS XのBluseboxはユーザーに意識させないように透明な状態で動作する。
Bluebox上で動作するMac OS 8.xアプリケーションは,プリエンプティブ・マルチタスク,メモリー保護,高速なファイルI/OといったモダンOSの機能が使えない。また,Mac OS 8xアプリケーションが,具体的にどのような形で動作するかまでは明らかではない。 「技術的には,Blueboxの互換性は100%近い。しかし『透明な動作』を実現するため,一部の機能拡張——例えばメニューやウインドウにパッチを当てるようなもの——はBlueboxでの動作を制限する可能性はある」(Bereskin氏)。
コアOSはRhapsody 1.0で使う予定の「Mach 2.x / BSD 4.4」から「Mach 3.0 / POSIX」ベースへと移行する。Mach 3.0採用のメリットは,パフォーマンス向上とSMP(対称型マルチプロセッシング)対応。コアOSのネットワーク・スタックは「BSD 4.4 TCP/IP」をベースにUNIXサーバー機「Apple Network Server 700」で使用されたAppleTalkスタックを追加実装する。
Carbon APIはまだ完全には決定していない。AppleはWWDCの会場で再三,フィードバックを呼びかけているくらいだ。ただ,Mac OS 8.5(Allegro)のAPIをベースにするとは決まっている。少なくともMac OS 8.5で追加するすべての APIとSystem 7.5以降に追加されたAPIのほとんどは間違いなくCarbon APIに含まれる。
ディスプレイ・モデルはネイティブ化され,機能を強化したQuickDrawを使う。Display PostScriptは解体され,Rhapsodyアプリケーション対応のために,イメージング・モデルだけが何らかの形で残される。 Mac OS Xのテキスト・ハンドリングはUNICODE,クライアント・ネットワークAPIにはOpenTransport を使う。 Mac OS Xの最優先ファイル・システムは「HFS Plus」。だが,本質的にはファイル・システムを選ばない。UNIXインタフェースはRhapsodyよりもさらに「隠される」。
Carbon移行をにらみ,98年第3四半期出荷予定のMac OS 8.5では多くのAPIをリニューアルし,古いAPIからの移行を促す。以前のバージョンとの互換性は保証されるが,OS全体を考えるとかなり大きな変更になる。
ついにネイティブ化されるQuickDraw,「Theme」をサポートするAppearance Manager,V-Twin検索エンジンの内蔵,Navigation機能の強化,タイポグラフィーなどのQuickDraw GXの機能を統合しUNICODEをサポートする新しいテキスト・エンジンなどが予定されている。TSMは1.5が,OpenTransportは2.0が搭載される。
また,WorldScriptの機能はシステムに統合し,標準インストーラーに各国語のフォントが1種類ずつ入る(インストール自体はオプション)。この結果,英語システムで日本語文書をブラウズできるようになる。
|