0

Android のカーネルに関するケーススタディを書きたいと思っていました。これは、高度なオペレーティング システム クラスのカリキュラムの一部です。私が望んでいた主な焦点は、プライオリティ キューがどのように RTOS に実装されているかを実際に実装して、クラスで学習した理論に関連付けることでした。しかし、ただ素晴らしいアイデアを思いつくだけでなく、情報を見つけることは本当に大きな仕事だということを知りました。:(だから今のところ、私は自分自身を1.非常に具体的なカーネル(プロセスまたはメモリのいずれか)または2.AndroidとLinux OSの違いのいずれかに制限したいと思います。しかし、与えられたデータは私の教科書でも見ることができます. 私が欲しかったのは実際的な違いでした.

方向性についての指針が得られることを願っています。

4

2 に答える 2

2

Android Linux カーネルとメインラインの Linux カーネルは近いものです。いくつかの重要な違いがあります。

  1. Android には主要なwakelockパッチが適用されています。これらはメインラインではありません。Google は、この問題について何年にもわたって行ったり来たりしたことを明らかにする必要があります。
  2. Android にはbinderセキュリティ モデルがありますが、メインラインにはありません。
  3. Android には、SurfaceFlinger をサポートするまったく新しいフレームバッファがあります。
  4. 電話機のハードウェア サポート。メインライン カーネルは、すべての ARM プロセッサおよびデバイスを直接サポートしているわけではありません。Android カーネル ツリーは、メインライン + ARM(OMAP) + ベンダー パッチの融合であると考えてください。
  5. 特定の埋め込みチューニング。

ただし、コードの 95% 以上は Mainline Linux と Android Linux で同じです。Android は RTOS ではありません (RT 部分は無線モジュールの別のプロセッサで処理されます)。

于 2010-12-01T06:17:31.363 に答える
0

学習を開始する良い方法は、Android git リポジトリです: https://android.googlesource.com

ここにいくつかのポリシーがありますが、最終的には自分用のリンクがさらに見つかります: http://www.kroah.com/log/linux/android-kernel-problems.html

于 2010-12-01T06:17:04.953 に答える