Apa perbedaan antara Kernel Linux dan Kernel Android?

Jawaban:

7

Perbedaannya berubah dari versi ke versi (Linux dan Android), dan kernel yang tepat berbeda untuk setiap perangkat. Kernel untuk Android adalah kernel Linux mainstream, dengan driver tambahan untuk perangkat tertentu, dan fungsi tambahan lainnya, seperti manajemen daya yang ditingkatkan atau dukungan grafis yang lebih cepat.

Banyak fitur di kernel Android yang kemudian ditambahkan ke Linux hulu setelah komunitas open-source menerimanya (dan mungkin dimodifikasi), tetapi yang lain tidak pernah di-upstream, baik karena tidak dapat diterima oleh pengembang kernel Linux, atau karena mereka ' hanya berlaku untuk Android atau perangkat keras tertentu.

Dan Hulme
sumber
3
Sebagian besar driver untuk perangkat keras spesifik Android diterima ke dalam kernel mainline; tetapi beberapa fitur, seperti kunci penguncian yang menyebabkan kontroversi besar beberapa waktu lalu, tetap bermasalah karena pengembang utama dan kernel android tidak setuju apakah itu ide yang bagus.
Lie Ryan
"Kernel untuk Android adalah kernel Linux mainstream, dengan driver tambahan untuk perangkat tertentu, dan fungsi tambahan lainnya, seperti manajemen daya yang ditingkatkan atau dukungan grafis yang lebih cepat", jadi apakah itu terutama driver? Tidak ada kode sumber yang diubah?
Guerlando OCs
@GuerlandoOCs Saya tidak yakin apa yang Anda pikirkan driver jika bukan perubahan kode sumber, tetapi terlepas dari, "fungsi tambahan lainnya" yang saya sebutkan cukup besar hari ini. Ada banyak perubahan kode sumber.
Dan Hulme
@DanHulme sumber perubahan patch atau hanya kode yang diubah dengan tangan? Bagaimana saya bisa melihat hal-hal yang berubah? Saya pernah membaca bahwa Anda dapat menambal kernel linux agar kompatibel dengan android, tetapi di mana tambalan itu sehingga saya dapat membacanya?
Guerlando OC
5

Di samping perbedaan spesifik perangkat dan kunci penguncian yang disebutkan Dan Hulme dan Lie Ryan, Android menghapus fitur System V IPC (antrian pesan, segmen memori bersama, semaphores) yang dapat menyebabkan kebocoran sumber daya ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ). Ini mungkin hanya masalah mengkonfigurasi kernel build. Juga Android IPC pilihan, disebut Binder, memiliki beberapa dukungan di kernel yang setahu saya tidak termasuk dalam kernel Linux standar.

FooF
sumber
4

Saya pikir Sumber Android ini adalah dokumentasi yang bagus untuk memahaminya.

Dan berikut adalah daftar perubahan yang dilakukan dari kernel mainline untuk kernel Android 4.14.

Fitur terbesar termasuk:

  • Penjadwalan Sadar Energi 19,8% (kernel / sched)
  • 13,8% Jaringan (net / netfilter)
  • 13,5% Sdcardfs (fs / sdcardfs)
  • 9,4% USB (driver / usb)
  • 7,2% SoC (arch / arm64, arch / x86)
  • 6,2% f2fs (fs / f2fs - backports dari hulu)
  • 6.1% Input (driver / input / misc)
  • 5,4% FIQ Debugger (driver / pementasan / android / fiq_debugger)
  • 3,6% Goldfish Emulator (driver / platform / goldfish)
  • 3,4% Verity (driver / md)
  • 11,6% Lainnya

Perbedaan dari LTS

Jika dibandingkan dengan LTS (4.14.0), kernel umum Android memiliki 355 perubahan, 32266 penyisipan, dan penghapusan 1546 (per Februari 2018).

masukkan deskripsi gambar di sini

chankruze
sumber
Saya tidak mengerti mengapa orang downvote ??? Saya menulis jawabannya, dalam 5 detik saya downvote !! Bagus
chankruze
+1 untuk jawaban Anda. Drive-by downvoters payah.
iBug
+1. Milikmu adalah yang terbaik di antara yang lainnya.
Irfan Latif