2016-12-29 11 views
1

AndroidおよびLinuxディストリビューションの相違点や類似点について読んだことがあります。私は、私にははっきりしていない一つのことであるLinuxカーネルの横には、これらの2つのAndroidおよびLinuxのデスクトップ環境/アーキテクチャ

systems -> Keyword Java 

間の巨大な違いがあることがあります承知しています。 Androidのグラフィカル環境は、これだけのJavaアプリケーションですか?だから、私はsuchのグラフィックを正しく解釈し、Dalvikはカーネルの上で実行する唯一のアプリケーションであり、他のものは仮想ですが、Linuxシステムではデスクトップ環境はネイティブです(JREはネイティブアプリケーションの1つです)。

答えて

1

Androidが起動すると、ブートローダは他の一般的なLinuxディストリビューションのようにカーネルを起動します(Binderなどの余分なデバイスを使用します)。カーネルは初期化を行い、initを開始します。 initはユーザー空間を別の方法で設定します。 initはいくつかのハウスキーピングデーモン(ネイティブ、非java)を開始します。後の段階では、デスクトップ環境を実行する代わりに、zygoteという汎用Javaプロセス(jreを使用)を開始します。これはforkして、他のすべての新しいアンドロイドプロセスを開始します。最初の2つはシステムサービスとランチャー(ホームスクリーン)です。ランチャーは、Linuxのデスクトップ環境に似た他のアプリを起動するためのグラフィック環境として機能します。

関連する問題