Symbian は、フィーチャーフォンやスマートフォン向けに設計された、開発が終了したモバイルオペレーティングシステム(OS) およびコンピューティング プラットフォームです。[ 6 ]元々は、1997 年 6 月 5 日にSymbian Ltd.コンソーシアムによってパーソナル デジタル アシスタント向けの独自のソフトウェアOSとして開発されました。[ 7 ] Symbian OS はPsionのEPOCの後継であり、x86版も存在しますが、主にARMプロセッサで使用されていました。x86 用の Symbian の修正版は、Windows 7 とデュアル ブートされた Fujitsu LOOX F-07C で使用されました。[ 8 ] Symbian は主にNokiaで使用され、 Samsung、Motorola、Sony Ericssonの一部のモデルでも使用されていました。また、日本ではFujitsu、Sharp、Mitsubishiなどのブランドでも広く使用されていました。スマートフォン業界のパイオニアとして、2010年末まで世界平均で最も人気のあるスマートフォンOSだったが、当時スマートフォンの普及は限定的だったため、iOSとAndroidに追い抜かれた。北米では、 Windows MobileやPocket PCプラットフォームに比べて人気は著しく低かった。
Symbian OS プラットフォームは 2 つのコンポーネントで構成されています。1 つはマイクロカーネルベースのオペレーティングシステムとその関連ライブラリ、もう 1 つはOS の上にグラフィカル シェルを提供するユーザー インターフェイス(ミドルウェア) です。 [ 9 ]最も有名なユーザー インターフェイスは、Nokia が構築したS60 (旧称 Series 60) プラットフォームで、2002 年に初めてリリースされ、ほとんどの Nokia Symbian デバイスで使用されました。UIQは、S60 の従来のキーボード インターフェイスではなく、ペンベースのデバイスに焦点を当てた、主に Motorola と Sony Ericsson が使用した競合するユーザー インターフェイスでした。もう 1 つのインターフェイスは、日本の市場でキャリアNTT ドコモが使用したMOAP (S) プラットフォームでした。 [ 10 ] [ 11 ]これらの異なるインターフェイス用のアプリケーションは、それぞれ Symbian OS の上に構築されているにもかかわらず、互いに互換性がありませんでした。ノキアは2004年にSymbian Ltd.の筆頭株主となり、2008年に会社全体を買収した。[ 12 ]その後、Symbian OSのロイヤリティフリーの後継を作るために、非営利のSymbian Foundationが設立された。プラットフォームの統一を目指し、S60がFoundationのお気に入りのインターフェースとなり、UIQの開発は中止された。その結果、タッチスクリーンに特化したSymbian^1(またはS60 5th Edition)が2009年に作成された。Symbian^2(MOAPベース)は、Foundationのメンバーの1つであるNTTドコモによって日本市場向けに使用された。Symbian^3は、S60 5th Editionの後継として2010年にリリースされ、その時点で完全にフリーソフトウェアとなった。独自のオペレーティングシステムからフリーソフトウェアプロジェクトへの移行は、歴史上最大規模のものの1つと考えられている。[ 13 ] Symbian^3 は 2011 年に Anna と Belle のアップデートを受けました。[ 14 ] [ 15 ]
Symbian Foundation は 2010 年後半に解散し、Nokia が OS 開発の主導権を取り戻しました。[ 16 ] [ 17 ] 2011 年 2 月、当時日本以外で Symbian をサポートしていた唯一の企業であった Nokia は、MicrosoftのWindows Phone 7 を主要なスマートフォン プラットフォームとして使用し、Symbian は徐々に廃止していくと発表しました。[ 18 ] [ 19 ] 2 か月後、Nokia は OS を独自のライセンスに移行し、日本の OEM とのみ協力し[ 20 ]、その後 Symbian の開発をAccentureにアウトソーシングしました。[ 6 ] [ 21 ] 2016 年までのサポートが約束され、2 つの主要なアップデートも計画されていましたが、2012 年までに Nokia は開発をほぼ放棄し、Symbian 開発者のほとんどがすでに Accenture を去っていました。[ 22 ]そして 2014 年 1 月、Nokia は開発者からの新規または変更された Symbian ソフトウェアの受け入れを停止しました。[ 23 ] 2012年に発売されたNokia 808 PureViewは、公式にはNokiaの最後のSymbianスマートフォンでした。[ 24 ] NTTドコモは、日本国内で引き続きOPP(S)(Operator Pack Symbian、MOAPの後継)デバイスを発売しており、これは現在もSymbianのミドルウェアとして機能しています。[ 25 ]これを搭載した携帯電話には、 2014年に発売された富士通のF-07FやシャープのSH-07Fなどがあります。

Symbianは、 1990年代にPsionが開発したオペレーティングシステムEPOC32を起源としている。1998年6月、Psion SoftwareはSymbian Ltd.となり、Psionと携帯電話メーカーのEricsson、Motorola、Nokiaとの大規模な合弁事業となった。
その後、Symbian向けに様々なソフトウェアプラットフォームが開発され、それぞれ異なる携帯電話メーカーグループが支援しました。それらには、S60(ノキア、サムスン、LG)、UIQ(ソニー・エリクソン、モトローラ)、MOAP(S)(富士通、シャープなど日本国内のみ)などがあります。
スマートフォンOS市場には大きな競合相手がいなかったため(Palm OSとWindows Mobileは比較的小規模なプレーヤーだった)、Symbianは2006年に世界のスマートフォン市場シェアの67%を占めた。[ 26 ]
Symbianは大きな市場シェアを誇っていたにもかかわらず、様々な段階で開発が困難でした。まず(2000年代初頭から中頃)、利用可能なプログラミング言語であるOpen Programming Language(OPL)とSymbian C++、そしてOS自体の複雑さが問題でした。次に、頑固な開発者の官僚主義に加え、様々な統合開発環境(IDE)やソフトウェア開発キット(SDK)の価格が高騰し、独立系開発者や小規模開発者にとっては手の届かないものになっていました。そして、メーカー間の内部抗争や、各メーカーが独自のIDEやSDKを持っていたことなどが原因で、その後、市場の断片化が進みました。こうした状況はサードパーティ開発者の意欲を削ぎ、Symbianのネイティブアプリのエコシステムが、後にAppleのApp StoreやAndroidのGoogle Playが到達した規模にまで発展しない原因となりました。
それに対し、iPhone OS( 2010年にiOSに改名)とAndroidは、比較的シンプルな設計で、サードパーティ製アプリの作成と入手が容易で、より集中化されたインフラストラクチャを提供し、管理しやすいレベルの複雑さを持つ特定の開発者ツールとプログラミング言語を提供し、マルチタスクやグラフィックなどの機能を備え、将来の消費者のニーズを満たすことができた。
Symbian のプログラミングは困難でしたが、この問題は、「一度書けばどこでも実行できる」というスローガンの下、Java Mobile Edition アプリを作成することで回避できました。[ 27 ]しかし、デバイスの画面サイズの違いや、さまざまなデバイスでの Java ME サポートのレベルの違いによる断片化のため、常にそうだったわけではありません。
2008 年 6 月、ノキアはSymbian Ltd.の買収を発表し、 Symbian Foundationと呼ばれる新しい独立した非営利団体が設立されました。Symbian OSおよび関連するユーザー インターフェイスS60、UIQ、MOAP (S) は、所有者であるノキア、NTT ドコモ、ソニー エリクソン、Symbian Ltd.から財団に寄贈され、フリー ソフトウェア財団(FSF) およびオープンソース イニシアティブ(OSI) が承認したEclipse Public License (EPL)の下で、ロイヤリティ フリーのソフトウェアとして Symbian プラットフォームを作成することを目的としていました。このプラットフォームは、2009 年 4 月に Symbian Foundation が正式に発足した後、Symbian OS の後継として指定されました。Symbian プラットフォームは、2010 年 2 月に正式にフリー ソフトウェアとして利用可能になりました。[ 28 ]
当時、Nokia は Symbian OS コアとユーザー インターフェイスの両方の開発リソースを保有していたため、Symbian のコードへの主要な貢献者となった。それ以来、Nokia はプラットフォーム開発用の独自のコード リポジトリを維持し、定期的に開発内容をパブリック リポジトリに公開している。[ 29 ] Symbian は、2008 年 6 月に初めて発表され、2009 年 4 月に正式に発足したSymbian Foundationが主導するコミュニティによって開発されることを意図していた。その目的は、Symbian プラットフォーム全体のソース コードをEPL の下で公開することであった。これは 2010 年 2 月 4 日に達成され、Symbian Foundation はこの出来事を、史上最大のコード ベースがフリー ソフトウェアに移行されたと報告した。 [ 28 ] [ 30 ]
しかし、Symbian OS 内の重要なコンポーネントの一部はサードパーティからライセンス供与されていたため、財団は EPL の下でソースコード全体をすぐに公開することができませんでした。代わりに、ソースコードの大部分はより制限的な Symbian Foundation License (SFL) の下で公開され、完全なソースコードへのアクセスは会員企業のみに限定されていましたが、会員資格はどの組織にも開かれていました。[ 31 ]また、フリーソフトウェアのQt フレームワークは、ハイエンドデバイスで Symbian を置き換える次世代モバイルオペレーティングシステムとなるMeeGoへの主要なアップグレードパスとして、2010 年に Symbian に導入されました。Qt は本質的にフリーで、開発に非常に便利でした。Standard Cおよび C++、Python、Ruby、Adobe Flash Liteなど、他のいくつかのフレームワークもプラットフォームに展開されました。IDE と SDK が開発され、無料でリリースされ、 Symbian 用のアプリケーションソフトウェア(アプリ) 開発が盛んになりました。
2010年11月、Symbian Foundationは、世界的な経済および市場状況の変化(およびSamsung [ 32 ]やSony Ericssonなどのメンバーからの支援の欠如)により、ライセンスのみの組織に移行すると発表しました。[ 31 ] NokiaはSymbianプラットフォームの管理を引き継ぐと発表しました。Symbian Foundationは商標権者およびライセンス主体として残り、非執行取締役のみが関与することになりました。
市場シェアが2010年第3四半期の39%から2010年第4四半期には31%に低下したため[ 33 ] 、 SymbianはiOSとAndroidに急速にシェアを奪われ、最終的に2010年第4四半期にはAndroidに後れを取った[ 34 ] 。2010年9月にスティーブン・エロップがノキアのCEOに任命され、2011年2月11日、ノキアがWindows Phoneを主要なスマートフォンプラットフォームとして採用し[ 35 ]、SymbianはMeeGoとともに段階的に廃止されるというマイクロソフトとの提携を発表した[ 19 ] 。その結果、Symbianの市場シェアは低下し、Symbian向けのアプリケーション開発者は急速に撤退した。2011年6月の調査では、発表時点でSymbianを使用しているモバイル開発者の39%以上がプラットフォームを放棄する予定であることが示された[ 36 ] 。
2011年4月5日までに、ノキアはSymbianソフトウェアのいかなる部分も無償提供することを中止し、協力関係を日本の事前に選定された少数のパートナーに縮小した。 [ 5 ]元のEPLの下でリリースされたソースコードは、サードパーティのリポジトリで引き続き入手可能であり、[ 37 ] 2010年12月7日時点のプロジェクトのすべての公開コードの完全なセットも含まれる。[ 38 ]
GitHub 組織 SymbianSource は、oss.FCL.sf.os.kernelhwsrv リポジトリ(「Symbian OS Kernel」とラベル付けされている)を含む「解散した Symbian Foundation の最終リポジトリ」をホストしていると自らを説明しています。[ 39 ] [ 40 ]
2011年6月22日、ノキアはアクセンチュアとアウトソーシングプログラムに関する契約を締結した。アクセンチュアは2016年までノキアにSymbianベースのソフトウェア開発およびサポートサービスを提供する。 [ 21 ]ノキア従業員のアクセンチュアへの移管は2011年9月30日に完了し、2011年10月時点で2,800人のノキア従業員がアクセンチュア従業員となった。[ 6 ]
ノキアは2014年1月1日をもってSymbianのソフトウェア開発とメンテナンスのサポートを終了し、その後、ノキアストアで新規または変更されたSymbianアプリケーションやコンテンツの公開を拒否し、ソフトウェア認証のための「Symbian Signed」プログラムを終了した。[ 41 ]
Symbianには、当初からAVKON(旧称Series 60)と呼ばれるネイティブグラフィックツールキットが搭載されています。S60は、約15キーの拡張電話キーパッドやミニQWERTYキーボードなど、キーボードのようなインターフェースメタファーで操作できるように設計されていました。AVKONベースのソフトウェアは、Symbian^3までのSymbianバージョンとバイナリ互換性があります。
Symbian^3にはQtフレームワークが含まれており、これは新しいアプリケーション向けの推奨ユーザーインターフェースツールキットとなった。Qtは古いSymbianデバイスにもインストールできる。
Symbian^4では、タッチベースのインターフェース専用に設計された新しいGUIライブラリフレームワーク「UI Extensions for Mobile」またはUIEMO(内部プロジェクト名「Orbit」)を導入する予定でした。これはQt Widgetをベースに構築されていました。2010年1月にプレビュー版がリリースされましたが、2010年10月にNokiaはOrbit/UIEMOの開発中止を発表しました。
後にノキアは、開発者に対し、 SymbianとMeeGoの両方の開発を可能にする、視覚的に豊かなタッチスクリーンインターフェイスを作成するための新しい高レベルの宣言型UIおよびスクリプトフレームワークであるQt QuickとQMLを使用することを推奨しました。これは、既存のSymbian^3デバイスにQtアップデートとして提供される予定でした。より多くのアプリケーションが徐々にQtで再構築されたユーザーインターフェイスを特徴とするようになると、従来のS60フレームワーク(AVKON)は非推奨となり、ある時点で新しいデバイスには含まれなくなり、古いS60アプリケーションとのバイナリ互換性が失われることになります。[ 42 ] [ 43 ]

Symbian^3 以前のバージョンには、 WebKitベースのブラウザが内蔵されています。Symbian は、WebKit を利用した最初のモバイル プラットフォームでした (2005 年 6 月)。[ 44 ]一部の古い Symbian モデルでは、Opera Mobile がデフォルトのブラウザとして使用されています。
NokiaはSymbian Annaのリリースと同時に、速度とユーザーインターフェースを改善した新しいブラウザをリリースした。[ 45 ]
Symbianは強力なローカライズサポートを備えており、メーカーやサードパーティのアプリケーション開発者がSymbianベースの製品をローカライズしてグローバル展開をサポートできるようにしていました。Nokiaは、デバイスに言語パックとして言語を提供しました。言語パックとは、デバイスのバリアントが販売される地域で一般的に話されている言語のセットです。すべての言語パックに共通するのは英語、または地域に関連した英語の方言です。最新リリースであるSymbian Belleは、以下の48言語、[方言]、および(スクリプト)をサポートしています。
Symbian Belleではカザフ語が導入されましたが、韓国語はサポートされなくなりました。
2010 年以降、Symbian は標準 C++ とQtをメイン SDK として使用するように変更しました。Qt はQt CreatorまたはCarbide.c++のどちらでも使用できます。Qt は、古い Symbian/S60 3rd (Feature Pack 1、別名 S60 3.1 から) および Symbian/S60 5th Edition (別名 S60 5.01b) リリースと新しい Symbian プラットフォームをサポートしています。また、MaemoとMeeGo、Windows、Linux、および Mac OS X もサポートしています。 [ 46 ] [ 47 ]
代替アプリケーション開発は、 Python ( S60 用 Python を参照)、Adobe Flash Lite、またはJava MEを使用して行うことができます。
Symbian OSは以前、Symbian専用のC++バージョンと、CodeWarrior、そして後にCarbide.c++統合開発環境(IDE)をネイティブアプリケーション開発環境として使用していた。
Web Runtime (WRT) は、 S60 プラットフォーム上でウィジェットを作成できるポータブルなアプリケーション フレームワークです。これは、複数のブラウザ インスタンスを個別の JavaScript アプリケーションとして起動できるS60 WebKitベースのブラウザの拡張機能です。 [ 48 ] [ 49 ]
2010年現在、Symbian の SDK は標準 C++ で、Qtを使用しています。Qt Creatorまたは Carbide (Symbian 開発で以前使用されていた古い IDE)のどちらでも使用できます。 [ 46 ] [ 50 ]電話シミュレータを使用すると、Qt アプリをテストできます。シミュレータ用にコンパイルされたアプリは、エミュレートする必要はなく、開発プラットフォームのネイティブ コードにコンパイルされます。[ 51 ]アプリケーション開発には、C++ またはQML を使用できます。
Symbian OSはSymbian Softwareのコーディング標準に基づいてC++で記述されているため、Symbian C++を使用して開発することは可能ですが、これは標準的な実装ではありません。Qt SDKがリリースされる前は、これが標準的な開発環境でした。Symbian OSをベースとしたプラットフォームは複数存在し、Symbian OSデバイスをターゲットとするアプリケーション開発者向けにソフトウェア開発キット(SDK)を提供していました。主なものとしてはUIQとS60が挙げられます。個々の携帯電話製品、あるいは製品ファミリーにも、メーカーのWebサイトからダウンロードできるSDKやSDK拡張機能が用意されていることがよくありました。
SDKには、Symbian OSソフトウェアのビルドに必要なドキュメント、ヘッダーファイル、ライブラリファイル、およびWindowsベースのエミュレータ(「WINS」)が含まれています。Symbian OSバージョン8までは、SDKにはデバイス上で動作するソフトウェアのビルドに必要なGNU Compiler Collection(GCC)コンパイラ(クロスコンパイラ)のバージョンも含まれていました。
Symbian OS 9とSymbianプラットフォームは新しいアプリケーションバイナリインターフェース(ABI)を採用しており、異なるコンパイラが必要でした。GCCの最新バージョンを含む複数のコンパイラが利用可能です(下記の外部リンクを参照)。
Symbian C++ プログラミングは、記述子、アクティブオブジェクト、クリーンアップスタックなどの特殊な技術を使用する必要があるため、習得に時間がかかります。そのため、比較的単純なプログラムでも、他の環境に比べて実装が難しくなる場合があります。1990 年代の、より制約の多いモバイルハードウェアとコンパイラ向けに開発されたこれらの技術は、プログラマがアプリケーション固有の機能ではなく、低レベルの詳細に集中する必要があるため、ソースコードの複雑さを増大させている可能性があります。2010 年以降、Qt SDK を使用した標準 C++ では、これらの問題は解消されています。
Symbian C++ プログラミングは、一般的に統合開発環境(IDE) を使用して行われます。Symbian OS の初期バージョンでは、商用 IDE であるCodeWarrior for Symbian OS が好まれていました。CodeWarrior ツールは、 2006 年に Nokia が開発したEclipseベースの IDE であるCarbide.c++に置き換えられました。Carbide.c++ は、Express、Developer、Professional、OEM の 4 つのバージョンがあり、それぞれ機能レベルが異なります。無料の Express エディションでは、フル機能のソフトウェアを作成してリリースできます。UI デザインやクラッシュデバッグなどの機能は、有料の他のエディションで利用できます。Microsoft Visual Studio 2003 および 2005 もCarbide.vsプラグインを介してサポートされています。

Symbian デバイスは、 Python、Java ME、Flash Lite、Ruby、.NET、Web Runtime (WRT)ウィジェット、および標準C / C++を使用してプログラムすることもできます。[ 52 ]
Visual Basicプログラマーは、NS Basicを使用してS60第3版およびUIQ 3デバイス向けのアプリを開発できます。
かつては、 Microsoft Visual Studio のプラグインであるAppForge Crossfire を介して、Symbian 上でVisual Basic、Visual Basic .NET、およびC# の開発が可能でした。2007 年 3 月 13 日に AppForge は事業を停止し、Oracle が知的財産権を取得しましたが、旧 AppForge 製品の販売やサポートは行わないと発表しました。RedFIVELabs が開発した Symbian 用 .NET コンパクトフレームワークである Net60 は、商用製品として販売されています。Net60 では、VB.NET、C# (およびその他の) ソースコードが中間言語 (IL) にコンパイルされ、ジャストインタイムコンパイラを使用して Symbian OS 内で実行されます。(2010 年 1 月 18 日現在、RedFiveLabs はランディングページで「現段階では、Net60 の将来性を確保するために、知的財産権の販売に関するいくつかの選択肢を検討しています」と発表し、Net60 の開発を中止しました。)
Symbian OS 用のBorland IDEのバージョンもあります。Symbian の開発は、コミュニティによって開発されたツールと方法を使用してLinuxおよびmacOSでも可能であり、これは Symbian が主要ツールのソースコードを公開したことで部分的に可能になりました。Apple の Mac OS X 用Xcode IDEで Symbian OS アプリケーションを開発できるようにするプラグインが利用可能でした。[ 53 ]
Symbian OS 用のJava MEアプリケーションは、 Sun Java Wireless Toolkit (旧称 J2ME Wireless Toolkit)などの標準的な手法とツールを使用して開発されます。これらのアプリケーションは、JAR ファイル (場合によっては JAD ファイル) としてパッケージ化されます。CLDC アプリケーションと CDC アプリケーションはどちらもNetBeansを使用して作成できます。その他のツールとしては、Java を使用して Symbian 7.0 および 7.0s プログラムをビルドできるSuperWabaなどがあります。
Nokia S60端末では、 Pythonインタープリタ「Python for S60」をインストールすれば、Bluetoothサポートなどを可能にする専用APIを使ってPythonスクリプトを実行できます。また、ユーザーが端末から直接Pythonスクリプトを作成できる対話型コンソールも用意されています。
Symbian アプリケーションは開発後、顧客の携帯電話に届ける方法を見つける必要があります。SISファイルにパッケージ化されており、無線、PC 接続、Bluetooth、またはメモリ カード経由でインストールできます。別の方法として、電話メーカーと提携して、ソフトウェアを電話自体に組み込むこともできます。アプリケーションは、特定の機能 (システム機能、制限付き機能、デバイスメーカー機能) を使用するために、Symbian OS 9.x 用に Symbian 署名されている必要があります。[ 54 ] 2010年にアプリケーションは無料で署名できました。[ 55 ]
Symbian の設計は技術ドメインに細分化されており、[ 56 ]それぞれがソフトウェアパッケージのセットで構成されています。[ 57 ]各技術ドメインには独自のロードマップがあり、Symbian Foundation にはこれらの技術ドメインのロードマップを管理する技術マネージャーのチームがあります。
各パッケージは、そのパッケージが貢献する機能領域と、影響を受ける可能性のある機能領域に基づいて、必ず1つの技術ドメインに割り当てられます。Symbian Foundationは、関連するパッケージをテーマごとにグループ化することで、それらを中心とした強力なコミュニティの形成を促し、議論やレビューを活発化させることを目指しています。
Symbianシステムモデル[ 58 ]は、プラットフォームパッケージ全体にわたる各テクノロジー領域の範囲を示しています。
パッケージは、Symbian Foundation の組織メンバーから指名された個人であるパッケージ所有者によって所有および管理され、より広範な Symbian コミュニティからのコード貢献を受け入れ、パッケージに対する責任を負います。
Symbianカーネル(EKA2)は、シングルコア電話機(つまり、単一のプロセッサコアがユーザーアプリケーションとシグナリングスタックの両方を実行する電話機)を構築できるほど高速なリアルタイム応答をサポートしています。[ 59 ]リアルタイムカーネルは、堅牢性、可用性、応答性を最大限に高めるため、最小限かつ最も基本的なプリミティブと機能のみを含むマイクロカーネルアーキテクチャを採用しています。他の抽象化を実装するには拡張カーネルが必要なため、ナノカーネルと呼ばれています。スケジューラ、メモリ管理、デバイスドライバが含まれており、ネットワーク、電話、ファイルシステムのサポートサービスはOSサービスレイヤーまたはベースサービスレイヤーにあります。デバイスドライバが含まれているため、カーネルは真のマイクロカーネルではありません。
Symbianは、他のオペレーティングシステム(特にデスクトップコンピュータ向けに開発されたもの)と同様に、プリエンプティブマルチタスクとメモリ保護機能を備えています。EPOCのマルチタスクへのアプローチはVMSに触発されたもので、非同期サーバーベースのイベントに基づいています。
Symbian OSは、以下の3つのシステム設計原則に基づいて開発されました。
これらの原則を最大限に遵守するため、Symbianはマイクロカーネルを採用し、サービスに対してリクエスト・アンド・コールバック方式を採用し、ユーザーインターフェースとエンジンを分離しています。OSは低消費電力のバッテリー駆動デバイスや読み出し専用メモリ(ROM)ベースのシステム(XIPや共有ライブラリの再入可能性などの機能)向けに最適化されています。OSおよびアプリケーションソフトウェアは、モデル・ビュー・コントローラ(MVC)と呼ばれるオブジェクト指向プログラミング設計を採用しています。
後のOSバージョンでは、市場の要求に応えてこのアプローチは緩和され、特にバージョン8と9ではリアルタイムカーネルとプラットフォームセキュリティモデルが導入された。
リソースの節約が強く重視されており、これは記述子やクリーンアップスタックといったSymbian固有のプログラミング手法に象徴されています。ストレージ容量を節約するための同様の手法も存在します。さらに、Symbianのプログラミングはすべてイベントベースであり、アプリケーションがイベントを直接処理していないときは、中央処理装置(CPU)は低電力モードに切り替わります。これはアクティブオブジェクトと呼ばれるプログラミング手法によって実現されています。同様に、スレッドとプロセスに対するSymbianのアプローチも、オーバーヘッドの削減を重視しています。
SISはSoftware Installation Scriptの略で、Symbian OSの標準ソフトウェアインストールパッケージ形式です。SISファイルはアーカイブであり、インストール手順、アプリケーションファイル(通常は.APPまたは.EXEファイル)、およびその依存関係が含まれています。慣例として、.sis xは署名付きファイルを示します。[ 60 ]
SIS ファイルの作成方法にはいくつかの種類があります。基本的な方法は、ベンダー、パッケージ名、パッケージに含めるファイルなどのパッケージに関する情報を含むパッケージ定義ファイル (.pkg) を作成することです。次に、makesisおよびsignsisユーティリティを使用して .pkg ファイルを処理し、実際の SIS ファイルを作成します。[ 61 ]他の方法としては、ビルド プロセスの一部として SIS ファイルを自動的にビルドするCarbide.c++ IDEを使用するか、 PackageForgeを使用してインストール パッケージをグラフィカルに定義して作成する方法があります。[ 62 ] Windows ユーティリティSISContents は、さまざまなファイル形式を変換できます。
全体モデルは、上から下へ順に以下のレイヤーで構成されています。
ベースサービスレイヤーは、ユーザー側の操作でアクセスできる最下層であり、ファイルサーバーとユーザーライブラリ、すべてのプラグインを管理するプラグインフレームワーク、ストア、中央リポジトリ、 DBMS、暗号化サービスなどが含まれます。また、テキストウィンドウサーバーとテキストシェルも含まれており、これら2つの基本サービスだけで、上位レイヤーのサービスを必要とせずに完全に機能するポートを作成できます。
Symbianはマイクロカーネルアーキテクチャを採用しており、堅牢性、可用性、応答性を最大限に高めるために、カーネル内には必要最低限の機能のみが含まれています。スケジューラ、メモリ管理、デバイスドライバは含まれていますが、ネットワーク、電話、ファイルシステムサポートなどのその他のサービスは、OSサービスレイヤーまたはベースサービスレイヤーに配置されています。デバイスドライバが含まれているため、このカーネルは真のマイクロカーネルではありません。ナノカーネルと呼ばれるEKA2リアルタイムカーネルは、最も基本的なプリミティブのみを含み、その他の抽象化を実装するには拡張カーネルが必要です。
Symbianは、他のデバイス、特にリムーバブルメディアのファイルシステムとの互換性を重視して設計されています。EPOCの初期開発では、内部ファイルシステムとしてファイルアロケーションテーブル(FAT)が採用され、現在も使用されていますが、 POSIXスタイルのインターフェースとストリーミングモデルを提供するために、基盤となるFATの上にオブジェクト指向の永続化モデルが構築されました。内部データ形式は、すべてのファイル操作を実行するために、データを作成するのと同じAPIを使用することに依存しています。このため、データ依存性が生じ、変更やデータ移行に伴う困難が生じています。
大規模なネットワークおよび通信サブシステムがあり、ETEL(EPOCテレフォニー)、ESOCK(EPOCソケット)、C32(シリアル通信を担当)という3つの主要サーバーで構成されています。これらの各サーバーはプラグイン方式を採用しています。例えば、ESOCKでは、さまざまな「.PRT」プロトコルモジュールを使用して、多様なネットワークプロトコル方式を実装できます。このサブシステムには、Bluetooth、IrDA、USBなどの近距離通信リンクをサポートするコードも含まれています。
ユーザーインターフェース(UI)コードも大量に存在します。Symbian OSには基本クラスとサブ構造のみが含まれており、実際のユーザーインターフェースのほとんどはサードパーティによって保守されていました。しかし、現在は状況が変わりました。2009年には、主要な3つのUIであるS60、UIQ、MOAPがSymbianに提供されました。Symbianには、グラフィック、テキストレイアウト、フォントレンダリングのライブラリも含まれています。
SymbianネイティブC++アプリケーションはすべて、アプリケーションアーキテクチャで定義された3つのフレームワーククラス(アプリケーションクラス、ドキュメントクラス、アプリケーションユーザーインターフェースクラス)から構成されています。これらのクラスがアプリケーションの基本的な動作を担います。アプリケーションビュー、データモデル、データインターフェースといった残りの必要な機能は、それぞれ独立して作成され、他のクラスとはAPIを介してのみやり取りを行います。
このモデルにまだ当てはまらないものも数多くあります。例えば、SyncML、OSの大部分の上に別のAPIセットを提供するJava ME 、そしてマルチメディアなどです。これらの多くはフレームワークであり、ベンダーはサードパーティからこれらのフレームワークへのプラグインを提供することが求められています(例えば、マルチメディアコーデック用のHelix Playerなど)。この利点は、こうした機能領域のAPIが多くの電話機種で共通であり、ベンダーが大きな柔軟性を得られることです。しかし、これは電話ベンダーがSymbian OS搭載電話を作るために、膨大な統合作業を行う必要があったことを意味します。
Symbianには「TechView」と呼ばれるリファレンスユーザーインターフェースが含まれています。これはカスタマイズの出発点となる基盤であり、Symbianのテストコードやサンプルコードの多くが実行される環境です。Psion Series 5パーソナルオーガナイザーのユーザーインターフェースと非常によく似ており、製品版の携帯電話のユーザーインターフェースには使用されていません。
SymbianのブートプロセスはROMブートローダーから開始され、その後ROMブートローダーがフラッシュからSymbianをロードします。[ 63 ]
SymbianはOSバージョン7.0に進化するにつれて、それぞれ特定の企業または企業グループがサポートする、いくつかの異なるグラフィカルユーザーインターフェースに分派しました。Android OSの見た目だけのGUIとは異なり、SymbianのGUIは、より大幅な変更と統合が行われているため、「プラットフォーム」と呼ばれています。異なるSymbian GUIプラットフォーム向けに開発されたアプリケーションが互いに互換性がなかったため、事態はさらに複雑になり、OSの断片化につながりました。[ 64 ]
Symbian OS上で動作する、またはSymbian OSをベースにしたユーザーインターフェースプラットフォームには、以下のものがあります。
*富士通製†シャープ 製 ▲ Nokia BelleおよびSymbian(S60)搭載端末のソフトウェアアップデートサービスは2015年12月末をもって終了しました
2004年第1四半期には240 万台のSymbian搭載携帯電話が出荷され、これは2003年第1四半期の2倍の数だった。Symbian Ltd.は特に日本での進歩に感銘を受けた。[ 84 ]
2004年第3四半期には370万台のデバイスが出荷され、2003年第3四半期と比較して201%の成長を記録し、市場シェアは30.5%から50.2%に拡大した。しかし、米国では人気ははるかに低く、2004年第3四半期の市場シェアは6%で、Palm OS(43%)とWindows Mobile(25%)に大きく後れを取っていた。これは、北米の顧客がスマートフォンよりもワイヤレスPDAを好むことと、ノキアの米国での人気が低いことが原因とされている。 [ 85 ]
2006年11月16日、このOSを搭載したスマートフォンの出荷台数が1億台に達した。[ 86 ] 2009年7月21日現在、Symbian OSを搭載したデバイスは2億5000万台以上生産されている。[ 87 ]
2006年にはSymbianはスマートフォン市場の73%を占めていたが[ 88 ] 、 2011年第2四半期には22.1%にまで減少した[ 89 ]。
2006年5月末までに、 Symbian搭載の携帯電話が日本で1000万台販売され、これはSymbianの世界出荷台数8900万台の11%に相当する 。[ 90 ] 2007年11月までにその数は3000万台に達し、2007年6月までに日本市場で65%の市場シェアを獲得した。[ 91 ]
Symbian は、市場が劇的に成長し、新しい競合プラットフォームが市場に参入するにつれて、長年にわたって市場シェアを失ってきましたが、同じ期間に販売台数は増加しました。たとえば、世界のスマートフォン市場における Symbian のシェアは 2008 年の 52.4% から 2009 年の 47.2% に低下しましたが、Symbian デバイスの出荷台数は 4.8% 増加し、7490 万台から 7850 万台になりました。[ 92 ] 2009 年第 2 四半期から 2010 年第 2 四半期にかけて、Symbian デバイスの出荷台数は 41.5% 増加し、800 万台増えて 19,178,910 台から 27,129,340 台になりました。Android は 960 万台、RIM は 330 万台、Apple は 320 万台増加しました。[ 93 ]
2010年2月に発表されたデバイス出荷に関する以前のレポートによると、2009年に出荷されたスマートモバイルデバイスのうち、Symbianデバイスが47.2%を占め、RIMが20.8%、Appleが15.1%(iOS経由)、Microsoftが8.8%(Windows CEおよびWindows Mobile経由)、Androidが4.7%を占めていた。[ 92 ]
「スマートモバイルデバイス」の販売台数では、2010 年は Symbian デバイスが市場をリードしていました。統計によると、Symbian デバイスは販売されたスマートモバイルデバイスの 37.6% を占め、Androidは22.7%、RIMは 16%、Apple は 15.7% ( iOS経由) でした。[ 94 ]一部の推定では、2010 年第 2 四半期末までに Symbian OS を搭載して出荷されたモバイルデバイスの数は 3 億 8500 万台とされています。[ 95 ]
2009年から2010年にかけて、モトローラ、サムスン、LG、ソニーエリクソンは、グーグルのAndroid、マイクロソフトのWindows Phoneなどの代替プラットフォームを採用し、Symbianから撤退することを発表した。[ 96 ] [ 97 ] [ 98 ] [ 99 ]
IDCによると、2012年第2四半期の世界市場シェアは過去最低の4.4%にまで低下した。[ 100 ]
Symbian のユーザーのうち、ラテン文字以外の文字を使用する国 (ロシア、ウクライナなど) のユーザーは、言語切り替えの複雑な方法を長年批判してきました。[ 101 ]例えば、ユーザーがラテン文字を入力したい場合、メニューを呼び出し、言語項目をクリックし、矢印キーを使用して、たとえば英語を他の多くの言語の中から選択し、次に「OK」ボタンを押す必要があります。ラテン文字を入力した後、ユーザーはネイティブのキーボードに戻るためにこの手順を繰り返す必要があります。この方法は、入力速度を大幅に低下させます。タッチフォンや QWERTY フォンでは手順が若干異なりますが、依然として時間がかかります。他のすべてのモバイルオペレーティングシステム、および Nokia の S40 フォンでは、最初に選択した 2 つの言語を 1 回のクリックまたは 1 つのジェスチャーで切り替えることができます。
Symbian^1/Series 60 5th Editionで動作する初代Nokia N97の初期バージョンのファームウェアは、バグが多いとして酷評された(電話機に搭載されているRAMの量が少なかったことも一因)。 [ 102 ]
2010年11月、スマートフォンブログ「All About Symbian」はSymbianのデフォルトWebブラウザのパフォーマンスを批判し、代替ブラウザOpera Mobileを推奨した。[ 103 ]ノキアの上級副社長ジョー・ハーロウは、2011年第1四半期にブラウザのアップデートを約束した。[ 104 ]
Symbianにはさまざまなバージョンやエディションがあり、それが断片化につながりました。アプリやソフトウェアは、異なるバージョンのSymbianにインストールすると互換性がない場合があります。[ 105 ]
Symbian OS は、Bluetooth を介して拡散した最初の携帯電話ネットワークワームであるCabirの標的となった。このワームはオペレーティングシステムの脆弱性を悪用せず、フィッシング攻撃で使用される手法に依存していた。[ 106 ]
しかし、平均的な携帯電話ユーザーがセキュリティについて心配する必要がないという考えから、Symbian OS 9.x はUnixスタイルの機能モデル (オブジェクトごとではなくプロセスごとの権限) を採用しました。インストールされたソフトウェアは、デジタル署名がない限り、理論的には (ネットワークデータを送信してユーザーに料金を請求するなど) 有害な行為を行うことはできません。そのため、ソフトウェアの追跡が可能になります。費用を負担できる商用開発者は、Symbian Signed プログラムを通じてソフトウェアの署名を申請できます。開発者は、プログラムに自己署名することもできます。ただし、利用可能な機能には、Bluetooth、IrDA、GSM CellID、音声通話、GPS などへのアクセスは含まれていません。一部の通信事業者は、Symbian Signed 証明書以外のすべての証明書を無効にすることを選択しました。
以下に他の悪意のあるプログラムをいくつか挙げますが、いずれも実行にはユーザーの入力が必要です。
Symbian OSに対する新たなマルウェアの脅威である「クックドファームウェア」が、2010年12月に開催された国際マルウェア会議Malconで、インドのハッカーAtul Alexによって実演された。[ 107 ] [ 108 ]
Symbian OS 9.x デバイスはハッキングされ、OS 9.1 以降で導入されたプラットフォーム セキュリティが解除され、署名されていないコードを実行できるようになります。[ 109 ]これにより、システム ファイルの変更や、以前はロックされていた OS の領域へのアクセスが可能になります。署名されていないコードが実行できるため、モバイル ウイルスによる脅威が増大する可能性があるとして、このハッキングは Nokia から批判されました。 [ 110 ]
{{cite news}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)。 blog.symbian.org。 2009年4月16日{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク){{cite web}}: CS1 maint: 数値名: 著者リスト (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1 maint: 数値名: 著者リスト (リンク){{cite press release}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)。H-online.com (2010 年 12 月 8 日)。2011 年 9 月 25 日取得。{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)