דרישות הממשק

בדף הזה מתוארת קבוצת משנה של ממשקי הליבה של 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 בפורמט בינארי.