Requisitos de la interfaz

En esta página, se describe un subconjunto de las interfaces del kernel de Linux en las que depende para funcionar correctamente. La presencia y la precisión de estas interfaces se probó como parte del paquete de pruebas de proveedores (VTS). Este subconjunto crecerá con el tiempo para contener una porción más grande de Interfaces del kernel de Android.

Llamadas al sistema

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

prctl

Además de las operaciones upstream prctl para asistencia versiones de kernel, Android se basa en operaciones prctl adicionales, el que se pueden encontrar en el kernel android-common.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

Sistemas de archivos

El kernel de Linux exporta interfaces mediante varios sistemas de archivos. Android espera estas interfaces para comunicar la misma información en el mismo formato proporcionan la misma semántica que en el kernel de Linux ascendente. Para las interfaces que no existen en sentido ascendente, el comportamiento adecuado es determinado por la del kernel común de Android.

procfs

Interfaz Descripción
/proc/asound/ Archivo de solo lectura que muestra la lista de controladores de ALSA configurados actualmente.
/proc/cmdline Archivo de solo lectura que contiene argumentos de línea de comandos pasados al kernel.
/proc/config.gz Archivo de solo lectura que contiene la configuración de compilación de 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 los dispositivos de bloques.
/proc/filesystems Sistemas de archivos de solo lectura que actualmente son 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 la carga promedio de E/S y CPU 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 varios controladores registrados en el varios dispositivos principales.
/proc/modules Es un archivo de solo lectura que contiene información sobre los módulos de kernel cargados.
/proc/mounts Vínculo simbólico a /proc/self/mounts, que es un archivo de solo lectura que muestra información sobre los sistemas de archivos activados.
/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 los sockets etiquetados.
/proc/pagetypeinfo Archivo de solo lectura que contiene información del asignador de página.
/proc/stat Archivo de solo lectura que contiene varias estadísticas de kernel y sistema.
/proc/swaps Archivo de solo lectura que muestra el uso del espacio de intercambio. Este archivo es opcional; su contenido y sus permisos se verifican en VTS solo si la está presente el archivo adjunto.
/proc/sys/abi/swp Archivo de lectura y escritura que determina el comportamiento del ARM obsoleto instrucción 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 vínculos duros.
/proc/sys/fs/protected_symlinks Archivo de lectura y escritura que controla el comportamiento de creación de caracteres enlaces.
/proc/sys/fs/suid_dumpable Archivo de lectura y escritura que controla el modo de volcado principal para setuid o de otro modo binarios protegidos/inundados.
/proc/sys/kernel/core_pattern Archivo de lectura y escritura que especifica el patrón de nombre de archivo de volcado principal.
/proc/sys/kernel/core_pipe_limit Archivo de lectura y escritura que define cuántos procesos con fallas simultáneos pueden canalizarse a las apps de usuario en paralelo.
/proc/sys/kernel/dmesg_restrict Archivo de lectura y escritura que controla si pueden acceder los usuarios sin privilegios dmesg.
/proc/sys/kernel/domainname Archivo de lectura y escritura que contiene el nombre de dominio YP/NIS del sistema.
/proc/sys/kernel/hostname 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 que se usa para determinar cuándo se realiza una tarea no es receptivo y debe considerarse suspendido. Este archivo es opcional; su contenido y sus permisos se verifican en VTS solo si está presente el archivo.
/proc/sys/kernel/kptr_restrict Archivo de lectura y escritura que determina si los punteros del kernel se imprimen en proc y otras interfaces.
/proc/sys/kernel/modules_disabled Es un archivo de lectura y escritura que controla si se pueden cargar los módulos de kernel.
/proc/sys/kernel/panic_on_oops Es un archivo de lectura y escritura que controla el comportamiento del kernel en cualquier operación.
/proc/sys/kernel/perf_event_max_sample_rate Archivo de lectura y escritura que controla la tasa de muestreo máxima del rendimiento eventos.
/proc/sys/kernel/perf_event_paranoid Archivo de lectura y escritura que controla el uso del sistema de eventos de rendimiento por usuarios sin privilegios.
/proc/sys/kernel/pid_max Archivo de lectura y escritura que contiene el valor de unión 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 la dirección para el sistema.
/proc/sys/kernel/sched_child_runs_first Archivo de lectura y escritura que controla si se favorecen las tareas recién bifurcadas programar por encima de las tareas principales.
/proc/sys/kernel/sched_latency_ns Archivo de lectura y escritura que contiene la latencia máxima, en nanosegundos, para una tarea puede incurrir antes de la programación.
/proc/sys/kernel/sched_rt_period_us Archivo de lectura y escritura que contiene la duración del período que usa el RT de todo el sistema de ejecución 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 de RT.
/proc/sys/kernel/sched_tunable_scaling Archivo de lectura y escritura que controla si sched_Latency_ns se debe que el programador ajusta automáticamente según la cantidad de CPU.
/proc/sys/kernel/sched_wakeup_granularity_ns Archivo de lectura y escritura que contiene cuánto más debe agregar la tarea A del entorno de ejecución virtual que la tarea B en nanosegundos para la tarea B para interrumpirla.
/proc/sys/kernel/sysrq Archivo de lectura y escritura que controla las funciones que se pueden invocar a través del clave sysrq.
/proc/sys/net/* Directorio que contiene una variedad de parámetros de pila de red.
/proc/sysrq-trigger Es un 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 un porcentaje de la memoria total disponible, (páginas gratuitas y páginas reclamables), el número de páginas en las que los los subprocesos de limpieza de kernel en segundo plano comienzan a escribir datos sucios.
/proc/sys/vm/dirty_expire_centisecs Archivo de lectura y escritura que define cuándo los datos sucios tienen la antigüedad suficiente para ser aptos para escribir mediante los subprocesos de limpieza de kernel.
/proc/sys/vm/drop_caches Es un archivo de lectura y escritura que se puede usar para hacer que el kernel se descarte. cachés.
/proc/sys/vm/extra_free_kbytes Archivo de lectura y escritura que se puede usar para mantener memoria libre adicional entre el umbral en el que se activa la recuperación de segundo plano (kswapd) y el umbral donde se activa la recuperación directa (mediante la asignación de procesos). Este archivo es opcional; su contenido y sus permisos se verifican en VTS solo si está presente el archivo.
/proc/sys/vm/max_map_count Archivo de lectura y escritura que contiene la cantidad máxima de áreas de un mapa de memoria puede tener.
/proc/sys/vm/mmap_min_addr Archivo de lectura y escritura que determina la dirección mínima que puede mmap lo hicieron.
/proc/sys/vm/mmap_rnd_bits Archivo de lectura y escritura que especifica la cantidad de aleatorización en Direcciones de mmap.
/proc/sys/vm/mmap_rnd_compat_bits Archivo de lectura y escritura que especifica la cantidad de aleatorización en Direcciones de mmap.
/proc/sys/vm/overcommit_memory Archivo de lectura y escritura que determina la contabilización de la memoria virtual del kernel .
/proc/sys/vm/page-cluster Archivo de lectura y escritura que controla la cantidad de páginas hasta las que las páginas consecutivas se leen desde el intercambio en un solo intento.
/proc/uid_cputime/remove_uid_range Archivo de solo escritura que, cuando se escribe, quita los UIDs 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 dedicaron a las actividades de usuario y espacio de 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 Es un archivo de solo escritura que se usa para configurar un UID en primer o segundo plano.
/proc/uid_time_in_state Archivo de solo lectura que contiene el tiempo que dedican los procesos de cada UID a la ejecución: cada frecuencia disponible. Este archivo es opcional. su contenido y Los permisos se verifican en VTS solo si el archivo está presente.
/proc/uptime Archivo de solo lectura que muestra cuánto tiempo ha estado ejecutándose el sistema.
/proc/version Archivo de solo lectura que contiene una cadena que describe la versión de kernel.
/proc/vmallocinfo Archivo de solo lectura que contiene los rangos de vmalloc.
/proc/vmstat Archivo de solo lectura que contiene estadísticas de la memoria virtual del kernel.
/proc/zoneinfo Archivo de solo lectura que contiene información sobre las zonas de memoria.

desarrollo

Interfaz Descripción
/dev/ashmem Archivo anónimo del dispositivo de memoria compartida.
/dev/binder Archivo del dispositivo Binder.
/dev/hwbinder Archivo del dispositivo de Binder de hardware.
/dev/tun Archivo de dispositivo universal TUN/TAP.
/dev/xt_qtaguid Archivo de dispositivo netfilter de QTAGUID.

sysfs

Interfaz Descripción
/sys/class/net/*/mtu Archivo de lectura y escritura que contiene la unidad de transmisión máxima para cada una interfaz de usuario.
/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 de la CPU y frecuencia.
/sys/kernel/wakeup_reasons Directorio de archivos de solo lectura que contienen la hora de suspensión y la reanudación más recientes y por una buena razó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 usar para poner el sistema en un estado de suspensión y consideran la llegada simultánea de eventos de activación.

selinuxf

El framework activa selinuxfs en /sys/fs/selinux.

Ruta Descripción
/sys/fs/selinux/checkreqprot Archivo de lectura/escritura que contiene una marca binaria que determina cómo selinux se verifican las protecciones en las llamadas mmap y mprotect.
/sys/fs/selinux/null Dispositivo nulo de lectura/escritura para que lo use selinux
/sys/fs/selinux/policy Archivo de solo lectura que contiene la política selinux en formato binario.