LinuxカーネルとAndroidカーネルの違いは何ですか?


18

LinuxカーネルをAndroidカーネルにするために行った変更は何ですか?この質問では、LinuxカーネルとAndroidカーネルの違いは何ですか?


回答:


7

違いはバージョンによって異なり(LinuxとAndroidの両方)、正確なカーネルはデバイスごとに異なります。Androidのカーネルは、特定のデバイス用の追加ドライバー、および強化された電源管理や高速グラフィックスサポートなどのその他の追加機能を備えたメインストリームLinuxカーネルです。

Androidカーネルの多くの機能は、オープンソースコミュニティが受け入れた(そしておそらく修正した)後、アップストリームLinuxに追加されますが、Linuxカーネル開発者に受け入れられないか、またはAndroidまたは特定のハードウェアにのみ適用可能です。


3
Android固有のハードウェアのほとんどのドライバーは、メインラインカーネルに受け入れられました。しかし、メインラインとAndroidカーネルの開発者がそれが良いアイデアであるかどうか意見が合わないため、しばらく前に大きな論争を引き起こしたウェイクロックなどの一部の機能には問題が残っています。
ライライアン

「Androidのカーネルは主流のLinuxカーネルであり、特定のデバイス用の追加ドライバーと、強化された電源管理や高速グラフィックスサポートなどの他の追加機能を備えています」ので、主にドライバーですか?ソースコードは変更されていませんか?
ゲランドOC

@GuerlandoOCsソースコードが変更されていない場合、ドライバーがどう思うかはわかりませんが、とにかく、私が言及した「その他の追加機能」は最近非常に大きいです。多くのソースコードの変更があります。
ダンヒューム

@DanHulmeはソース変更パッチですか、それともコードは手で変更されただけですか?変化したものを見るにはどうすればよいですか?Linuxカーネルにパッチを当ててAndroidとの互換性を保つことができると読んだことがありますが、それらのパッチはどこにあるので読むことができますか?
ゲランドOC

5

Dan HulmeとLie Ryanが述べているデバイス固有の違いとウェイクロックに加えて、Androidはリソースリーク(http://www.kandroid.org/ndkにつながる可能性があるSystem V IPC機能(メッセージキュー、共有メモリセグメント、セマフォ)を削除しました。 /docs/system/libc/SYSV-IPC.html)。これはおそらく、カーネルビルドを構成するだけの問題です。また、バインダーと呼ばれる選択したAndroid IPCは、私の知る限りでは標準のLinuxカーネルに含まれていないカーネルでサポートされています。


4

このAndroid Sourceは、それを理解するための素晴らしいドキュメントだと思います。

そして、ここでアンドロイドカーネル4.14のためにメインラインカーネルから行われた変更の一覧です。

最大の機能は次のとおりです。

  • 19.8%Energy Aware Scheduling(カーネル/スケジュール)
  • 13.8%ネットワーキング(net / netfilter)
  • 13.5%Sdcardfs(fs / sdcardfs)
  • 9.4%USB(ドライバー/ USB)
  • 7.2%SoC(arch / arm64、arch / x86)
  • 6.2%f2fs(fs / f2fs-アップストリームからのバックポート)
  • 6.1%の入力(drivers / input / misc)
  • 5.4%FIQデバッガー(drivers / staging / android / fiq_debugger)
  • 3.6%の金魚エミュレーター(drivers / platform / goldfish)
  • 3.4%Verity(drivers / md)
  • 11.6%その他

LTSとの違い

LTS(4.14.0)と比較すると、Android共通カーネルには、355個の変更、32266個の挿入、および1546個の削除があります(2018年2月現在)。

ここに画像の説明を入力してください


人々がなぜ投票するのか分からない??? 私は答えを書きました、5秒以内に私は下票を得ました!! ニース
チャンクルゼ

あなたの答えに+1。ドライブバイダウンボーターは最悪です。
iBug

+1。とりわけあなたのものが最高です。
イルファンラティフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.