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