SI Electronics Ltd.
これは、Be, Inc. 社の Technical White Paper: The Media OS を翻訳したものです([と]で囲んだ部分は、訳者が付け加えました)。 誤訳など、不備の点がありましたら、訳者の エスアイエレクトロニクスまでご指摘いただければ幸いです。
| ||
![]() | ||
![]() ![]() | ||
技術白書 物理学や経済学の観点[装置の進歩と経済性]からだけでなく、
1985 年にパーソナル・コンピューティングの新しい概念が形を取り始めました。 「デスクトップ・パブリシング」として知られ、 グラフィカル・ユーザ・インターフェースとレーザ・プリンタの発明に触発されて、 パーソナル・コンピュータの新しい使い道が特殊目的グループから始まって大市場に成長し、 ニュースレター、年報から広告まで文書印刷のやり方を変えました。 そしてその過程で、コンピュータ・ベースの印刷が、 数百万の人々にパーソナル・コンピュータの有用性を認めさせ、 彼らの仕事の性格まで変えてしまったのです。 10年後の今日、われわれが知る形のデスクトップ・パブリシングは終わろうとしています。 変わったのはメッセージではなく、メッセージを伝える方法です。 CD-ROM は、大容量分配の新しいメカニズムを提供し、大量生産には1枚当たり数セントしかかかりません。 DVD が登場しようとしていますが、これは CD-ROM を時代遅れにし、データ容量のレベルを変えます。 またインターネットは、急速に普及しつつあり、通信チャネルと安価なサーバーの費用だけで、 ユーザは誰でも、どんなタイプの情報でも送ることができるようになります。 このデジタル・メディアがメッセージを伝える方法を変えつつあります。 ページの上に静的な像を置く代わりに、デジタル・メディアはテキスト、デジタル・オーディオ、 デジタル・ビデオ、双方向通信、三次元グラフィックス、動画等の組み合わせを提供します。 以前の革命でコンピュータ化している世界中のコンテンツ・デザイナが、 水に飛び込むあひるのように新しいメディアを歓迎し、オーディオ、ビデオ、 グラフィックスを無数の組み合わせで実験中です。 新しいメディアの需要に応えて、制作所要時間が月単位から、日単位、 さらに時間単位にまで縮小しつつあります。これらデジタル・デザイナは、 最新のソフトウェア・ツール・セットを駆使してこの高バンド幅の情報をできるだけ リアル・タイムに操作します。 そしてその過程で、われわれの知るパーソナル・コンピュータを召し使いとしています。
今日の制約 コンピュータ産業は、ほぼ 18 ヶ月ごとに処理能力は倍に、装置価格は半分にという見込みで、 成長して来ました。このペースはまだ遅くなっていません。3年前と比べても、 今日遥かに強力なハードウェアが手に入ります。 しかし、デジタル・メディアの要求は、それよりもっと早い速度で処理能力の必要性を増大させます。 デジタル・デザインは、現在のシステムから性能をとことんまで絞り出し、マイクロプロセッサが進歩するとしても、 常に高性能を得る新路線を開く方策を探ることを要求します。 不幸なことに、その過程でアプリケーションは、現在の世代のオペレーティング・ システムが設計されている以上のことを求めています。現在存在するシステムの ほとんどが、何十年も前にそのオリジナルが設計されましたが、 当時はパーソナル・コンピュータがリアル・タイム・ビデオやオーディオ、通信 その他の高バンド幅のアプリケーションを扱うなとどいうことは、 空想科学小説の世界でした。Windows95 は、そのルーツは DOS にあり、Windows NT は、 もともと DEC により設計された VAX システムがルーツです。MacOS は、XEROX PARC の初期のアイデアと、Carnegie-Mellon 研究所の Mach に基づいていますが、 これらはどちらも 1970 年代後半に設計されたものです。 近年になって、オーディオ、ビデオ、双方向通信の重要性が増すとともに、 メディア・ベースのアプリケーションが必要とする性能を調達するために、 ますます巧妙で複雑な方法を編み出さねばなりませんでした。これは、 単に今日のシステムの基礎が、 高バンド幅のメディアを念頭において設計されていないためです。 古くなった基礎の一例は単一のシステムにおける複数個のプロセッサの使い方に 見られます。今日主流のOSの大部分のアーキテクチャは、単一のプロセッサ・ システムの実行に最適化されていますが、 これはマイクロプロセッサが非常に高価であった時代に生まれた仮定です。 これらのシステムにマルチプロセッサ機能を付け加えることは困難で、 しばしば中途半端に終わっています。最高の利潤を上げるには、すべてのOSサービスと アプリケーションをマルチプロセッサ機能を念頭に置いて書かなければなりませんが、 これを大混乱を招かないでやることは殆ど不可能でしょう。 今日のシステムでマルチプロセッサを多少使えるようにしているものがありますが、 そのやり方は粗雑で、 利用できるハードウェア資源を最大限に利用することに失敗しています。 それに加えて、今日のOSにますます多くの機能を付け加える過程で、 ソフトウェアの沈泥の層がアーキテクチャの基礎の上に積み重ねられて行きます。 これらの層は、新しいサービスを提供し、もはや必要でないサービスを避け、 個々のアプリケーションにこれ以外の方法では提供できない特殊な機能を提供します。 そして重要なこととして、バックワード互換性(古いソフトウェアも受け付け、 走らせる機能)を持っています。残念なことに、このソフトウェアの泥が積み重なるに連れて、 それはコンピュータの処理能力とハードウェア資源を消費します。また、システムの複雑性が増し、 性能を下げ、安定性が低下し、新しいソフトウェアを動かすのに掛かる時間が長くなります。 この複雑性の増大は二つの効果をもたらします。第一に、お客は主流の生産用アプリケーション (ワープロ、表計算など)から我慢できる程度の性能を引き出すのに、 必要以上に高価なハードウェアを購入しなければなりません。この問題に立ち向かう努力が ネットワーク・コンピュータの概念の基礎です。すなわち、OSを簡単化し、 最新のアプリケーションを採用し、汚泥層を取り除くことによって、 コンピュータは安価になるという考えです。 第二に、ユーザは、 今日の進歩したマイクロプロセッサに固有な真の処理能力を活用することができません。 これは、OSの汚泥が立ち塞がって、メディア・ベースのアプリケーションを、 あるべき姿より高価で、力の弱いものにしてしまうからでます。この問題を解決することが、 メディアOSの概念の根底にあります。
デジタル・メディアの必要性 OSに二三の機能を追加しただけで、それを「メディアOS」と呼ぶのは十分でありません。 OSは、デジタル・メディアを固有のものとして扱えるように設計されていなければなりません。 今日の世代のパーソナル・コンピュータを使った経験から、真のメディア・ベースのシステムを作り、 システムのハードウェア資源から最大のパワーを引き出すのに必要なことが見えて来ます。 この経験から、メディア・ベースのOSが卓越しなければならない、 五つの広い分野を上げることができます。
マイクロプロセッサのパワーは、予測できるペースで進歩を続けています。 しかし、デジタル・コンテンツ作成者の要求は、マイクロプロセッサ・メーカと物理学が 追いつこうとする最大限の努力をも追い越しています。メディアOSは、 その負荷を扱うのに単一のプロセッサに頼ることはできません。すなわち、それは マルチプロセッサの機能を持たなければなりません。 マルチプロセッサ・システムが重要なのは、なぜでしょうか。 今日、パーソナル・コンピュータ・システムのパワーは普通単一のマイクロプロセッサに依存しています。 そのため、より強力なパーソナル・コンピュータを作るためには、 新しいより高速な世代のマイクロプロセッサの出現を待たなければなりません。 マルチプロセシングはこの問題を回避する方法を与えます。 第一に、それはより強力なシステムへのアクセスを与えます。 マイクロプロセッサの性能が向上したとき、その効果を一つでなく、プロセッサの数だけ倍加することができます。 これによって今日のパーソナル・コンピュータの技術を使いながら、 今日あるよりもはるかに強力なシステムへのアクセスを提供します。 第二に、マルチプロセシングはある性能のポイントを達成する上でより経済的な
方法を提供します。今日の最高性能のプロセッサ、300 MHz は、250 MHz プロセッサに比べると、
かなり割高です。そこでシステムに 250 MHz プロセッサを2個入れることは、
300 MHz を一個入れるのと同じぐらいのコストになります。しかし、二つのプロセッサを
組み合わせると 500 MHz のサイクルを提供することができます。その結果、
マルチプロセッサ方式をを使うと、ハードウェア製造者にとって、
コスト・パフォーマンスの新しい軸を開くことになり、エンド・ユーザに、
新しい性能のレベルとオプションを提供することになります。 新しいマルチプロセッサ・ベースの解決策をOSの中心に持ち込むことが、 次の世紀におけるメディア設計において基本的な必要条件です。 その他にも、プロセッサの性能を最大化する上で考慮すべきことがいくつもあります。 例えば、オペレーティング・システムがマルチプロセッサの能力をいかに使うかということの方が、 プロセッサの能力自身よりもっと重要です。 われわれは、この白書の少し後の部分でこのことをさらに調べます。
グラフィックス機能と柔軟性 プロセッサ能力を大量に消費する他に、デジタル・デザイナの仕事の典型的な特長は、 グラフィックスの処理をなるべくリアル・タイムに(すなわちユーザの観点から「遅延」なしに) 扱うことです。これを達成するには、メディア・ベースのシステムはグラフィックス機能に関連して、 二つの事柄が重要です。 第一に、特化されたグラフィックス・コプロセッサを利用する必要があります。 グラフィックス・コプロセシングは、マルチプロセシングの特殊なタイプで、 システムの性能をドラマティックに向上させます。このことは特に 3D グラフィックスや、 ビデオ圧縮と展開において効果があり、ある機能に特化したチップがスループットを大幅に増大させます。 第二に、グラフィックス機能は柔軟でなければなりません。 デジタル・デザイナが扱うグラフィックスのタイプは色々です。 ある人は、ビデオより 3D グラフィックスの仕事をし、 ある人は、3D より 2D の仕事をするといった具合です。 このゆえに、メディアOSは、ハードウェアが、 エンド・ユーザに取ってベストな環境構築ができるよう柔軟でなければなりません。 それに加えて、柔軟性とモジュール化していることは、 新しいより強力な解法が利用できるようになった時や、ユーザの要求が変わったときに、 グラフィックス・ハードウェアをアップグレードできることを意味します。
大容量記憶装置へのアクセス デジタル・デザインのもう一つの特長は必要とされるデータの量です。 フロッピー・ディスクから、ハード・ディスクへ、更に CD-ROM へと移ることにより、 二三年前に比べても顕著により大量のデータへの直接アクセスが可能となりました。 通常のハード・ドライブのサイズは、数百 MB から、 今では4 GB になろうとしています。
メディア・ベースのシステムは、複数個の大容量装置を扱わねばなりません。 これらの装置は能力がばらばらですから、それらの異なった能力にも適応できるように OS の storage system は、柔軟であることが求められます。メディアOSは、 情報がシステムの中を経由し、リアルタイムに扱えるように、 その基礎をなすハードウェアの進歩を確実に取り入れなければなりません。
インターネット通信 今日、インターネット機能がパーソナル・コンピュータの標準的なオプションであることは、 言うまでもありません。デジタル・デザイン関係者に取って、それは仕事の流通チャネルであり、 ビジネスの基本的な要件であります。 メディア・ベースのシステムは、インターネットを固有のものとして持ち、 TCP/IP プロトコルをベースとし、インターネット・ベースの各種のサービスをアクセスし、 またサーバーとして働くことができなければなりません。高速のインターネット・ネットワーキング・ ハードウェアを活用することはその第一歩であり、 ウェブから電子メールまで、広い範囲のインターネット・アプリケーション・サービスを提供して、 インターネットの層を確保することが次のステップです。
結合して働くソフトウェア 最後に、デジタル・デザインのためにパーソナル・コンピュータを使う人は、 一つのソフトウェアだけを使うのではありません。 しばしば、ソフトウェアの「グループ」が使われますが、これは、基礎となる同じデータに対し、 それぞれが特定の操作を受け持つソフトウェアのパッケージ の集まりです。 今日の世代のOSやアプリケーションに対する、ユーザの本質的な不満は、 これらのソフトウェア・パッケージを結合して働かせることが困難であるということです。 もしパッケージが別の業者の製品である時は、尚更です。 メディアOSはこの問題を一人で解くことはできません。 これには、アプリケーションが基本的な役割を演じます。 しかしOSがそのことをずっとやりやすくすることはできます。データ交換とスクリプティング機能が この問題解決への二つの方法です。広範なスレッディングとアプリケーション間メッセージ、さらに アプリケーションを他のアプリケーションと「合併(merge)」させる能力などが役に立ちます。 オペレーティング・システムがこれらのサービスを提供すればする程、 アプリケーション側でそれらを活用することになるでしょう。
メディアOSの定義 デジタル・デザインのためのこれらの日常的な基本的必要条件を考慮すると、メディアOSは、 どのようなものでなければならないでしょうか。今日のソフトウェア・デザインについての知識から、 最上のメディアOSはどのような特色を持ち、アプリケーション・ソフトウェアと共に、 どのように機能して、ユーザに取って、最高の性能と経験を提供することができるのでしょうか。 メディアOSの特色をよりよく判別するために、 OSの機能を次の二つの広いカテゴリーに分割することができます。
メディアOSの基礎
メディア・ベースのアプリケーションと高バンド幅のデータの要求に応えるために、 メディアOSは、その基礎レベルに次のような特色を持たねばなりません。
マルチプロセッサに対し最適化されている これまで述べて来たように、基本的な経済学の観点から見て、 マルチプロセッサ・パーソナル・コンピュータは、次の10年間に急速な成長を遂げるでしょう。 このことは、メディアOSが今日のシステムに使われている単一プロセッサの仮定を振り捨てて、 単一システム内の2、4、 あるいはそれ以上のプロセッサを活用するように設計されたアーキテクチャを取らねばならないことを意味します。 これらのプロセッサは、一つのシステム内で仲間として扱われ、 それぞれがOSコードのどの部分でも実行でき、 それぞれがコンピュータの資源にフルにアクセスできるようにことが必要です。 よく対称型マルチプロセシングと呼ばれていますが、その特色は操作を高速にし、 効率を上げ、特にマルチプロセッサを意識したアプリケーションを書く仕事を簡単化します。 対称型マルチプロセシングをインプリメントするためには、 いくつかの他の「モダン」なOSの概念も取り入れなければなりません。 プリエンプティブ・マルチプロセシングは、 コンピュータがタスクやプロセッサを素早く効率的に切り替えることを可能にします。 仮想記憶は常に存在して、タスク間の円滑な移行と効率的なメモリ管理を許さなければなりません。 ソフトウェア・ドライバやアプリケーション・アッド・オンは、 動的にロードできるようにし、メモリー使用を最大限に活用し、 動的な環境再構築を可能にすることが求められます。 最後に、今日のメディア・ベースのアプリケーションの内部構造が複雑化していることと、 ソフトウェア更新期間がますます短期化していることが重なって、カストマーは、 最先端の鋭い刃先から滑って血まみれの刃先になることから保護されねばならないような状況になっています。 そのために、メディアOSは、アプリケーション間のメモリ保護を提供し、 一つのアプリケーションが他のアプリケーションに影響を与えることを防止しなければなりません。 さらに、メディアOSは、クライアント・サーバーの内部構造をインプリメントし、 基礎的なオペレーティング・システムとアプリケーション・コード、ユーザ・データを分離するべきです。 これらの二つの特色を組み合わせることにより、 エンド・ユーザはデータが壊される心配をせずに最新のアプリケーションを使えることが保証されます。
普遍的マルチスレッド化 しかしオペレーティング・システムの基礎をマルチプロセシングとするだけでば十分でありません。 もしわれわれがマルチプロセッサ・アーキテクチャの上に、 過去のソフトウェアのプログラミングの概念を使うとすると、 その結果、プロセスは並列でなく直列に実行され、マルチプロセシングの利点は大部分消えてしまいます。 さらに、古いアプリケーション・ソフトウェアの概念を使うと、 「スケーリング」として知られる問題を引き起こす可能性があります。 これはマルチプロセッサ・システムの性能がプロセッサの数が増えても、増大せず、頭打ちとなり、 逆に下がることさえあるという現象です。 性能を最大限に引き出し、並列性を増大し、スケーリング問題を減少させるために、 メディアOSは、普遍的マルチスレッド化と呼ばれる概念を採用することが必要です。 マルチスレッド化は、アプリケーションのような大きなタスクを無数の小さなタスクに分割します。 普遍的マルチスレッド化は、この手法が、カーネルを始めとしユーザがウィンドウ内で見るグラフィックスも含め、 オペレーティング・システムとアプリケーション全体を通じて行われることを意味します。 多くの点において、普遍的マルチスレッド化は、 1980 年代初期において GUI システムを導入したのと同じくらいのソフトウェア設計に対する革命的な転換です。 しかも単なる視覚的な相違だけでなく、ユーザは、 その結果として顕著な性能と機能の増大を実感するでしょう。 普遍的マルチタスク化は、メディアOSに何ダース、 時には何百に上る小タスクを急速にスイッチすることを可能にします。 これらのタスクは複数個のプロセッサの上に急速に配置され、システムのプロセスの負荷が変わると、 急速に再配置されることができます。普遍的マルチタスク化は、 またよく「ファイン・グレイン(微粒子)」マルチタスク化と呼ばれますが、これは 砂時計の中で砂粒を移動する方が大きな岩石を動かすより簡単であるという観点からの命名です。 メディアOSは、基礎レベルからアプリケーション・サービスに至るまで、 すべてのOSサービスで普遍的マルチスレッド化を使います。事実、メディアOSは、 さらに一歩を進め、アプリケーションもマルチスレッド化されることを保証します。 しかしこの高度のマルチスレッド設計は単一プロセッサ・システムではどのように影響するでしょうか。 実際にやってみると、普遍的マルチスレッド化はこのような場合にも効果があります。 単一プロセッサ上のプリエンプティブ・マルチタスクがより円滑となり、 ユーザが新しいアプリケーションを開くといったタスクの変化にもすぐ対応することができます。
マルチスレッド化された64-ビット・ファイル・システム 誰でも、16-ビット・システムから 32-ビット・システムへ、さらに将来は 64-ビット・システムへと、 プロセッサのアーキテクチャが変遷していることを認識していますが、 同様に重要な変遷がコンピュータの記憶装置を扱うやり方の上で起こっています。 メディア・ベースのアプリケーションが主流となるに伴って、記憶装置のサイズが、 ハード・ディスクから、Zip や Jaz ドライブへ、さらに光学的メディア、 大容量磁気メディアへと劇的に増大しました。 その過程で、われわれは基本的な制約に突き当たっています。 もしオペレーティング・システムが「32-ビット」ファイル・システムをインプリメントしたとすると、 デバイスが保有できる固有の最大ファイル・サイズは、4 GB です。 2、3年前には4 GB は大容量記憶と思われていましたが、 今日では、この上限を簡単に超えるファイルを使用するメディア・ベース・アプリケーションを 容易に思い浮かべることができます。今日のアプリケーションでさえこの上限に到達してしまったので、 今日のオペレーティング・システムの中でこの上限を回避しようとする複雑な解決策がいくつも登場しています。 しかしもっと簡単な解決策があります。それは、 基本的なファイル・システムの設計を64-ビットにすることです。 こうすると一つのデバイスの理論的な容量は約 1,800 万 TB(180 億 GB)となり、 短期的にはドライブ製造業者に活躍の余地を十分に与えます。 またファイル・システムの設計を64-ビットに移行することにより、 アプリケーション開発者が 4 GB の上限の特別な解決策を扱わねばならぬことから開放します。 そして基本的な基礎レベルのサービスとの「不整合(kludge)」を避けることにより、全般的な効率が改善されます。 それに加えて、メディアOSファイル・システムは、 アプリケーションのために基本的なデータベース機能を組み込むべきです。 ファイルの内容の主な属性や記述をファイルに沿って検索し、 アクセスを早めるためにインデックスを付けることを可能にします。 これは大きなウェブ・サイトを構成する数千のファイルにアクセスするような状況において、 全般的なアクセスを高速にします。
マルチスレッド化された直接アクセス可能なグラフィックス機能 メディアOSは、圧縮されたビデオ・ストリームを固有のものとして扱い、 過去の 2D グラフィックスに加えて、応答的な 3D グラフィックスも持つことを期待されています。 圧縮ビデオも 3D グラフィックスも応答的に操作するには強力なプロセッサ・パワーを必要とします。 圧縮ビデオは、リアルタイムに、大容量のビデオ・データを圧縮したり、 展開したりするのにパワーが必要です。応答的 3D グラフィックスは、 3D の光景は全体が数学的な表示により構成されなければならないため、 もっとプロセッサ・パワーを消費します。 さらに、コンピュータ・グラフィックスの分野は、急速に進展しています。 すなわちハードウェアが急速に変化しているということです。 マルチプロセッサ・システムがこの分野に取って恩恵であることは確かですが、 その他に特化されたビデオ・プロセッサや 3D グラフィックス・プロセッサがあり、 グラフィックスの操作をかなり高速にします。これらのグラフィックス・プロセッサは、 「専門家」であると考えられます。マルチプロセッサ・システムにおいて、 これら専門家を最大限利用するためには、 マルチプロセッサを意識したマルチスレッド・オペレーティング・システムと マルチスレッド・アプリケーションから出発することが非常に有益です。 このような事情がありますから、メディアOSは、 つながれているグラフィックス・ハードウェアについて、あまり仮定を置くべきではありません。 また、アプリケーション・ソフトウェアの機能の種類についても同様です。 ということは、メディアOSは、モジュール型で、動的で、 マルチスレッド化されたグラフィック・システムを持つべきだということです。 グラフィックス・ハードウェアのドライバはモジュール型で、動的にロードされねばなりません。 グラフィックス API は、各種の関数がOSレベルのソフトウェアで扱われ、 また、ハードウェアの機能又はアプリケーション・レベルの関数で置き換えることもできることが必要です。 そしてこれらの API は、一つのシステムの中に、 複数個の汎用あるいは特化プロセッサがあり得ることを仮定し、 これらの資源にグラフィックスのタスクを動的に割り当てることができなければなりません。 さらに重要なことは、アプリケーションが欲するときは、 連結されているグラフィックス・ハードウェアに直接アクセスできることが必要です。 この機能を提供することは、慣例的な現代のOS設計方針の一つと背馳します。 それは、データ保護や安全保障の理由から、 連結されているハードウェアはアプリケーションから隔離されていなければならないとするものです。 しかし、過去10年間のグラフィックス設計の現実と将来10年間に予測される変化が意味することは、 ユーザに最速の応答的なメディア・システムを提供するためには、 時にはアプリケーションのハードウェアへの直接アクセスが必要であるということです。 メディアOSの目標は、このことができるだけ効率よく安全に行われるようにすることです。
高能率でモジュール化された I/O マイクロプロセッサもグラフィックス・プロセッサも高速化して行きますので、 コンピュータの入出力(I/O)システムが急速に隘路となろうとしています。 I/O システムは、(ハード・ドライブのような)記憶装置からメモリにデータを移動し、 またその逆を行います。記憶装置の他にも、デジタル・カメラ、ビデオ・カメラ、スキャンナーなど、 データをコンピュータに入れたり出したりする広い範囲のデバイスがあります。 生のプロフェッショナル・ビデオの場合には、 最高毎秒 42 MB のデータをシステムを通して動かさなければなりません。 幸いなことに、ハードウェア設計者は、 グラフィックスと同様この分野でも急速に活動しています。 それでメディアOSは、グラフィックスの場合と同様に、 モジュール型で、動的で、マルチスレッド化されたI/O システムを提供する必要があります。 I/O ドライバは、動的にロード、アンロードでき、走行中の再構築が可能でなければなりません。 またマルチプロセッサの使用ができることが必要です。
設計の明解性と単純性 最後に、もう一つメディアOSとして必然的ではないが、重要な特色があります。 メディアOSの基礎において、総合的なアーキテクチャの明解性と単純性がシステムの性能と、 どのようなタイプのアプリケーション・ソフトウェアが利用できるようになるかということに甚大な影響を与えます。
明解性と単純性は、OSがオブジェクト指向プログラミングの概念に基づくべきことを示唆しますが、 メディアOSはさらに前進しなければなりません。 メディアOS内に見出されるオブジェクトはできるだけ数が少なく、できるだけパワフルで、 できるだけ柔軟であることが求められます。OSに数千のオブジェクトを加えることは、 再利用可能なコードを提供するというタスクは達成するでしょうが、複雑性を増大させることになり、 潜在的に性能を低下させ、新しいアプリケーションの出現を遅らせます。
メディアOSのアプリケーション・サービス
メディア・サービス もちろん、メディアOSは広い範囲のメディアとデータのサービスを内蔵しなければなりません。 これらの中で最も重要なものは、次の3カテゴリーに属します。 フォーマット翻訳サービス。 各種のデジタル・メディアは、いろいろなフォーマットでやって来ます。 メディアOSは、これらのフォーマットを変換するための、 また新しいフォーマットが定義されればそれを付け加えるための、 標準化されたツールを提供しなければなりません。 データ操作サービス。通常、操作する対象のデータに依存して方法が変わるので、 メディアOSは、広い範囲の標準および非標準的なデータ操作サービスを提供する必要があります。 特に広い種類のアプリケーションで使われるサービスを重点にすべきです。 データ・アクセス・サービス。メディアOSは、基礎レベルの I/O サービスと相伴って、 記憶、入出力、ネットワーク関係の装置のために、 種々の標準的なデータ・アクセス・サービスを提供しなければなりません。
固有のインターネット・サービス インターネットに人気がある主な理由の一つに、 インターネット・ベースのサービスが標準化されていることがあります。 これによってどんなタイプのシステムでも、プロセッサの種類、OS、アプリケーションに関係なく、 他のコンピュータとインターネット上で交信できます。このことは、また、 インターネット・サービスは、アプリケーションがコードをダブって用意する必要がないように、 メディアOSの中に組み入れてしまうことが可能であることを意味します。 メディアOSは、それだけでなくさらに進歩すべきです。例として、 インターネットは多くの種類のサービスで、MIME として知られるデータ・タイプ判別基準を使用します。 メディアOSは、MIME タイプを固有のものとして使用すべきです。 これによってローカルなデータをインターネット上のデータと統合できるようになり、 ネットワーク上に情報を流す仕事が容易になります。
「アプリケーション間の応答」サービス デジタル・デザイナは、ある仕事をするのに一つだけのソフトウェア・ツールを使うのではなく、 それぞれが特定の機能を扱うツール・グループを使用します。 メディアOSは、これらのアプリケーションが円滑に共同作業ができるようにしなければなりません。 そのために次の機能が必要です。
国際的サービス デジタル・デザインには国境がありません。インターネットは、 地球上の数百万のコンピュータを切れ目なしに結び付けています。 これからは、一つの言語しか理解しないソフトウェアを作ることは受け付けられません。 メディアOSも例外ではなく、 アプリケーションが世界に進出するために使えるようなサービスを提供すべきです。 国際的サービスを作る上でいろいろな基盤が考えられます。 しかし、プログラミング言語であり同時にインターネットのラン・タイム環境でもある Java の出現は、 Java が使用する Unicode がメディアOSの基盤として望ましいことを意味します。
マルチスレッド化されたユーザ・インターフェース デジタル・メディア・アプリケーション設計の目標は、 メディア・オブジェクトをできるだけリアル・タイムな方法で、 できるだけ直接に操作することを可能にすることです。 これが意味することは、OSやアプリケーションのユーザ・インターフェースと応答することにより、 ユーザがプロセッサを集中的に使うようなタスクをいくつでも開始できるということです。 重い負荷の下でも、コンピュータがユーザにできるだけ敏速な応答が可能なようにするためには、 ユーザ・インターフェースの設計は普遍的なマルチスレッドを使用する必要があります。 そして従属物の生成は最小限にとどめるべきです。 メディアOSは、ウィンドウ、ビュー、メニューなど、 すべてのアプリケーションにより使われる基本的なインターフェース要素を、 普遍的マルチスレッドとして設計することによって、OS自身のユーザ・インターフェースにおいても、 アプリケーションにおいても、敏速な応答が達成されます。 このようなやり方で、メディアOSに対しては、単一スレッドのアプリケーションを設計することは、 事実上不可能になります。 デジタル・コンテンツ・デザインに関連してオプションが複雑で多岐にわたることは、 これらのアプリケーションが大量の画面の資源と多数のユーザ・インターフェース要素を活用することを意味します。 メディアOSは多種類の標準化された要素を用意して、 その中から最適のものを選択できるようにしなければなりません。 同時にOS自身もきれいで整然としたユーザ・インターフェースを用意し、 そうでなくても複雑なアプリケーションがそれ以上複雑になることを避けるようにします。 オブジェクト指向設計 恐らくメディアOSのアプリケーション・サービスの最も重要な点は、 それがオブジェクト指向設計の概念に基づいていることです。 オブジェクト指向設計の基本は C++ や Java のようなプログラミング言語に盛り込まれています。 しかし、ソフトウェア開発時間の短期化、アプリケーション間統合の容易化、 設計の明解化などのオブジェクト指向設計の利点は、 OS全体がオブジェクト指向の概念に基づくのでなければ達成できません。 しかしオブジェクト指向の概念を採用するだけでは十分でありません。 基礎レベルのサービスと同様に、 アプリケーション・サービスにおいても設計が明解で単純であることが必須です。 数千のオブジェクトを定義することは、大量のコードの再利用を可能にするでしょうが、 それではソフトウェア開発が複雑で遅くなってしまいます。
メディアOS:Be の哲学と目標 インターネットが広く用いられ、電子メディアが流行するに連れて、 デジタル・コンテンツ・デザイン上の要求と現在主流として使われているオペレーティング・システムの 古臭くなったアーキテクチャが矛盾を引き起こしています。 メディアOSの設計が、これまでよりずっとパワフルなパーソナル・コンピュータへの扉の鍵を開き、 今日使用しているコンピュータ・システムからもっと性能を引き出すことを可能にします。 この文書の中で、デジタル・メディア・デザインの要求を展望し、新しい環境のOS、 メディアOSを定義しました。それは、 パーソナル・コンピュータのコスト・パフォーマンスと機能を新しいレベルまで高めようとすれば、 ぜひ必要となるでしょう。そのレベルは、単にあれば便利というのではなく、 デジタル・コンテンツ・デザインにとってどうしても必要であるとされるレベルです。 1996 年に、Be, Inc. 社はソフトウェア開発者に新しいOS、 Be オペレーティング・システム(BeOS)の最初のバージョンを届けました。 そして 1997 年に Be 社は、BeOS を初めて一般利用者に公開しようとしています。 Be は、既にあるOSを取ってそれをメディアOSに変換したわけではありません。 ここに述べたことですが、そのような変換をしたとしたら、 最上のものとは程遠く、恐らく不成功に終わったでしょう。 Be の技術者は、メディアOSの概念構築から出発し、それを BeOS の根底にある哲学とし、 目標として来ました。BeOS は、最初の真のメディアOSとして設計されたのです。 この設計の根底には、メディアOS、すなわち BeOS の目標は、 自分ができるだけ邪魔にならないようにして、 連結されているハードウェアのフル・パワーを直接手元のタスクに利用させることであるとする哲学があります。 このようにして、BeOS はパーソナル・コンピュータに、 特に応答型デザイン・アプリケーションにおいて、 新しいレベルのコスト・パフォーマンスを達成することを可能にします。 われわれはそれを実現したでしょうか。BeOS は、最上の、完成されたメディアOSでしょうか。 率直に言って、ノーです。メディアOSは、目標であり、哲学です。 業界がソフトウェアとハードウェア設計について知識を積むと共に、 メディアOSの定義も進化し続けるでしょう。 Be 社のわれわれは、ソフトウェアは決して「完成」ということはないと信じています。 常に新アプリケーションと、性能の新レベルが登場します。しかし、BeOS のように、 真のメディアOSは、生来、モジュール的で動的なやり方で、 オペレーティング・システムを進歩させて行く能力を備えています。 それはインターネット経由で行うことさえ可能です。その進歩は、 今日主流のOSアーキテクチャの進歩より早いでしょう。 それでデジタル・コンテンツ・デザインの要求が変わり進展して行けば、 BeOS もそれと共に変わっていくことでしょう。 もし BeOS と真のメディアOSの現実についてもっと知りたいと思われるならば、Be 社のウェブ・サイト http://www.be.com/products/ で BeOS の詳細を眺めて下さい。 | ||
Copyright ©1997 Be, Inc. Be is a registered trademark, and BeOS, BeBox, BeWare, GeekPort, the Be logo and the BeOS logo are trademarks of Be, Inc. All other trademarks mentioned are the property of their respective owners.Icons used herein are the property of Be Inc. All rights reserved. Comments about this site? Please write us at webmaster@be.com. | ||
コピーライト: ©1997 Be, Inc. Be は登録商標です。そして BeOS, BeBox, BeWare, GeekPort, Be ロゴと BeOS ロゴは Be, Inc. 社の商標です文中で述べたすべての 他の商標は、それらの所有者の所有物です。ここで使われたアイコンは Be, Inc. 社の所有物です。すべての 権利を留保します。 Be, Inc. のサイトについてコメント があれば、webmaster@be.comへ書いて下さい。 | ||
|