クライアントサーバという究極の設計思想:Symbian OS開発の勘所(8)(1/4 ページ)
Symbian OSの第3の特徴はクライアントサーバ・フレームワークだ。「セマフォ&共有メモリ」ではなぜダメなのか?
第2回で取り上げたように、Symbian OSは「マイクロカーネルOS」と呼ばれる形式のOSです。従ってファイルシステム、UI、ネットワーク、メッセージング、テレフォニー、挙げていくときりがないのですが、これら機能の提供主体はカーネルとは分離した形で提供、実行されています。この機能の提供主体をサーバと呼び、利用者側のプログラム(クライアント)はサーバと通信を行い、要求を依頼することで、処理を進めていきます。Symbian OSではこの形態を「クライアントサーバ」と呼びます。
と、大上段に構えると「何しろファイルを1つ開くだけでサーバとの通信をやらなければならぬとは、Symbian OSとはなんと難しいのであろうか。剣呑、剣呑」のような誤解を持たれかねません。しかし事実はその反対です。Symbian OSではクライアントサーバという機構を基盤として、利用者に対し便利な機能を、性能を保ったまま提供することを可能にしています。
今回はSymbian OSが採用したクライアントサーバというデザインが、
- 利用者の観点からはごく当たり前に見え
- 提供者の観点から見ると柔軟性がある
ことを、どのように実現しているかを解説していきます。
サーバはどこだ
まずシステム全体の中で、どこにサーバがいるのかを明らかにしましょう。
マイクロカーネルの定義は以下のようなものでした。
OSが提供する各種機能の中で、必要最小限のものをカーネルとして抱え、そのほかはユーザーレベルに配置する。これにより全体の設計が簡素化でき、結果的に性能も向上するという考え方
ですからファイルサーバも、ウィンドウサーバ(キー入力やポインタをプログラムに分配し画面への描画を行う、GUIの基礎となるサーバです)もカーネル側には含まれていません(注1)。
Copyright © ITmedia, Inc. All Rights Reserved.