Configuration requise pour l'interface

Cette page décrit un sous-ensemble des interfaces de noyau Linux sur lesquelles Android s'appuie pour fonctionner correctement. La présence et l'exactitude de ces interfaces testés dans le cadre de la suite de tests pour les fournisseurs (VTS). Ce sous-ensemble s’agrandira au fil du temps pour contenir une plus grande partie Interfaces de noyau Android

Appels système

Tous les appels système doivent fournir les mêmes signatures et la même sémantique que dans le noyau Linux en amont de la même version.

prctl

En plus des opérations prctl en amont pour les connexions versions de noyau, Android repose sur des opérations prctl supplémentaires, le dont l'implémentation se trouve dans le noyau android-common.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

Systèmes de fichiers

Le noyau Linux exporte des interfaces via plusieurs systèmes de fichiers. Ce qu'Android attend ces interfaces pour communiquer les mêmes informations, dans le même format, et fournissent la même sémantique que dans le noyau Linux en amont. Pour les interfaces qui n'existent pas en amont, le comportement approprié est dicté par la du noyau commun Android.

procfs

interface Description
/proc/asound/ Fichier en lecture seule affichant la liste des pilotes ALSA actuellement configurés.
/proc/cmdline Fichier en lecture seule contenant les arguments de ligne de commande transmis au noyau.
/proc/config.gz Fichier en lecture seule contenant la configuration de compilation du noyau.
/proc/cpuinfo Fichier en lecture seule contenant les détails du processeur spécifiques à l'architecture.
/proc/diskstats Fichier en lecture seule affichant les statistiques d'E/S des appareils de stockage en mode bloc.
/proc/filesystems Systèmes de fichiers listant en lecture seule actuellement pris en charge par le noyau.
/proc/kmsg Fichier en lecture seule affichant les messages du noyau en temps réel.
/proc/loadavg Fichier en lecture seule affichant la charge moyenne du processeur et des E/S au fil du temps.
/proc/meminfo Fichier en lecture seule affichant les détails du sous-système de mémoire.
/proc/misc Fichier en lecture seule listant divers conducteurs enregistrés sur le divers appareils majeurs.
/proc/modules Fichier en lecture seule contenant des informations sur les modules chargés du noyau.
/proc/mounts Lien symbolique vers /proc/self/mounts, qui est un fichier en lecture seule listant les informations sur les systèmes de fichiers installés.
/proc/net Répertoire contenant divers paramètres de pile réseau.
/proc/net/xt_qtaguid/ Fichier en lecture/écriture fournissant des informations sur les sockets tagués.
/proc/pagetypeinfo Fichier en lecture seule contenant des informations sur l'outil d'allocation de pages.
/proc/stat Fichier en lecture seule contenant diverses statistiques relatives au noyau et au système.
/proc/swaps Fichier en lecture seule montrant l'utilisation de l'espace d'échange. Ce fichier est facultatif ; son contenu et ses autorisations ne sont vérifiés dans VTS que si est présent.
/proc/sys/abi/swp Fichier en lecture/écriture qui détermine le comportement de l'ARM obsolète instruction SWP.
/proc/sys/fs/pipe-max-size Fichier en lecture/écriture qui indique la taille maximale, en octets, d'une tampon de tuyau individuel.
/proc/sys/fs/protected_hardlinks Fichier en lecture/écriture qui contrôle le comportement de création de liens physiques.
/proc/sys/fs/protected_symlinks Fichier en lecture/écriture qui contrôle le comportement de création des symboles .
/proc/sys/fs/suid_dumpable Fichier en lecture/écriture qui contrôle le mode de vidage principal pour setuid ou autre binaires protégés/contrôlés.
/proc/sys/kernel/core_pattern Fichier en lecture/écriture qui spécifie le modèle de nom de fichier du vidage de base.
/proc/sys/kernel/core_pipe_limit Fichier en lecture/écriture qui définit le nombre de processus pouvant planter simultanément vers les applis utilisateur en parallèle.
/proc/sys/kernel/dmesg_restrict Fichier en lecture/écriture qui contrôle si des utilisateurs non privilégiés peuvent accéder dmesg.
/proc/sys/kernel/domainname Fichier en lecture/écriture contenant le nom de domaine YP/NIS du système.
/proc/sys/kernel/hostname Fichier en lecture/écriture qui détermine le nom d'hôte du système.
/proc/sys/kernel/hung_task_timeout_secs Fichier en lecture/écriture qui contrôle le délai avant expiration utilisé pour déterminer quand une tâche ne répond plus et doit être considéré comme accroché. Ce fichier est facultatif. son contenu et ses autorisations sont vérifiés dans VTS uniquement si si le fichier est présent.
/proc/sys/kernel/kptr_restrict Fichier en lecture/écriture qui détermine si les pointeurs du noyau sont imprimés dans Fichiers proc et autres interfaces.
/proc/sys/kernel/modules_disabled Fichier en lecture/écriture qui contrôle si les modules du noyau peuvent être chargés.
/proc/sys/kernel/panic_on_oops Fichier en lecture/écriture qui contrôle le comportement du noyau en cas d'interruption.
/proc/sys/kernel/perf_event_max_sample_rate Fichier en lecture/écriture qui contrôle le taux d'échantillonnage maximal des performances événements.
/proc/sys/kernel/perf_event_paranoid Fichier en lecture/écriture qui contrôle l'utilisation du système d'événements de performances par des utilisateurs non privilégiés.
/proc/sys/kernel/pid_max Fichier en lecture/écriture contenant la valeur d'encapsulation de l'allocation PID.
/proc/sys/kernel/random/boot_id Fichier en lecture seule contenant un nouvel ID aléatoire à chaque démarrage.
/proc/sys/kernel/randomize_va_space Fichier en lecture/écriture qui détermine la règle de randomisation de la mise en page des adresses pour le système.
/proc/sys/kernel/sched_child_runs_first Fichier en lecture/écriture qui contrôle si les tâches nouvellement dupliquées sont favorisées dans la planification sur leurs tâches parents.
/proc/sys/kernel/sched_latency_ns Fichier en lecture/écriture contenant la latence maximale, en nanosecondes, d'une tâche peuvent survenir avant la planification.
/proc/sys/kernel/sched_rt_period_us Fichier en lecture/écriture contenant la durée de la période utilisée par la requête RT de l'ensemble du système limite d'exécution en microsecondes.
/proc/sys/kernel/sched_rt_runtime_us Fichier en lecture/écriture contenant la durée par rapport à sched_rt_period_us, selon laquelle le système peut exécuter des tâches en temps réel.
/proc/sys/kernel/sched_tunable_scaling Fichier en lecture/écriture qui contrôle si sched_Latency_ns doit être automatiquement ajustés par le programmeur en fonction du nombre de CPU.
/proc/sys/kernel/sched_wakeup_granularity_ns Fichier en lecture/écriture qui contient la quantité supplémentaire de tâche d'exécution virtuelle A à que la tâche B en nanosecondes pour la préempter.
/proc/sys/kernel/sysrq Fichier en lecture/écriture qui contrôle les fonctions pouvant être appelées via la classe sysrq.
/proc/sys/net/* Répertoire contenant divers paramètres de pile réseau.
/proc/sysrq-trigger Fichier en écriture seule qui peut être utilisé pour lancer des fonctions sysrq.
/proc/sys/vm/dirty_background_ratio Fichier en lecture/écriture qui contient, sous la forme d'un pourcentage de la mémoire totale disponible (pages sans frais et pages récupérables), il s'agit du nombre de pages auxquelles les threads de nettoyage du noyau en arrière-plan commencent à écrire des données sales.
/proc/sys/vm/dirty_expire_centisecs Fichier en lecture/écriture qui définit à quel moment les données modifiées sont suffisamment anciennes pour être éligibles pour les écritures par le thread de nettoyage du noyau.
/proc/sys/vm/drop_caches Fichier en lecture/écriture qui peut être utilisé pour forcer le noyau à supprimer son nettoyage caches.
/proc/sys/vm/extra_free_kbytes Fichier en lecture-écriture qui peut être utilisé pour conserver de la mémoire libre supplémentaire entre les seuil où la récupération en arrière-plan (kswapd) intervient, et le seuil où la récupération directe (par allocation de processus) entre en jeu. Ce fichier est facultatif. son contenu et ses autorisations ne sont validés dans VTS que si si le fichier est présent.
/proc/sys/vm/max_map_count Fichier en lecture/écriture qui contient le nombre maximal de zones de mappage de mémoire le processus.
/proc/sys/vm/mmap_min_addr Fichier en lecture-écriture qui détermine l'adresse minimale pouvant être mmap
/proc/sys/vm/mmap_rnd_bits Fichier en lecture/écriture spécifiant le degré de hasard dans pour mmap.
/proc/sys/vm/mmap_rnd_compat_bits Fichier en lecture/écriture spécifiant le degré de hasard dans pour mmap.
/proc/sys/vm/overcommit_memory Fichier en lecture/écriture qui détermine la comptabilisation de la mémoire virtuelle du noyau .
/proc/sys/vm/page-cluster Fichier en lecture/écriture qui contrôle le nombre de pages jusqu'à des pages consécutives sont lues à partir de l'échange en une seule tentative.
/proc/uid_cputime/remove_uid_range Fichier en écriture seule qui, une fois écrit, empêche l'affichage des UID /proc/uid_cputime/show_uid_stat
/proc/uid_cputime/show_uid_stat Fichier en lecture seule contenant le temps passé par les processus d'un UID sur l'utilisateur et l'espace du noyau.
/proc/uid_io/stats Fichier en lecture seule contenant la liste des statistiques d'E/S pour chaque UID dans le système
/proc/uid_procstat/set Fichier en écriture seule utilisé pour configurer un UID en premier plan ou en arrière-plan.
/proc/uid_time_in_state Fichier en lecture seule contenant la durée d'exécution des processus de chaque UID chaque fréquence disponible. Ce fichier est facultatif. son contenu et les autorisations ne sont validées dans VTS que si le fichier est présent.
/proc/uptime Fichier en lecture seule indiquant depuis combien de temps le système fonctionne.
/proc/version Fichier en lecture seule contenant une chaîne décrivant la version du noyau.
/proc/vmallocinfo Fichier en lecture seule contenant les plages de vmalloc.
/proc/vmstat Fichier en lecture seule contenant les statistiques de mémoire virtuelle du noyau.
/proc/zoneinfo Fichier en lecture seule contenant des informations sur les zones de mémoire.

développeur

interface Description
/dev/ashmem Fichier anonyme de l'appareil à mémoire partagée.
/dev/binder Fichier de l'appareil de liaison.
/dev/hwbinder Fichier de l'appareil de liaison matérielle.
/dev/tun Fichier d'appareil TUN/TAP universel.
/dev/xt_qtaguid Fichier de l'appareil Netfilter QTAGUID.

sysfs

interface Description
/sys/class/net/*/mtu Fichier en lecture-écriture contenant l'unité de transmission maximale pour chaque de commande.
/sys/class/rtc/*/hctosys Fichier en lecture seule indiquant si une RTC spécifique fournit l'heure système au démarrage et à la reprise.
/sys/devices/system/cpu/ Répertoire contenant des informations sur la configuration du processeur et la fréquence.
/sys/kernel/wakeup_reasons Répertoire des fichiers en lecture seule contenant la date et l'heure de la dernière suspension et de la reprise ou motif.
/sys/power/state Fichier en lecture/écriture qui contrôle les états de veille du système.
/sys/power/wake_lock Fichier en lecture/écriture contenant les wakelocks actifs.
/sys/power/wake_unlock Fichier en lecture/écriture contenant des wakelocks inactifs.
/sys/power/wakeup_count Fichier en lecture/écriture pouvant être utilisé pour mettre le système en veille tout en tenant compte de l'arrivée simultanée d'événements de wakeup.

Selinuxfs

Le framework installe selinuxfs dans /sys/fs/selinux.

Chemin d'accès Description
/sys/fs/selinux/checkreqprot Fichier en lecture/écriture contenant un indicateur binaire qui détermine le fonctionnement de selinux. les protections sont vérifiées sur les appels mmap et mprotect.
/sys/fs/selinux/null Appareil nul en lecture/écriture à utiliser par selinux.
/sys/fs/selinux/policy Fichier en lecture seule contenant la règle selinux au format binaire.