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