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. |