スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Andoridのシステムアーキテクチャイメージおよびシステムアーキテクチャの簡易紹介

今回のもとネタはこちら
『Android系统架构图及简单的系统架构介绍』

【翻訳文】
AndroidのシステムアーキテクチャとそのOSは同様に階層的なアーキテクチャを採用している。アーキテクチャイメージから見ると、Androidは、上からアプリケーション層, アプリケーションフレームワーク層, システムライブラリ, Linuxコアの4つに分類されている。

Androidシステム構成図


1.アプリケーション
Androidはいくつかのコアアプリケーションがパッケージングされ一緒にリリースされており、子のアプリケーションパッケージにはemailクライアント、カレンダー、地図、ブラウザ、連絡先管理のプログラムなどが含まれている。すべてのアプリケーションはJavaを利用して書かれている。

2.アプリケーションフレームワーク
開発者はコアアプリケーションプログラムにAPIフレームワークを利用してアクセスすることも可能だ。このアプリケーションプログラムのフレームワークはコンポーネントの再利用を簡素化するよう設計されている ; 如何なるアプリケーションプログラムもその機能群を公開し且つアプリケーションプログラムはその公開された機能群を利用できるようになっている(しかしフレームワークのセキュリティ制限を遵守する)。同様に、このアプリケーションプログラムの再利用性はユーザーにプログラムコンポーネントを便利に入れ替えられるようにもする。

各アプリケーションの後ろに潜んでいるものは一連のサービスとシステムで、その中には次のようなものが含まれる ;

*豊富で拡張可能なビューワー(Views)は、アプリケーションプログラムから構築でき、それにはリスト(lists)、グリッド(grids)、テキストボックス(text boxes)、ボタン(buttons)が含まれており、さらにはWebブラウザに埋め込むことも可能だ。

*コンテンツプロバイダー(Content Providers)はアプリケーションが他のアプリケーションのデータベースにアクセスできるようにするのと(例えば連絡先のデータベース)、或いは自身のデータを共有できるようにする。

*リソース管理機能(Resource Manager)は非コードのリソース、例えばローカルの文字列、図形、レイアウトファイル(layout files)などへのアクセスを提供する。

*通知管理機能(Notification Manager)はアプリケーションがステータスバーにカスタムメッセージを表示させられるようにする。

*イベント管理機能(Active Manager)はアプリケーションのライフサイクルを管理しロールバックナビゲーション機能を提供する。

更なる詳細とどのようにスクラッチからアプリケーションを書くのかは、如何にAndroidアプリケーションを作成するかを参照いただきたい。

3.システムライブラリ
1)ライブラリ
AndroidにはいくつかのC/C++ライブラリが含まれており、これらのライブラリはAndroidシステムの中で異なるコンテンツに利用されている。それらはAndroidアプリケーションフレームワークを通じて開発者にサービスを提供する。以下がコアなライブラリである :

*システムCライブラリ - BSDから継承したCシステム関数ライブラリ(libc)は、embedded linuxベースの専用にカスタマイズ設置されたものだ。

*メディアライブラリ - PacketVideo OpenCOREベース ; このライブラリは多くの乗用されるオーディオ、ビデオの再生, 録音形式をサポートしており、同時に静止画ファイルもサポートしている。エンコード形式にはMPEG4, H.264, MP3, AAC, AMR, JPG, PNGなどが含まれる。

*Surface Manager - ディスプレイサブシステムを管理し、かつ複数のアプリケーションに2Dと3Dの表示をシームレスに統合する。

*LibWebCore - 最新のWebブラウザのエンジンを用いて、Androidのブラウザと組み込み可能なWeb表示をサポートする。

*SGL - 基本的な2Dグラフィックエンジン

*3D libraries - OpenGL ES 1.0 APIsをベースに実現 ; このライブラリはハードウェア3Dアクセラレータ(利用可能な場合)或いは高度に最適化された3Dソフトウェアアクセラレータを利用することが可能である。

*FreeType - ビットマップ(bitmap)とベクトル(vector)のフォント表示。

*SQLite - すべてのアプリケーションに利用できる、強力で小型なリレーショナルデータベースエンジン。

2)Androidシステムライブラリ
Androidにはあるコアライブラリが含まれており、このコアライブラリはJAVAプログラミング言語のコアライブラリが持っている数多くの機能を提供している。

Androidの各アプリケーションはすべて独自のプロセスの中で実行され、すべて独立したDalvik仮想インスタンスを持っている。Dalvikは同時且つ効率的に複数のプログラムを実行するための設備として設計されている。Davlik仮想マシンが実行する(.dex)Davlik実行ファイルは、小さいメモリー使用量で使えるよう最適化されている。同時にこの仮想マシンはレジスタをベースにしたもので、すべてのカテゴリがJavaコンパイラ経由でコンパイルされ、その後SDKの中にある”dx”ツールは.dexフォーマットに変更され仮想マシンが実行される。

Davlik仮想マシンはいくつかのLinuxカーネルの機能に依存しているが、それは例えばスレッド構造と基礎的なメモリー管理構造である。

4.Linuxカーネル
AndroidのコアシステムサービスはLinuxの2.6カーネルに依存しているが、それは例えばセキュリティ、メモリー管理、プロセス管理、ネットワークプロトコルスタックとドライバーモジュールなどである。Linuxカーネルもハードウェアとソフトウェア間の抽象化層のブリッジとして存在する。


【書評】
Androidのシステム構造およびその説明である。なかなか体系立っているものが少ないので、有用なのではないだろうか。Android携帯電話のリリースが各社からも発表があるし(関連記事1関連記事2)、英国の調査会社によると2012年にはAndroidを搭載するスマートフォンがiPhoneの販売台数を抜く可能性があると発表するなど(関連記事)、ニーズが確実に高まってきている。興味がある方は、こちらに『Andoroid入門』と題し、実践的な技術資料が書かれているので、参照されてはいかがだろうか。

テーマ : 中国ビジネス
ジャンル : ビジネス

コメント

非公開コメント

記事配信サイト
当ブログの記事は下記サイトにも配信されています。

あなたの中国力をUP


アジアへの扉、サーチナ。"
Twitter
メールフォーム

名前:
メール:
件名:
本文:

Translate these articles.
最新記事
Google Translate
月別アーカイブ
カテゴリ
プロフィール

熊猫

Author:熊猫
日本のIT業界に16年の経験、Linuxに代表されるオープンソースの業界には10年の経験を有する。特に日本のオープンソース業界では、その黎明期である2000年前後から、マーケティング,アライアンス職として、ビジネス企画・推進からパートナーとの協業モデルの構築などに従事。
2008年3月からは中国に渡り、オープンソース関連企業上海支社設立に従事。2009年7月からは独立し、中国安徽省馬鞍山市において、オープンソース専門企業の安徽開源軟件有限公司を設立。
現在も中国でLinux/OSS業界における日中の架け橋となるべく公私に渡り奮闘中。

Twitter => http://twitter.com/osschina

リンク
RSSリンクの表示
人気ランキング
皆さんのクリックがモチベーションです(^^;)
検索フォーム
FC2カウンター
最新コメント
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。