Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Requisitos de interfaz

Esta página describe un subconjunto de las interfaces del kernel de Linux en las que se basa Android para funcionar correctamente. La presencia y la corrección de estas interfaces se prueban como parte del conjunto de pruebas de Vendor (VTS) . Este subconjunto crecerá con el tiempo para contener una mayor parte de las 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 aguas arriba prctl operaciones para las versiones del kernel compatibles, Android se basa en adicionales prctl operaciones, cuya aplicación se puede encontrar en el kernel de Android-común.

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 las interfaces que no existen en sentido ascendente, el comportamiento apropiado lo dicta la rama correspondiente del kernel común de Android.

procfs

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 / filesystems Los sistemas de archivos de lista de archivos de solo lectura son actualmente compatibles con el kernel.
/ proc / kmsg Archivo de solo lectura que muestra los mensajes del kernel en tiempo real.
/ proc / loadavg Archivo de solo lectura que muestra el promedio de carga de CPU y E / S a lo largo del tiempo.
/ proc / meminfo Archivo de solo lectura que muestra los detalles del subsistema de memoria.
/ proc / misc Archivo de solo lectura que enumera los controladores varios registrados en el dispositivo principal misceláneo.
/ proc / modules Archivo de solo lectura que contiene información sobre los módulos del kernel cargados.
/ proc / mounts Enlace simbólico a /proc/self/mounts , que es un archivo de lista de información de sólo lectura acerca del sistema de archivos montado.
/ 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 / pagetypeinfo Archivo de solo lectura que contiene información sobre el asignador de páginas.
/ proc / stat Archivo de solo lectura que contiene varias estadísticas del sistema y del kernel.
/ proc / swaps 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-escritura que determina el comportamiento de la instrucción ARM obsoleta 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-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-escritura que controla el modo de volcado de núcleo para setuid o binarios protegidos / contaminados de otra manera.
/ proc / sys / kernel / core_pattern Archivo de lectura y escritura que especifica el patrón de nombre de archivo de volcado del núcleo.
/ proc / sys / kernel / core_pipe_limit Archivo de lectura y escritura que define cuántos procesos fallidos simultáneos se pueden canalizar a las aplicaciones de 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 bloqueada. 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 Lectura y escritura de archivos que determina si los punteros del núcleo se imprimen en proc archivos 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 oops.
/ proc / sys / kernel / perf_event_max_sample_rate Archivo de lectura y escritura que controla la frecuencia máxima de muestreo de los 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 un nuevo ID aleatorio 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 ven favorecidas 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 utilizada por el límite de ejecución de RT de 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 debe tener la tarea A en tiempo de ejecución virtual que la tarea B en nanosegundos para que la tarea B se apropie de ella.
/ 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 usar 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 descarga del kernel 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 son lo suficientemente antiguos como para ser elegibles para ser escritos por los subprocesos de descarga del kernel.
/ proc / sys / vm / drop_caches Archivo de lectura y escritura que se puede usar para forzar al kernel a eliminar cachés limpios.
/ proc / sys / vm / extra_free_kbytes De archivos de lectura-escritura que se puede utilizar para mantener la memoria libre adicional entre el umbral en el fondo de recuperación (kswapd) entra en acción, y el umbral donde recuperación directa (mediante procesos de asignación de patadas) en 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 y 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ínimo que puede ser mmap 'd.
/ proc / sys / vm / mmap_rnd_bits De archivos de lectura-escritura que especifica la cantidad de aleatoriedad en mmap direcciones d'.
/ proc / sys / vm / mmap_rnd_compat_bits De archivos de lectura-escritura que especifica la cantidad de aleatoriedad en mmap direcciones d'.
/ 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 que se leen páginas consecutivas desde el intercambio en un solo intento.
/ proc / uid_cputime / remove_uid_range Sólo escritura de archivos que, cuando se escribe, elimina los UID de ser mostrado 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 / stats 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 en segundo plano.
/ 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 / uptime 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 sólo lectura que contiene vmalloc 'gamas d.
/ proc / vmstat Archivo de solo lectura que contiene estadísticas de memoria virtual del kernel.
/ proc / zoneinfo Archivo de solo lectura que contiene información sobre las zonas de memoria.

dev

Interfaz Descripción
/ dev / ashmem Archivo de dispositivo de memoria compartida anónimo.
/ dev / binder 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 de filtro de red QTAGUID.

sysfs

Interfaz Descripción
/ sys / class / net / * / mtu Archivo de lectura y escritura que contiene la unidad máxima de transmisión 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 / devices / system / cpu / Directorio que contiene información sobre la configuración y la 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 / power / state 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 un estado de suspensión teniendo en cuenta la llegada simultánea de eventos de activación.

selinuxfs

Los montajes marco selinuxfs en /sys/fs/selinux .

Sendero Descripción
/ sys / fs / selinux / checkreqprot De lectura / escritura de archivo que contiene un indicador binario que determina cómo protecciones SELinux se chequean en mmap y mprotect llamadas.
/ sys / fs / selinux / null Dispositivo nulo de lectura / escritura para uso de selinux.
/ sys / fs / selinux / policy Archivo de solo lectura que contiene la política selinux en formato binario.