Anforderungen an die Benutzeroberfläche

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.