Cette page décrit un sous-ensemble des interfaces du noyau Linux sur lesquelles Android s'appuie pour fonctionner correctement. La présence et l'exactitude de ces interfaces sont testées dans le cadre du Vendor Test Suite (VTS) . Ce sous-ensemble grandira au fil du temps pour contenir une plus grande partie des interfaces du noyau Android.
Appels système
Tous les appels système sont censés fournir les mêmes signatures et sémantiques que dans le noyau Linux en amont de la même version.
prctl
En plus des opérations prctl
en amont pour les versions de noyau prises en charge, Android s'appuie sur des opérations prctl
supplémentaires, 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 les interfaces via plusieurs systèmes de fichiers. Android s'attend à ce que ces interfaces communiquent 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 branche correspondante du noyau commun Android.
procfs
Interface | Description |
---|---|
/proc/son/ | Fichier en lecture seule affichant la liste des pilotes ALSA actuellement configurés. |
/proc/ligne de commande | 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 la construction du noyau. |
/proc/cpuinfo | Fichier en lecture seule contenant des détails sur le processeur spécifiques à l'architecture. |
/proc/diskstats | Fichier en lecture seule affichant les statistiques d'E/S des périphériques bloqués. |
/proc/systèmes de fichiers | Fichier en lecture seule répertoriant les systèmes de fichiers 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 moyenne de la charge 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 répertoriant les divers pilotes enregistrés sur le périphérique principal divers. |
/proc/modules | Fichier en lecture seule contenant des informations sur les modules du noyau chargés. |
/proc/montages | Lien symbolique vers /proc/self/mounts , qui est un fichier en lecture seule répertoriant les informations sur les systèmes de fichiers montés. |
/proc/net | Répertoire contenant une variété de paramètres de pile réseau. |
/proc/net/xt_qtaguid/ | Fichier en lecture-écriture fournissant des informations sur les sockets balisées. |
/proc/pagetypeinfo | Fichier en lecture seule contenant des informations sur l'allocateur de page. |
/proc/stat | Fichier en lecture seule contenant diverses statistiques du noyau et du système. |
/proc/échanges | Fichier en lecture seule montrant l'utilisation de l'espace de swap. Ce fichier est facultatif ; son contenu et ses autorisations seront vérifiés dans VTS uniquement si le fichier est présent . |
/proc/sys/abi/swp | Fichier en lecture-écriture qui détermine le comportement de l'instruction ARM obsolète SWP. |
/proc/sys/fs/pipe-max-size | Fichier en lecture-écriture qui indique la taille maximale, en octets, d'un tampon de canal 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 de liens symboliques. |
/proc/sys/fs/suid_dumpable | Fichier en lecture-écriture qui contrôle le mode de vidage de mémoire pour les binaires setuid ou autrement protégés/entachés. |
/proc/sys/kernel/core_pattern | Fichier en lecture-écriture qui spécifie le modèle de nom de fichier de vidage mémoire. |
/proc/sys/kernel/core_pipe_limit | Fichier en lecture-écriture qui définit le nombre de processus de plantage simultanés qui peuvent être transmis en parallèle aux applications utilisateur. |
/proc/sys/kernel/dmesg_restrict | Fichier en lecture-écriture qui contrôle si les utilisateurs non privilégiés peuvent accéder à dmesg. |
/proc/sys/kernel/nom de domaine | Fichier en lecture-écriture contenant le nom de domaine YP/NIS du système. |
/proc/sys/kernel/nom d'hôte | 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 d'expiration utilisé pour déterminer le moment où une tâche ne répond plus et doit être considérée comme bloquée. Ce fichier est facultatif ; son contenu et ses autorisations seront vérifiés dans VTS uniquement 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 les fichiers proc et d'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 de problème. |
/proc/sys/kernel/perf_event_max_sample_rate | Fichier en lecture-écriture qui contrôle la fréquence d'échantillonnage maximale des événements de performances. |
/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 de wrapper d’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 politique de randomisation de la disposition 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 créées sont favorisées dans la planification par rapport à leurs tâches parentes. |
/proc/sys/kernel/sched_latency_ns | Fichier en lecture-écriture contenant la latence maximale, en nanosecondes, qu'une tâche peut subir avant d'être planifiée. |
/proc/sys/kernel/sched_rt_period_us | Fichier en lecture-écriture qui contient la durée de la période utilisée par la limite d'exécution RT à l'échelle du système en microsecondes. |
/proc/sys/kernel/sched_rt_runtime_us | Fichier en lecture-écriture qui contient la durée, par rapport à sched_rt_period_us, pendant laquelle le système peut exécuter des tâches RT. |
/proc/sys/kernel/sched_tunable_scaling | Fichier en lecture-écriture qui contrôle si sched_latency_ns doit être automatiquement ajusté par le planificateur en fonction du nombre de processeurs. |
/proc/sys/kernel/sched_wakeup_granularity_ns | Fichier en lecture-écriture qui contient la quantité de plus que la tâche d'exécution virtuelle A doit avoir par rapport à la tâche B en nanosecondes pour que la tâche B la préempte. |
/proc/sys/kernel/sysrq | Fichier en lecture-écriture qui contrôle les fonctions pouvant être invoquées via la clé sysrq. |
/proc/sys/net/* | Répertoire contenant une variété de paramètres de pile réseau. |
/proc/sysrq-trigger | Fichier en écriture seule qui peut être utilisé pour lancer les fonctions sysrq. |
/proc/sys/vm/dirty_background_ratio | Fichier en lecture-écriture qui contient, en pourcentage de la mémoire totale disponible (pages libres et pages récupérables), le nombre de pages à partir desquelles les threads de vidage du noyau en arrière-plan commenceront à écrire des données sales. |
/proc/sys/vm/dirty_expire_centisecs | Fichier en lecture-écriture qui définit le moment où les données sales sont suffisamment anciennes pour pouvoir être écrites par les threads de vidage du noyau. |
/proc/sys/vm/drop_caches | Fichier en lecture-écriture qui peut être utilisé pour forcer le noyau à supprimer des caches propres. |
/proc/sys/vm/extra_free_kbytes | Fichier en lecture-écriture qui peut être utilisé pour conserver de la mémoire libre supplémentaire entre le seuil où la récupération en arrière-plan (kswapd) entre en jeu et le seuil où la récupération directe (en allouant des processus) entre en jeu. Ce fichier est facultatif ; son contenu et ses autorisations seront vérifiés dans VTS uniquement si le fichier est présent . |
/proc/sys/vm/max_map_count | Fichier en lecture-écriture contenant le nombre maximum de zones de carte mémoire qu'un processus peut avoir. |
/proc/sys/vm/mmap_min_addr | Fichier en lecture-écriture qui détermine l'adresse minimale pouvant être attribuée à mmap . |
/proc/sys/vm/mmap_rnd_bits | Fichier en lecture-écriture qui spécifie le degré de caractère aléatoire des adresses mmap . |
/proc/sys/vm/mmap_rnd_compat_bits | Fichier en lecture-écriture qui spécifie le degré de caractère aléatoire des adresses mmap . |
/proc/sys/vm/overcommit_memory | Fichier en lecture-écriture qui détermine le mode de comptabilité de la mémoire virtuelle du noyau. |
/proc/sys/vm/page-cluster | Fichier en lecture-écriture qui contrôle le nombre de pages jusqu'à laquelle des pages consécutives sont lues à partir du swap en une seule tentative. |
/proc/uid_cputime/remove_uid_range | Fichier en écriture seule qui, une fois écrit, supprime les UID de l'affichage dans /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 dans l'espace utilisateur et noyau. |
/proc/uid_io/stats | Fichier en lecture seule contenant une liste de statistiques d'E/S pour chaque UID du système |
/proc/uid_procstat/set | Fichier en écriture seule utilisé pour configurer un UID comme premier plan ou arrière-plan. |
/proc/uid_time_in_state | Fichier en lecture seule contenant le temps d'exécution de chaque processus UID à chaque fréquence disponible. Ce fichier est facultatif ; son contenu et ses autorisations seront vérifiés dans VTS uniquement si le fichier est présent . |
/proc/disponibilité | Fichier en lecture seule qui indique 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 vmalloc 'd. |
/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 mémoire. |
développeur
Interface | Description |
---|---|
/dev/ashmem | Fichier de périphérique de mémoire partagée anonyme. |
/dev/classeur | Fichier de périphérique de classeur. |
/dev/hwbinder | Fichier de périphérique de classeur matériel. |
/dev/tun | Fichier de périphérique TUN/TAP universel. |
/dev/xt_qtaguid | Fichier de périphérique QTAGUID netfilter. |
sysfs
Interface | Description |
---|---|
/sys/class/net/*/mtu | Fichier en lecture-écriture contenant l'unité de transmission maximale pour chaque interface. |
/sys/class/rtc/*/hctosys | Fichier en lecture seule indiquant si un rtc particulier fournit l'heure système au démarrage et à la reprise. |
/sys/périphériques/système/cpu/ | Répertoire contenant des informations sur la configuration et la fréquence du processeur. |
/sys/kernel/wakeup_reasons | Répertoire de fichiers en lecture seule contenant l'heure de la dernière suspension et le motif de la reprise. |
/sys/puissance/état | 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 non actifs. |
/sys/power/wakeup_count | Fichier en lecture-écriture pouvant être utilisé pour mettre le système en état de veille tout en prenant en compte l'arrivée simultanée d'événements de réveil. |
selinuxfs
Le framework monte selinuxfs
sur /sys/fs/selinux
.
Chemin | Description |
---|---|
/sys/fs/selinux/checkreqprot | Fichier en lecture/écriture contenant un indicateur binaire qui détermine comment les protections selinux sont vérifiées lors des appels mmap et mprotect . |
/sys/fs/selinux/null | Périphérique nul en lecture/écriture à utiliser par Selinux. |
/sys/fs/selinux/politique | Fichier en lecture seule contenant la politique selinux sous forme binaire. |