Auf dieser Seite wird ein Teil der Linux-Kernel-Schnittstellen beschrieben, auf denen Android um ordnungsgemäß zu funktionieren. Das Vorhandensein und die Richtigkeit dieser Schnittstellen im Rahmen der Vendor Test Suite getestet (VTS) Diese Teilmenge wird mit der Zeit anwachsen und einen größeren Anteil an Android-Kernel-Schnittstellen
Systemaufrufe
Alle Systemaufrufe müssen dieselben Signaturen und Semantiken wie im Upstream-Linux-Kernel derselben Version.
PRCT
Zusätzlich zu den vorgelagerten prctl
-Vorgängen für unterstützte
Kernel-Versionen benötigt Android zusätzliche prctl
-Vorgänge, die
deren Implementierung im Android-Common-Kernel zu finden sind.
PR_SET_TIMERSLACK_PID PR_SET_VMA
Dateisysteme
Der Linux-Kernel exportiert Schnittstellen über mehrere Dateisysteme. Android erwartet diese Schnittstellen, um dieselben Informationen im gleichen Format und dieselbe Semantik wie im Upstream-Linux-Kernel bereitstellen. Für Schnittstellen, die nicht vorgelagert sind, wird das entsprechende Verhalten durch die entsprechenden des gemeinsamen Android-Kernels.
Procfs
Benutzeroberfläche | Beschreibung |
---|---|
/proc/asound/ | Schreibgeschützte Datei mit der Liste der derzeit konfigurierten ALSA-Treiber. |
/proc/cmdline | Schreibgeschützte Datei mit Befehlszeilenargumenten, die an den Kernel übergeben werden. |
/proc/config.gz | Schreibgeschützte Datei mit der Kernel-Build-Konfiguration. |
/proc/cpuinfo | Schreibgeschützte Datei mit architekturspezifischen CPU-Details. |
/proc/diskstats | Schreibgeschützte Datei mit E/A-Statistiken blockierter Geräte. |
/proc/filesystems | Schreibgeschützte Datei mit einer Auflistung der Dateisysteme, die derzeit vom Kernel. |
/proc/kmsg | Schreibgeschützte Datei, die Kernel-Meldungen in Echtzeit anzeigt. |
/proc/loadavg | Schreibgeschützte Datei mit der durchschnittlichen CPU- und E/A-Last im Zeitverlauf. |
/proc/meminfo | Schreibgeschützte Datei mit Details zum Arbeitsspeichersubsystem. |
/proc/misc | Schreibgeschützte Datei mit einer Auflistung verschiedener Treiber, die auf der sonstiges wichtiges Gerät. |
/proc/modules | Schreibgeschützte Datei mit Informationen zu geladenen Kernelmodulen. |
/proc/mounts | Symlink auf /proc/self/mounts , eine schreibgeschützte Datei
das Auflisten von Informationen über die bereitgestellten Dateisysteme. |
/proc/net | Verzeichnis mit verschiedenen Parametern für den Netzwerk-Stack. |
/proc/net/xt_qtaguid/ | Lese-/Schreibdatei mit Informationen zu getaggten Sockets. |
/proc/pagetypeinfo | Schreibgeschützte Datei mit Informationen zur Seitenzuordnung. |
/proc/stat | Schreibgeschützte Datei mit verschiedenen Kernel- und Systemstatistiken. |
/proc/swaps | Schreibgeschützte Datei mit der Auslastung des Auslagerungsspeichers. Diese Datei ist optional; Inhalte und Berechtigungen werden nur dann in VTS überprüft, Datei vorhanden ist. |
/proc/sys/abi/swp | Lese-/Schreibdatei, die das Verhalten des veralteten ARM bestimmt SWP-Anweisung. |
/proc/sys/fs/pipe-max-size | Nicht schreibgeschützte Datei, die die maximale Größe einer Puffer für einzelne Pipes. |
/proc/sys/fs/protected_hardlinks | Nicht schreibgeschützte Datei, die das Verhalten beim Erstellen von harten Links steuert. |
/proc/sys/fs/protected_symlinks | Nicht schreibgeschützte Datei, die das Erstellen von symbolischen Elementen steuert Links. |
/proc/sys/fs/suid_dumpable | Nicht schreibgeschützte Datei, die den Core Dump-Modus für setuid oder andere steuert geschützten/markierten Binärprogrammen. |
/proc/sys/kernel/core_pattern | Lese-/Schreibdatei, die das Namensmuster des Core-Dumpdateinamens angibt. |
/proc/sys/kernel/core_pipe_limit | Lese-/Schreibdatei, in der definiert wird, wie viele gleichzeitig abstürzende Prozesse parallel an Nutzer-Apps weitergeleitet werden. |
/proc/sys/kernel/dmesg_restrict | Datei mit Lese-/Schreibzugriff, die steuert, ob nicht privilegierte Nutzer Zugriff haben dmesg. |
/proc/sys/kernel/domainname | Nicht schreibgeschützte Datei, die den YP/NIS-Domainnamen des Systems enthält. |
/proc/sys/kernel/hostname | Nicht schreibgeschützte Datei, die den Hostnamen des Systems bestimmt. |
/proc/sys/kernel/hung_task_timeout_secs | Datei mit Lese-/Schreibzugriff, die das Zeitlimit steuert, anhand dessen festgelegt wird, wann eine Aufgabe reagiert nicht mehr und sollte als hängen geblieben sein. Diese Datei ist optional. Inhalte und Berechtigungen werden nur dann in VTS überprüft, wenn die Datei vorhanden ist. |
/proc/sys/kernel/kptr_restrict | Lese-/Schreibdatei, die bestimmt, ob Kernelzeiger gedruckt werden
proc -Dateien und andere Benutzeroberflächen. |
/proc/sys/kernel/modules_disabled | Lese-/Schreibdatei, die steuert, ob Kernelmodule geladen werden. |
/proc/sys/kernel/panic_on_oops | Lese-/Schreibdatei, die das Verhalten des Kernels bei Hoppla-Vorgängen steuert. |
/proc/sys/kernel/perf_event_max_sample_rate | Nicht schreibgeschützte Datei, die die maximale Abtastrate der Leistung steuert Ereignisse. |
/proc/sys/kernel/perf_event_paranoid | Lese-/Schreibzugriff auf Datei, die die Nutzung des Systems für Leistungsereignisse steuert durch nicht privilegierte Nutzer. |
/proc/sys/kernel/pid_max | Lese-/Schreibdatei, die den Wrap-Wert für die PID-Zuordnung enthält. |
/proc/sys/kernel/random/boot_id | Schreibgeschützte Datei, die bei jedem Start eine neue zufällige ID enthält. |
/proc/sys/kernel/randomize_va_space | Lese-/Schreibdatei, die die Richtlinie zur zufälligen Anordnung des Adresslayouts bestimmt für das System. |
/proc/sys/kernel/sched_child_runs_first | Lese-/Schreibdatei, die steuert, ob neu verzweigte Aufgaben bevorzugt werden ihre übergeordneten Aufgaben zu planen. |
/proc/sys/kernel/sched_latency_ns | Lese-/Schreibdatei, die die maximale Latenz einer Aufgabe in Nanosekunden enthält vor der Planung anfallen können. |
/proc/sys/kernel/sched_rt_period_us | Lese-/Schreibdatei mit der Periodenlänge, die vom systemweiten Echtzeitbericht verwendet wird das Ausführungslimit in Mikrosekunden. |
/proc/sys/kernel/sched_rt_runtime_us | Lese-/Schreibdatei, die die Zeitdauer enthält, bezogen auf sched_rt_period_us, dass das System RT-Aufgaben ausführen kann. |
/proc/sys/kernel/sched_tunable_scaling | Lese-/Schreibdatei, die steuert, ob „sched_latenz_ns“ je nach CPU-Anzahl automatisch vom Planer angepasst. |
/proc/sys/kernel/sched_wakeup_granularity_ns | Lese-/Schreibdatei, die enthält, wie viel mehr virtuelle Laufzeitaufgabe A muss als Aufgabe B in Nanosekunden, damit Aufgabe B sie vorzeitig beendet. |
/proc/sys/kernel/sysrq | Nicht schreibgeschützte Datei, die die Funktionen steuert, die über die sysrq-Taste. |
/proc/sys/net/* | Verzeichnis mit verschiedenen Parametern für den Netzwerk-Stack. |
/proc/sysrq-trigger | Schreibgeschützte Datei, die zum Initiieren von sysrq-Funktionen verwendet werden kann. |
/proc/sys/vm/dirty_background_ratio | Datei mit Lese-/Schreibzugriff, die als Prozentsatz des insgesamt verfügbaren Arbeitsspeichers enthalten ist (kostenlose und wiederverwendbare Seiten), die Anzahl der Seiten, auf denen Hintergrund-Kernel-Flusher-Threads beginnen, schmutzige Daten zu schreiben. |
/proc/sys/vm/dirty_expire_centisecs | Lese-/Schreibdatei, in der definiert wird, wann die schmutzigen Daten alt genug sind, um infrage zu kommen für die Ausschreibung durch die Kernel-Flusher-Threads. |
/proc/sys/vm/drop_caches | Lese-/Schreibdatei, mit der der Kernel dazu gezwungen werden kann, eine Bereinigung zu löschen Caches. |
/proc/sys/vm/extra_free_kbytes | Nicht schreibgeschützte Datei, mit der Sie zusätzlichen kostenlosen Speicher zwischen den Grenzwert für die Hintergrundrückgewinnung (kswapd) bei denen die direkte Rückforderung (durch die Zuweisung von Prozessen) ins Spiel kommt. Diese Datei ist optional. Inhalte und Berechtigungen werden nur dann in VTS überprüft, wenn die Datei vorhanden ist. |
/proc/sys/vm/max_map_count | Lese-/Schreibdatei mit der maximalen Anzahl von Speicherzuordnungsbereichen die der Prozess haben kann. |
/proc/sys/vm/mmap_min_addr | Nicht schreibgeschützte Datei, die die Mindestadresse festlegt,
mmap gegeben |
/proc/sys/vm/mmap_rnd_bits | Lese-/Schreibdatei, die den Grad der Zufälligkeit in
Adressen von mmap . |
/proc/sys/vm/mmap_rnd_compat_bits | Lese-/Schreibdatei, die den Grad der Zufälligkeit in
Adressen von mmap . |
/proc/sys/vm/overcommit_memory | Lese-/Schreibdatei, die das Kernel-Konto für den virtuellen Arbeitsspeicher festlegt . |
/proc/sys/vm/page-cluster | Nicht schreibgeschützte Datei, die die Anzahl der Seiten steuert, bis zu aufeinander folgende Seiten beim Austausch in einem einzigen Versuch eingelesen werden. |
/proc/uid_cputime/remove_uid_range | Schreibgeschützte Datei, die beim Schreiben UIDs aus der Anzeige entfernt
/proc/uid_cputime/show_uid_stat |
/proc/uid_cputime/show_uid_stat | Schreibgeschützte Datei mit der Zeit, die die Prozesse einer UID in Nutzer- und Kernel-Bereich. |
/proc/uid_io/stats | Schreibgeschützte Datei mit einer Liste von E/A-Statistiken für jede UID in der System |
/proc/uid_procstat/set | Schreibgeschützte Datei zum Konfigurieren einer UID als Vorder- oder Hintergrund. |
/proc/uid_time_in_state | Schreibgeschützte Datei mit der Zeit, zu der die einzelnen UID-Prozesse ausgeführt werden jede verfügbare Frequenz. Diese Datei ist optional. deren Inhalt und Berechtigungen werden in VTS nur geprüft, wenn die Datei vorhanden ist. |
/proc/uptime | Schreibgeschützte Datei, die anzeigt, wie lange das System aktiv ist. |
/proc/version | Schreibgeschützte Datei mit einem String, der die Kernel-Version beschreibt. |
/proc/vmallocinfo | Schreibgeschützte Datei mit Bereichen von vmalloc . |
/proc/vmstat | Schreibgeschützte Datei mit Statistiken zum virtuellen Arbeitsspeicher vom Kernel. |
/proc/zoneinfo | Schreibgeschützte Datei mit Informationen zu Arbeitsspeicherzonen. |
Dev
Benutzeroberfläche | Beschreibung |
---|---|
/dev/ashmem | Anonyme Datei mit freigegebenem Speichergerät. |
/dev/binder | Binder-Gerätedatei. |
/dev/hwbinder | Datei mit Hardwarebinder-Gerät. |
/dev/tun | Universelle TUN/TAP-Gerätedatei. |
/dev/xt_qtaguid | QTAGUID netfilter-Gerätedatei. |
Sysfs
Benutzeroberfläche | Beschreibung |
---|---|
/sys/class/net/*/mtu | Lese-/Schreibdatei mit der maximalen Übertragungseinheit für jede . |
/sys/class/rtc/*/hctosys | Schreibgeschützte Datei, die anzeigt, ob eine bestimmte RTC die Systemzeit bereitstellt beim Start und beim Fortsetzen. |
/sys/devices/system/cpu/ | Verzeichnis mit Informationen zur CPU-Konfiguration und Häufigkeit. |
/sys/kernel/wakeup_reasons | Verzeichnis der schreibgeschützten Dateien mit dem Zeitpunkt der letzten Sperrung und dem letzten Fortsetzungszeitpunkt Grund. |
/sys/power/state | Lese-/Schreibdatei, die den Ruhemodus des Systems steuert. |
/sys/power/wake_lock | Lese-/Schreibzugriff auf Datei, die die aktiven Wakelocks enthält. |
/sys/power/wake_unlock | Datei mit Lese-/Schreibzugriff, die nicht aktive Wakelocks enthält. |
/sys/power/wakeup_count | Lese-/Schreibdatei, mit der das System in den Ruhemodus versetzt werden kann und gleichzeitig das gleichzeitige Eintreffen von Wakeup-Ereignissen berücksichtigt. |
Selinuxfs
Das Framework wird unter /sys/fs/selinux
bereitgestellt. selinuxfs
Pfad | Beschreibung |
---|---|
/sys/fs/selinux/checkreqprot | Lese-/Schreibdatei mit einem binären Flag, das bestimmt, wie selinux verwendet wird
Die Schutzmaßnahmen sind bei mmap - und mprotect -Aufrufen aktiviert.
|
/sys/fs/selinux/null | Nullgerät zur Verwendung durch selinux lesen/schreiben. |
/sys/fs/selinux/policy | Schreibgeschützte Datei mit der Selinux-Richtlinie in Binärform. |