Requisitos de interfaz

Esta página describe un subconjunto de las interfaces del kernel de Linux en las que depende Android para funcionar correctamente. La presencia y corrección de estas interfaces se prueban como parte del Vendor Test Suite (VTS) . Este subconjunto crecerá con el tiempo para contener una porción mayor de interfaces del kernel de Android.

llamadas al sistema

Se espera que todas las llamadas al sistema proporcionen las mismas firmas y semántica que en el kernel de Linux ascendente de la misma versión.

prctl

Además de las operaciones prctl ascendentes para las versiones de kernel compatibles, Android se basa en operaciones prctl adicionales, cuya implementación se puede encontrar en el kernel común de Android.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

Sistemas de archivos

El kernel de Linux exporta interfaces a través de varios sistemas de archivos. Android espera que estas interfaces comuniquen la misma información, en el mismo formato y proporcionen la misma semántica que en el kernel de Linux ascendente. Para interfaces que no existen en sentido ascendente, el comportamiento apropiado lo dicta la rama correspondiente del kernel común de Android.

procs

Interfaz Descripción
/proc/asound/ Archivo de solo lectura que muestra la lista de controladores ALSA configurados actualmente.
/proc/cmdline Archivo de solo lectura que contiene argumentos de línea de comando pasados ​​al kernel.
/proc/config.gz Archivo de solo lectura que contiene la configuración de compilación del kernel.
/proc/cpuinfo Archivo de solo lectura que contiene detalles de CPU específicos de la arquitectura.
/proc/diskstats Archivo de solo lectura que muestra estadísticas de E/S de dispositivos de bloque.
/proc/sistemas de archivos Archivos de solo lectura que enumeran los sistemas de archivos actualmente admitidos por el kernel.
/proc/kmsg Archivo de solo lectura que muestra mensajes del kernel en tiempo real.
/proc/loadavg Archivo de solo lectura que muestra el promedio de carga de CPU y IO a lo largo del tiempo.
/proc/meminfo Archivo de solo lectura que muestra detalles del subsistema de memoria.
/proc/misc Archivo de solo lectura que enumera varios controladores registrados en varios dispositivos principales.
/proc/módulos Archivo de solo lectura que contiene información sobre los módulos del kernel cargados.
/proc/montajes Enlace simbólico a /proc/self/mounts , que es un archivo de solo lectura que enumera información sobre los sistemas de archivos montados.
/proc/net Directorio que contiene una variedad de parámetros de pila de red.
/proc/net/xt_qtaguid/ Archivo de lectura y escritura que proporciona información sobre sockets etiquetados.
/proc/tipodepaginainfo Archivo de solo lectura que contiene información del asignador de páginas.
/proc/estadística Archivo de solo lectura que contiene varias estadísticas del sistema y del kernel.
/proc/intercambios Archivo de solo lectura que muestra la utilización del espacio de intercambio. Este archivo es opcional; su contenido y permisos serán verificados en VTS sólo si el archivo está presente .
/proc/sys/abi/swp Archivo de lectura y escritura que determina el comportamiento de la obsoleta instrucción ARM SWP.
/proc/sys/fs/pipe-max-size Archivo de lectura y escritura que informa el tamaño máximo, en bytes, de un búfer de canalización individual.
/proc/sys/fs/protected_hardlinks Archivo de lectura y escritura que controla el comportamiento de creación de enlaces físicos.
/proc/sys/fs/protected_symlinks Archivo de lectura-escritura que controla el comportamiento de creación de enlaces simbólicos.
/proc/sys/fs/suid_dumpable Archivo de lectura y escritura que controla el modo de volcado del núcleo para setuid o binarios protegidos/contaminados de otro modo.
/proc/sys/kernel/core_pattern Archivo de lectura y escritura que especifica el patrón de nombre de archivo de volcado de memoria.
/proc/sys/kernel/core_pipe_limit Archivo de lectura y escritura que define cuántos procesos de bloqueo simultáneos se pueden canalizar a las aplicaciones del usuario en paralelo.
/proc/sys/kernel/dmesg_restrict Archivo de lectura y escritura que controla si los usuarios sin privilegios pueden acceder a dmesg.
/proc/sys/kernel/nombre de dominio Archivo de lectura y escritura que contiene el nombre de dominio YP/NIS del sistema.
/proc/sys/kernel/nombre de host Archivo de lectura y escritura que determina el nombre de host del sistema.
/proc/sys/kernel/hung_task_timeout_secs Archivo de lectura y escritura que controla el tiempo de espera utilizado para determinar cuándo una tarea deja de responder y debe considerarse colgada. Este archivo es opcional; su contenido y permisos serán verificados en VTS sólo si el archivo está presente .
/proc/sys/kernel/kptr_restrict Archivo de lectura y escritura que determina si los punteros del kernel se imprimen en archivos proc y otras interfaces.
/proc/sys/kernel/modules_disabled Archivo de lectura y escritura que controla si se pueden cargar los módulos del kernel.
/proc/sys/kernel/panic_on_oops Archivo de lectura y escritura que controla el comportamiento del kernel en Ups.
/proc/sys/kernel/perf_event_max_sample_rate Archivo de lectura y escritura que controla la frecuencia de muestreo máxima de eventos de rendimiento.
/proc/sys/kernel/perf_event_paranoid Archivo de lectura y escritura que controla el uso del sistema de eventos de rendimiento por parte de usuarios sin privilegios.
/proc/sys/kernel/pid_max Archivo de lectura y escritura que contiene el valor de ajuste de asignación de PID.
/proc/sys/kernel/random/boot_id Archivo de solo lectura que contiene una nueva ID aleatoria en cada inicio.
/proc/sys/kernel/randomize_va_space Archivo de lectura y escritura que determina la política de aleatorización del diseño de direcciones para el sistema.
/proc/sys/kernel/sched_child_runs_first Archivo de lectura y escritura que controla si las tareas recién bifurcadas se favorecen en la programación sobre sus tareas principales.
/proc/sys/kernel/sched_latency_ns Archivo de lectura y escritura que contiene la latencia máxima, en nanosegundos, en la que puede incurrir una tarea antes de ser programada.
/proc/sys/kernel/sched_rt_period_us Archivo de lectura y escritura que contiene la duración del período utilizado por el límite de ejecución de RT en todo el sistema en microsegundos.
/proc/sys/kernel/sched_rt_runtime_us Archivo de lectura y escritura que contiene la cantidad de tiempo, en relación con sched_rt_period_us, que el sistema puede ejecutar tareas RT.
/proc/sys/kernel/sched_tunable_scaling Archivo de lectura y escritura que controla si el programador debe ajustar automáticamente sched_latency_ns en función del número de CPU.
/proc/sys/kernel/sched_wakeup_granularity_ns Archivo de lectura y escritura que contiene cuánto más tiempo de ejecución virtual debe tener la tarea A que la tarea B en nanosegundos para que la tarea B se adelante.
/proc/sys/kernel/sysrq Archivo de lectura y escritura que controla las funciones que se pueden invocar mediante la tecla sysrq.
/proc/sys/net/* Directorio que contiene una variedad de parámetros de pila de red.
/proc/sysrq-trigger Archivo de solo escritura que se puede utilizar para iniciar funciones sysrq.
/proc/sys/vm/dirty_background_ratio Archivo de lectura y escritura que contiene, como porcentaje de la memoria total disponible (páginas libres y páginas recuperables), el número de páginas en las que los subprocesos de limpieza del núcleo en segundo plano comenzarán a escribir datos sucios.
/proc/sys/vm/dirty_expire_centisecs Archivo de lectura y escritura que define cuándo los datos sucios tienen la edad suficiente para ser elegibles para ser escritos por los subprocesos de limpieza del kernel.
/proc/sys/vm/drop_caches Archivo de lectura y escritura que se puede utilizar para forzar al kernel a eliminar cachés limpios.
/proc/sys/vm/extra_free_kbytes Archivo de lectura y escritura que se puede utilizar para mantener memoria libre adicional entre el umbral en el que se activa la recuperación en segundo plano (kswapd) y el umbral en el que se activa la recuperación directa (mediante la asignación de procesos). Este archivo es opcional; su contenido y permisos serán verificados en VTS sólo si el archivo está presente .
/proc/sys/vm/max_map_count Archivo de lectura-escritura que contiene el número máximo de áreas de mapa de memoria que puede tener un proceso.
/proc/sys/vm/mmap_min_addr Archivo de lectura y escritura que determina la dirección mínima que puede ser mmap 'd.
/proc/sys/vm/mmap_rnd_bits Archivo de lectura y escritura que especifica la cantidad de aleatoriedad en las direcciones mmap .
/proc/sys/vm/mmap_rnd_compat_bits Archivo de lectura y escritura que especifica la cantidad de aleatoriedad en las direcciones mmap .
/proc/sys/vm/overcommit_memory Archivo de lectura y escritura que determina el modo de contabilidad de la memoria virtual del kernel.
/proc/sys/vm/page-cluster Archivo de lectura y escritura que controla el número de páginas hasta las cuales se leen páginas consecutivas desde el intercambio en un solo intento.
/proc/uid_cputime/remove_uid_range Archivo de solo escritura que, cuando se escribe, elimina los UID para que no se muestren en /proc/uid_cputime/show_uid_stat .
/proc/uid_cputime/show_uid_stat Archivo de solo lectura que contiene el tiempo que los procesos de un UID pasaron en el espacio del usuario y del kernel.
/proc/uid_io/estadísticas Archivo de solo lectura que contiene una lista de estadísticas de E/S para cada UID en el sistema
/proc/uid_procstat/set Archivo de solo escritura utilizado para configurar un UID como primer plano o fondo.
/proc/uid_time_in_state Archivo de solo lectura que contiene el tiempo que los procesos de cada UID pasan ejecutándose en cada frecuencia disponible. Este archivo es opcional; su contenido y permisos serán verificados en VTS sólo si el archivo está presente .
/proc/tiempo de actividad Archivo de solo lectura que muestra cuánto tiempo ha estado funcionando el sistema.
/proc/versión Archivo de solo lectura que contiene una cadena que describe la versión del kernel.
/proc/vmallocinfo Archivo de solo lectura que contiene rangos vmalloc 'd.
/proc/vmstat Archivo de solo lectura que contiene estadísticas de memoria virtual del kernel.
/proc/zonainfo Archivo de solo lectura que contiene información sobre zonas de memoria.

desarrollador

Interfaz Descripción
/dev/ashmem Archivo de dispositivo de memoria compartida anónimo.
/dev/aglutinante Archivo de dispositivo de carpeta.
/dev/hwbinder Archivo de dispositivo de carpeta de hardware.
/dev/tun Archivo de dispositivo Universal TUN/TAP.
/dev/xt_qtaguid Archivo de dispositivo QTAGUID netfilter.

sistemas

Interfaz Descripción
/sys/class/net/*/mtu Archivo de lectura-escritura que contiene la unidad de transmisión máxima para cada interfaz.
/sys/class/rtc/*/hctosys Archivo de solo lectura que muestra si un rtc en particular proporciona la hora del sistema al iniciar y reanudar.
/sys/dispositivos/sistema/cpu/ Directorio que contiene información sobre la configuración y frecuencia de la CPU.
/sys/kernel/wakeup_reasons Directorio de archivos de solo lectura que contienen la última hora de suspensión y el motivo de la reanudación.
/sys/potencia/estado Archivo de lectura y escritura que controla los estados de suspensión del sistema.
/sys/power/wake_lock Archivo de lectura y escritura que contiene los bloqueos de activación activos.
/sys/power/wake_unlock Archivo de lectura y escritura que contiene bloqueos de activación no activos.
/sys/power/wakeup_count Archivo de lectura y escritura que se puede utilizar para poner el sistema en estado de suspensión teniendo en cuenta la llegada simultánea de eventos de activación.

selinuxfs

El marco monta selinuxfs en /sys/fs/selinux .

Camino Descripción
/sys/fs/selinux/checkreqprot Archivo de lectura/escritura que contiene un indicador binario que determina cómo se verifican las protecciones de Selinux en las llamadas mmap y mprotect .
/sys/fs/selinux/null Dispositivo nulo de lectura/escritura para uso de selinux.
/sys/fs/selinux/politica Archivo de solo lectura que contiene la política de selinux en formato binario.