בדף הזה מתוארת קבוצת משנה של ממשקי הליבה של Linux שבהם מערכת Android כדי לפעול באופן תקין. הנוכחות והנכונות של הממשקים האלה נבדקו כחלק מחבילת הבדיקות של הספק (VTS). קבוצת המשנה הזו תגדל עם הזמן ותכיל חלק גדול יותר ממשקי הליבה של Android.
קריאות מערכת
כל קריאות המערכת צפויות לכלול את אותן חתימות וסמנטיקה כמו בליבה (kernel) של Linux ב-upstream של אותה גרסה.
prctl
בנוסף לפעולות prctl
ב-upstream נתמכות
גרסאות ליבה (kernel) – מערכת Android מסתמכת על פעולות prctl
נוספות,
שבה אפשר למצוא אותו בליבה (kernel) המשותפת של android.
PR_SET_TIMERSLACK_PID PR_SET_VMA
מערכות קבצים
ממשקים לייצוא ליבה (kernel) של Linux דרך מספר מערכות קבצים. מערכת Android מחילה בממשקים האלה כדי להעביר את אותו מידע, באותו פורמט לספק את אותה סמנטיקה כמו בליבה (kernel) של Linux ב-upstream. לממשקים לא קיימות ב-upstream, ההתנהגות המתאימה נקבעת על ידי הסתעפות של הליבה (kernel) המשותפת של Android.
Procf
ממשק | תיאור |
---|---|
/proc/asound/ | קובץ לקריאה בלבד שמציג את הרשימה של מנהלי התקנים של ALSA שמוגדרים כרגע. |
/proc/cmdline | קובץ לקריאה בלבד שמכיל ארגומנטים בשורת הפקודה שמועברים לליבה. |
/proc/config.gz | קובץ לקריאה בלבד שמכיל תצורת build של ליבה (kernel). |
/proc/cpuinfo | קובץ לקריאה בלבד שמכיל פרטי מעבד (CPU) ספציפיים לארכיטקטורה. |
/proc/diskstats | קובץ לקריאה בלבד שבו מוצגים נתונים סטטיסטיים של קלט/פלט (I/O) של מכשירי חסימה. |
/proc/filesystems | מערכות קבצים עם רשימות קבצים לקריאה בלבד שנתמכות כרגע על ידי של הליבה. |
/proc/kmsg | קובץ לקריאה בלבד שמציג הודעות ליבה בזמן אמת. |
/proc/loadavg | קובץ לקריאה בלבד שמציג את ממוצע העומס על המעבד (CPU) וה-IO לאורך זמן. |
/proc/meminfo | קובץ לקריאה בלבד שבו מוצגים פרטים של מערכת המשנה של הזיכרון. |
/proc/misc | קובץ לקריאה בלבד שבו מפורטים מנהלי התקנים שונים שרשומים מכשיר עיקרי שונה. |
/proc/modules | קובץ לקריאה בלבד שמכיל מידע על מודולים של ליבה (kernel) שנטענו. |
/proc/mounts | קישור סימבולי אל /proc/self/mounts , שהוא קובץ לקריאה בלבד
מפורט מידע על מערכות הקבצים שנטענו. |
/proc/net | ספרייה שמכילה מגוון פרמטרים של ערימת רשת. |
/proc/net/xt_qtaguid/ | קובץ קריאה-כתיבה שמספק מידע על שקעים מתויגים. |
/proc/pagetypeinfo | קובץ לקריאה בלבד שמכיל מידע על הקצאת דפים. |
/proc/stat | קובץ לקריאה בלבד שמכיל נתונים סטטיסטיים שונים של הליבה ושל המערכת. |
/proc/swaps | קובץ לקריאה בלבד שמציג ניצול של שטח החלפה. הקובץ הזה אופציונלי; התוכן וההרשאות שלו מאומתים ב-VTS רק אם קיים. |
/proc/sys/abi/swp | קובץ קריאה-כתיבה שקובע את ההתנהגות של ARM המיושן SWP של ההוראה. |
/proc/sys/fs/pipe-max-size | קובץ קריאה-כתיבה שמדווח על הגודל המקסימלי בבייטים מאגר צינורות עיבוד נתונים נפרד. |
/proc/sys/fs/protected_hardlinks | קובץ קריאה-כתיבה ששולט בהתנהגות של יצירת קישורים קשיחים. |
/proc/sys/fs/protected_symlinks | קובץ קריאה-כתיבה ששולט בהתנהגות של יצירת סמל קישורים. |
/proc/sys/fs/suid_dumpable | קובץ קריאה-כתיבה ששולט במצב זיכרון הליבה עבור setuid או אחר קבצים בינאריים מוגנים/נגועים. |
/proc/sys/kernel/core_pattern | קובץ קריאה-כתיבה שמציין את תבנית שם הקובץ של תמונת המצב המרכזית. |
/proc/sys/kernel/core_pipe_limit | קובץ קריאה-כתיבה שמגדיר כמה תהליכי קריסות בו-זמנית עשויים להיות מועבר לאפליקציות של משתמשים במקביל. |
/proc/sys/kernel/dmesg_restrict | קובץ קריאה-כתיבה שקובע אם משתמשים לא מורשים יכולים לגשת dmesg. |
/proc/sys/kernel/domainname | קובץ קריאה-כתיבה שמכיל את שם הדומיין YP/NIS של המערכת. |
/proc/sys/kernel/hostname | קובץ קריאה-כתיבה שקובע את שם המארח של המערכת. |
/proc/sys/kernel/hung_task_timeout_secs | קובץ קריאה-כתיבה ששולט על הזמן הקצוב לתפוגה שמשמש לקביעה מתי משימה אינו מגיב ולכן צריך להתייחס אליו כאל 'תקוע'. הקובץ הזה הוא אופציונלי. התוכן וההרשאות שלו מאומתים ב-VTS רק אם שהקובץ נמצא. |
/proc/sys/kernel/kptr_restrict | קובץ קריאה-כתיבה שקובע אם מצביעי ליבה (kernel) מודפסים
proc קבצים וממשקים אחרים. |
/proc/sys/kernel/modules_disabled | קובץ קריאה-כתיבה שקובע אם אפשר לטעון מודולים של ליבה (kernel). |
/proc/sys/kernel/panic_on_oops | קובץ קריאה-כתיבה ששולט בהתנהגות הליבה במצב אופס. |
/proc/sys/kernel/perf_event_max_sample_rate | קובץ קריאה-כתיבה ששולט בקצב הדגימה המרבי של ביצועים אירועים. |
/proc/sys/kernel/perf_event_paranoid | קובץ קריאה-כתיבה ששולט בשימוש במערכת אירועי הביצועים על ידי משתמשים לא מורשים. |
/proc/sys/kernel/pid_max | קובץ קריאה-כתיבה שמכיל את ערך עטיפת הקצאת PID. |
/proc/sys/kernel/random/boot_id | קובץ לקריאה בלבד שמכיל מזהה אקראי חדש בכל הפעלה. |
/proc/sys/kernel/randomize_va_space | קובץ קריאה-כתיבה שקובע את מדיניות הרנדומיזציה של פריסת הכתובות יעילות במערכת. |
/proc/sys/kernel/sched_child_runs_first | קובץ קריאה-כתיבה שקובע אם משימות חדשות שחוברו מקבלות עדיפות לתזמן את המשימות של ההורים. |
/proc/sys/kernel/sched_latency_ns | קובץ קריאה-כתיבה שמכיל את זמן האחזור המקסימלי, בננו-שניות, משימה עשויה לחול לפני המועד שנקבע. |
/proc/sys/kernel/sched_rt_period_us | קובץ קריאה-כתיבה שמכיל את פרק הזמן ששימש את ה-RT ברמת המערכת מגבלת ביצוע במיליוניות השנייה. |
/proc/sys/kernel/sched_rt_runtime_us | קובץ קריאה-כתיבה שמכיל את משך הזמן, ביחס ל sched_rt_period_us, שהמערכת יכולה לבצע משימות RT. |
/proc/sys/kernel/sched_tunable_scaling | קובץ קריאה-כתיבה שקובע אם הערך של sched_latency_ns צריך להיות יותאם באופן אוטומטי על ידי מתזמן הבקשות בהתאם למספר המעבדים. |
/proc/sys/kernel/sched_wakeup_granularity_ns | קובץ קריאה-כתיבה שמכיל את כמות הפעמים שמשימת זמן הריצה הווירטואלית א' חייבת ממשימה ב' בננו-שניות נדרשת כדי שמשימה ב' תתחיל להקפיץ אותה. |
/proc/sys/kernel/sysrq | קובץ קריאה-כתיבה ששולט בפונקציות המורשות להפעיל דרך מפתח sysrq. |
/proc/sys/net/* | ספרייה שמכילה מגוון פרמטרים של ערימת רשת. |
/proc/sysrq-trigger | קובץ לכתיבה בלבד שיכול לשמש להפעלת פונקציות sysrq. |
/proc/sys/vm/dirty_background_ratio | קובץ קריאה-כתיבה שמכיל, כאחוז מהזיכרון הזמין הכולל (דפים בחינם ודפים שניתנים לשימוש חוזר), מספר הדפים שבהם ה- שרשורים זורמים עם ליבה ברקע מתחילים לכתוב נתונים מלוכלכים (dirty). |
/proc/sys/vm/dirty_expire_centisecs | קובץ קריאה-כתיבה שמגדיר מתי הנתונים המלוכלכים ישנים מספיק כדי לעמוד בדרישות לכתיבת שרשורים באמצעות שרשורי הליבה של הליבה. |
/proc/sys/vm/drop_caches | קובץ קריאה-כתיבה שיכול לשמש כדי לאלץ את פעולת הליבה לניקוי נתונים נשמרים במטמון. |
/proc/sys/vm/extra_free_kbytes | קובץ קריאה-כתיבה שניתן להשתמש בו כדי לשמור על זיכרון פנוי נוסף בין הסף שבו הדרישה ברקע (kswapd) מתחילה, והסף שבו שימוש ישיר (על ידי הקצאת תהליכים) נכנס לתוקף. הקובץ הזה הוא אופציונלי. התוכן וההרשאות שלו מאומתים ב-VTS רק אם שהקובץ נמצא. |
/proc/sys/vm/max_map_count | קובץ קריאה-כתיבה שמכיל את המספר המקסימלי של אזורים במפת הזיכרון שעשוי להיות בעייתי. |
/proc/sys/vm/mmap_min_addr | קובץ קריאה-כתיבה שקובע את הכתובת המינימלית המותרת
mmap . |
/proc/sys/vm/mmap_rnd_bits | קובץ קריאה-כתיבה שמציין את רמת הרנדומיזציה
הכתובות של mmap . |
/proc/sys/vm/mmap_rnd_compat_bits | קובץ קריאה-כתיבה שמציין את רמת הרנדומיזציה
הכתובות של mmap . |
/proc/sys/vm/overcommit_memory | קובץ קריאה-כתיבה שקובע את הנהלת הזיכרון הווירטואלי של הליבה במצב תצוגה. |
/proc/sys/vm/page-cluster | קובץ קריאה-כתיבה ששולט במספר הדפים עד למספר הדפים מתבצעת קריאה של דפים רצופים לאחר החלפה בניסיון אחד. |
/proc/uid_cputime/remove_uid_range | קובץ לכתיבה בלבד שכאשר כותבים אותו הוא מסיר את מזהי UID מהצגה
/proc/uid_cputime/show_uid_stat |
/proc/uid_cputime/show_uid_stat | קובץ לקריאה בלבד שמכיל את הזמן שהעיבוד של UID מתבצע על ידי המשתמש, וכן ליבה (kernel). |
/proc/uid_io/stats | קובץ לקריאה בלבד שמכיל רשימה של נתונים סטטיסטיים של קלט/פלט (I/O) לכל UID ב- מערכת |
/proc/uid_procstat/set | קובץ לכתיבה בלבד שמשמש להגדרת UID כחזית או כרקע. |
/proc/uid_time_in_state | קובץ לקריאה בלבד שמכיל את הזמן שבו מתבצע כל עיבוד של UID ב- לכל תדירות זמינה. קובץ זה הוא אופציונלי; את התוכן שלו ההרשאות מאומתות ב-VTS רק אם הקובץ קיים. |
/proc/uptime | קובץ לקריאה בלבד שמראה כמה זמן המערכת פועלת. |
/proc/version | קובץ לקריאה בלבד שמכיל מחרוזת שמתארת את גרסת הליבה. |
/proc/vmallocinfo | קובץ לקריאה בלבד שמכיל טווחים של vmalloc . |
/proc/vmstat | קובץ לקריאה בלבד שמכיל סטטיסטיקות של זיכרון וירטואלי מהליבה. |
/proc/zoneinfo | קובץ לקריאה בלבד שמכיל מידע על אזורי זיכרון. |
פיתוח
ממשק | תיאור |
---|---|
/dev/ashmem | קובץ אנונימי של מכשיר זיכרון משותף. |
/dev/binder | קובץ של חיבור המכשיר. |
/dev/hwbinder | קובץ המכשיר של קישור החומרה. |
/dev/tun | קובץ אוניברסלי למכשיר TUN/TAP. |
/dev/xt_qtaguid | קובץ netfilter של QTAGUID. |
sysfs
ממשק | תיאור |
---|---|
/sys/class/net/*/mtu | קובץ קריאה-כתיבה שמכיל את יחידת ההעברה המקסימלית של כל אחד מהם גרפי. |
/sys/class/rtc/*/hctosys | קובץ לקריאה בלבד שמראה אם rtc מסוים מספק את זמן המערכת בזמן האתחול והמשך. |
/sys/devices/system/cpu/ | ספרייה שמכילה מידע על תצורת המעבד (CPU), בתדירות גבוהה. |
/sys/kernel/wakeup_reasons | ספרייה של קבצים לקריאה בלבד שמכילים את מועד ההשעיה האחרון והמשך סיבה. |
/sys/power/state | קובץ קריאה-כתיבה ששולט במצבי השינה של המערכת. |
/sys/power/wake_lock | קובץ קריאה-כתיבה שמכיל את החסימות הפעילות של מצב שינה. |
/sys/power/wake_unlock | קובץ קריאה-כתיבה שמכיל חסימות מצב שינה לא פעילות. |
/sys/power/wakeup_count | קובץ קריאה-כתיבה שניתן להשתמש בו כדי להעביר את המערכת למצב שינה תוך התייחסות לאירועי התעוררות בו-זמנית. |
Selinuxfs
טעינת ה-framework היא selinuxfs
ב-/sys/fs/selinux
.
נתיב | תיאור |
---|---|
/sys/fs/selinux/checkreqprot | קובץ קריאה/כתיבה שמכיל דגל בינארי שקובע את אופן הפעולה של Selinux
ההגנות נבדקות בשיחות mmap ו-mprotect .
|
/sys/fs/selinux/null | קריאה/כתיבה של מכשיר null לשימוש על ידי selinux. |
/sys/fs/selinux/policy | קובץ לקריאה בלבד המכיל את המדיניות Selinux בפורמט בינארי. |