การแก้ไขทำในเคอร์เนล linux เพื่อให้เป็นเคอร์เนล android คืออะไร? จากคำถามนี้ฉันหมายถึงอะไรคือความแตกต่างระหว่างเคอร์เนล linux และ android kernel?
การแก้ไขทำในเคอร์เนล linux เพื่อให้เป็นเคอร์เนล android คืออะไร? จากคำถามนี้ฉันหมายถึงอะไรคือความแตกต่างระหว่างเคอร์เนล linux และ android kernel?
คำตอบ:
ความแตกต่างเปลี่ยนจากรุ่นเป็นรุ่น (ทั้ง Linux และ Android) และเคอร์เนลที่แน่นอนจะแตกต่างกันสำหรับแต่ละอุปกรณ์ เคอร์เนลสำหรับ Android เป็นเคอร์เนลลีนุกซ์หลักพร้อมไดรเวอร์เพิ่มเติมสำหรับอุปกรณ์เฉพาะและฟังก์ชั่นเพิ่มเติมอื่น ๆ เช่นการจัดการพลังงานที่เพิ่มขึ้นหรือการรองรับกราฟิกที่เร็วขึ้น
คุณสมบัติหลายอย่างในเคอร์เนล Android จะถูกเพิ่มเข้ามาใน upstream Linux หลังจากชุมชนโอเพ่นซอร์สได้ยอมรับ (และอาจแก้ไข) พวกเขา แต่คุณสมบัติอื่น ๆ ไม่เคยอัปสตรีมเพราะพวกเขาไม่ยอมรับนักพัฒนาเคอร์เนล Linux หรือเพราะพวกเขา ' ใช้ได้เฉพาะกับ Android หรือฮาร์ดแวร์ที่ระบุเท่านั้น
นอกเหนือจากความแตกต่างเฉพาะของอุปกรณ์และการล็อกปลุกที่ Dan Hulme และ Lie Ryan กล่าวถึง Android จะลบคุณสมบัติของ System V IPC (คิวข้อความส่วนของหน่วยความจำที่ใช้ร่วมกันเซมาฟอร์) ที่อาจนำไปสู่การรั่วไหลของทรัพยากร ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ) นี่อาจเป็นเพียงเรื่องของการกำหนดค่าการสร้างเคอร์เนล นอกจากนี้ Android IPC ของทางเลือกที่เรียกว่า Binder มีการสนับสนุนบางอย่างในเคอร์เนลที่ความรู้ของฉันไม่รวมอยู่ในเมล็ด Linux มาตรฐาน
ฉันคิดว่าแหล่งที่มาของ Androidนี้เป็นเอกสารที่ดีสำหรับการทำความเข้าใจ
และนี่คือรายการของการเปลี่ยนแปลงที่ทำจากเคอร์เนลฉีดสำหรับ Android เคอร์เนล 4.14
คุณสมบัติที่ใหญ่ที่สุด ได้แก่ :
ความแตกต่างจาก LTS
เมื่อเปรียบเทียบกับ LTS (4.14.0) เคอร์เนลทั่วไปของ Android มีการเปลี่ยนแปลง 355 ครั้งการแทรก 32266 ครั้งและการลบ 1546 ครั้ง (ณ เดือนกุมภาพันธ์ 2561)