סקירת ליבה

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

ליבת האנדרואיד מבוססת על ליבת Linux Long Term Supported (LTS) במעלה הזרם. ב-Google, ליבות LTS משולבות עם תיקונים ספציפיים לאנדרואיד כדי ליצור מה שידוע כ- Android Common Kernels (ACKs) .

ACKs חדשים יותר (גירסה 5.4 ומעלה) ידועים גם בשם גרעיני GKI מכיוון שהם תומכים בהפרדה בין קוד ליבה כללית כללית לחומרה וממודולי GKI אגנוסטיים לחומרה. ליבת GKI מקיימת אינטראקציה עם מודולי ספק ספציפיים לחומרה המכילים מערכת על שבב (SoC) וקוד ספציפי ללוח. האינטראקציה בין ליבת ה-GKI למודול הספק מתאפשרת על ידי ממשק מודולי הקרנל (KMI) המורכב מרשימות סמלים המזהות את הפונקציות והנתונים הגלובליים הנדרשים על ידי מודולי הספק. איור 1 מציג את ארכיטקטורת ליבת GKI ומודול הספק: ארכיטקטורת ליבת GKI ומודול ספקים

איור 1. ארכיטקטורת ליבת GKI ומודול הספק

מילון מונחים של גרעין

סעיף זה מכיל מונחים המשמשים בכל תיעוד הליבה.

סוגי גרעין

Android Common Kernel (ACK)
ליבה שנמצאת במורד הזרם של ליבת LTS וכוללת תיקונים המעניינים את קהילת אנדרואיד שלא מוזגו לתוך ליבות Linux mainline או Long Term Supported (LTS). ACKs חדשים יותר (גירסה 5.4 ומעלה) ידועים גם כגרעיני GKI מכיוון שהם תומכים בהפרדה בין קוד גרעין כללי לחומרה אגנוסטית לבין מודולי GKI אגנוסטיים לחומרה.
ליבת פרויקט קוד פתוח של אנדרואיד (AOSP).
עיין ב- Android Common Kernel.
ליבת תכונה
ליבה שעבורו מובטחות הטמעת תכונות שחרור הפלטפורמה. לדוגמה, באנדרואיד 12, שני גרעיני התכונות היו android12-5.4 ו-android12-5.10. לא ניתן להעביר תכונות אנדרואיד 12 לאחור לגרעיני 4.19; מערך התכונות יהיה דומה למכשיר שהושק עם 4.19 ב-R ושודרג ל-S).
גרעין ליבה גנרי
החלק של ליבת GKI המשותף בכל המכשירים.
ליבת תמונת ליבה כללית (GKI).
כל ליבת ACK חדשה יותר (5.4 ומעלה) (כרגע aarch64 בלבד). הליבה הזו כוללת שני חלקים: ליבת ה-GKI עם קוד משותף בכל המכשירים ומודולי ליבת GKI שפותחו על ידי גוגל, שניתן לטעון באופן דינמי במכשירים היכן שניתן.
ליבת ממשק מודול ליבה (KMI).
ראה גרעין GKI .
הפעל את Kernel
קרנל שתקף להפעלת מכשיר עבור מהדורת פלטפורמת אנדרואיד נתונה. לדוגמה, באנדרואיד 12, גרעיני ההשקה התקפים היו 4.19, 5.4 ו-5.10.
קרנל נתמך לטווח ארוך (LTS).
ליבת לינוקס הנתמכת למשך שנתיים עד 6 שנים. גרעיני LTS משוחררים פעם בשנה והם הבסיס לכל אחד מה-ACKs של Google.

סוגי סניפים

סניף ליבת ACK KMI
הענף שעבורו בנויים גרעיני GKI . לדוגמה, android12-5.10 ו-android13-5.15.
אנדרואיד-קו הראשי
ענף הפיתוח העיקרי לתכונות אנדרואיד. כאשר מוכרז קרנל LTS חדש במעלה הזרם, ליבת ה-GKI החדשה המקבילה מסועפת מ-android-mainline.
קו מרכזי של לינוקס
ענף הפיתוח העיקרי של ליבות לינוקס במעלה הזרם, כולל ליבות LTS.

תנאים אחרים

תמונת אתחול מאושרת
הקרנל נמסר בצורה בינארית ( boot.img ) והבזק על המכשיר. תמונה זו מאושרת במובן זה שהיא מכילה אישורים משובצים כך שגוגל יכולה לאמת שהמכשיר נשלח עם ליבה מאושרת על ידי גוגל.
מודול ליבה הניתן לטעינה דינמית (DLKM)
מודול שניתן לטעון באופן דינמי במהלך אתחול המכשיר בהתאם לצרכי המכשיר. מודולי GKI ומודול ספקים הם שני סוגי DLKMs. DLKMs משוחררים בצורת .ko ויכולים להיות מנהלי התקנים או לספק פונקציונליות קרנל אחרת.
פרויקט GKI
פרויקט של Google העוסק בפיצול ליבה על ידי הפרדת פונקציונליות ליבה משותפת מתמיכה ב-SoC ולוח ספציפיים לספקים למודולים הניתנים לטעינה.
תמונת ליבה כללית (GKI)
תמונת אתחול מאושרת על ידי גוגל המכילה ליבת GKI הבנויה מעץ מקור ACK ומתאימה להבהב למחיצת האתחול של מכשיר אנדרואיד.
KMI
ממשק בין ליבת ה-GKI למודולי הספק המאפשר לעדכן מודולי ספקים ללא תלות בליבת ה-GKI. ממשק זה מורכב מפונקציות ליבה ונתונים גלובליים שזוהו כתלות בספק/OEM באמצעות רשימות סמלים לכל שותף.
מודול ליבת GKI
מודולים הניתנים לטעינה דינמית שנבנו על ידי Google שניתן לטעון באופן דינמי במכשירים היכן שניתן. מודולים אלו בנויים עם ליבת GKI ומסופקים לצד GKI בתור תמונת system_dlkm . מודולי ליבת GKI נחתמים על ידי Google באמצעות צמד המפתחות של זמן בניית ליבה והם תואמים רק לליבת הליבה הגנרית שאיתה הם בנויים. מודולי ליבת GKI הם סוג של DLKM
.
מודול ספק
מודול ספציפי לחומרה שפותח על ידי שותף ומכיל SoC ופונקציונליות ספציפית למכשיר. מודול ספק הוא סוג של מודול ליבה הניתן לטעינה דינמית.

מה הלאה?