Requisitos de interface

Esta página descreve um subconjunto das interfaces do kernel Linux nas quais o Android depende para funcionar corretamente. A presença e a exatidão dessas interfaces são testadas como parte do Vendor Test Suite (VTS) . Este subconjunto crescerá com o tempo para conter uma porção maior de interfaces do kernel do Android.

Chamadas do sistema

Espera-se que todas as chamadas do sistema forneçam as mesmas assinaturas e semânticas do kernel Linux upstream da mesma versão.

prctl

Além das operações prctl upstream para versões de kernel suportadas, o Android depende de operações prctl adicionais, cuja implementação pode ser encontrada no kernel android-common.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

Sistemas de arquivos

O kernel Linux exporta interfaces através de vários sistemas de arquivos. O Android espera que essas interfaces comuniquem as mesmas informações, no mesmo formato, e forneçam a mesma semântica que no kernel Linux upstream. Para interfaces que não existem no upstream, o comportamento apropriado é ditado pela ramificação correspondente do kernel comum do Android.

procf

Interface Descrição
/proc/asound/ Arquivo somente leitura mostrando a lista de drivers ALSA atualmente configurados.
/proc/cmdline Arquivo somente leitura contendo argumentos de linha de comando passados ​​ao kernel.
/proc/config.gz Arquivo somente leitura contendo configuração de compilação do kernel.
/proc/cpuinfo Arquivo somente leitura contendo detalhes de CPU específicos da arquitetura.
/proc/diskstats Arquivo somente leitura mostrando estatísticas de E/S de dispositivos de bloco.
/proc/sistemas de arquivos Arquivos somente leitura listando sistemas de arquivos atualmente suportados pelo kernel.
/proc/kmsg Arquivo somente leitura mostrando mensagens do kernel em tempo real.
/proc/carregaravg Arquivo somente leitura mostrando a média de carga de CPU e IO ao longo do tempo.
/proc/meminfo Arquivo somente leitura mostrando detalhes do subsistema de memória.
/proc/misc Arquivo somente leitura listando diversos drivers registrados nos diversos dispositivos principais.
/proc/módulos Arquivo somente leitura contendo informações sobre módulos do kernel carregados.
/proc/montagens Link simbólico para /proc/self/mounts , que é um arquivo somente leitura que lista informações sobre os sistemas de arquivos montados.
/proc/rede Diretório que contém uma variedade de parâmetros de pilha de rede.
/proc/net/xt_qtaguid/ Arquivo de leitura e gravação que fornece informações sobre soquetes marcados.
/proc/pagetypeinfo Arquivo somente leitura contendo informações do alocador de páginas.
/proc/stat Arquivo somente leitura contendo várias estatísticas do kernel e do sistema.
/proc/trocas Arquivo somente leitura mostrando a utilização do espaço de troca. Este arquivo é opcional; seu conteúdo e permissões serão verificados no VTS somente se o arquivo estiver presente .
/proc/sys/abi/swp Arquivo de leitura e gravação que determina o comportamento da instrução ARM obsoleta SWP.
/proc/sys/fs/pipe-max-size Arquivo de leitura/gravação que informa o tamanho máximo, em bytes, de um buffer de pipe individual.
/proc/sys/fs/protected_hardlinks Arquivo de leitura e gravação que controla o comportamento de criação de links físicos.
/proc/sys/fs/protected_symlinks Arquivo de leitura e gravação que controla o comportamento de criação de links simbólicos.
/proc/sys/fs/suid_dumpable Arquivo de leitura e gravação que controla o modo de dump principal para setuid ou binários protegidos/contaminados.
/proc/sys/kernel/core_pattern Arquivo de leitura-gravação que especifica o padrão de nome de arquivo de dump principal.
/proc/sys/kernel/core_pipe_limit Arquivo de leitura e gravação que define quantos processos de travamento simultâneos podem ser canalizados para aplicativos do usuário em paralelo.
/proc/sys/kernel/dmesg_restrict Arquivo de leitura e gravação que controla se usuários sem privilégios podem acessar o dmesg.
/proc/sys/kernel/nomedodomínio Arquivo de leitura e gravação que contém o nome de domínio YP/NIS do sistema.
/proc/sys/kernel/nome do host Arquivo de leitura e gravação que determina o nome do host do sistema.
/proc/sys/kernel/hung_task_timeout_secs Arquivo de leitura-gravação que controla o tempo limite usado para determinar quando uma tarefa deixou de responder e deve ser considerada interrompida. Este arquivo é opcional; seu conteúdo e permissões serão verificados no VTS somente se o arquivo estiver presente .
/proc/sys/kernel/kptr_restrict Arquivo de leitura e gravação que determina se os ponteiros do kernel são impressos em arquivos proc e outras interfaces.
/proc/sys/kernel/modules_disabled Arquivo de leitura e gravação que controla se os módulos do kernel podem ser carregados.
/proc/sys/kernel/panic_on_oops Arquivo de leitura e gravação que controla o comportamento do kernel em oops.
/proc/sys/kernel/perf_event_max_sample_rate Arquivo de leitura e gravação que controla a taxa máxima de amostragem de eventos de desempenho.
/proc/sys/kernel/perf_event_paranoid Arquivo de leitura e gravação que controla o uso do sistema de eventos de desempenho por usuários sem privilégios.
/proc/sys/kernel/pid_max Arquivo de leitura e gravação que contém o valor de quebra de alocação do PID.
/proc/sys/kernel/random/boot_id Arquivo somente leitura que contém um novo ID aleatório em cada inicialização.
/proc/sys/kernel/randomize_va_space Arquivo de leitura e gravação que determina a política de randomização de layout de endereço para o sistema.
/proc/sys/kernel/sched_child_runs_first Arquivo de leitura-gravação que controla se as tarefas recém-bifurcadas são favorecidas no agendamento em relação às tarefas pai.
/proc/sys/kernel/sched_latency_ns Arquivo de leitura e gravação que contém a latência máxima, em nanossegundos, que uma tarefa pode sofrer antes de ser agendada.
/proc/sys/kernel/sched_rt_period_us Arquivo de leitura-gravação que contém a duração do período usado pelo limite de execução de RT em todo o sistema em microssegundos.
/proc/sys/kernel/sched_rt_runtime_us Arquivo de leitura-gravação que contém a quantidade de tempo, relativa a sched_rt_period_us, que o sistema pode executar tarefas RT.
/proc/sys/kernel/sched_tunable_scaling Arquivo de leitura e gravação que controla se sched_latency_ns deve ser ajustado automaticamente pelo agendador com base no número de CPUs.
/proc/sys/kernel/sched_wakeup_granularity_ns Arquivo de leitura-gravação que contém quanto mais a tarefa de tempo de execução virtual A deve ter do que a tarefa B em nanossegundos para que a tarefa B a preempte.
/proc/sys/kernel/sysrq Arquivo de leitura e gravação que controla as funções que podem ser invocadas por meio da chave sysrq.
/proc/sys/net/* Diretório que contém uma variedade de parâmetros de pilha de rede.
/proc/sysrq-trigger Arquivo somente gravação que pode ser usado para iniciar funções sysrq.
/proc/sys/vm/dirty_background_ratio Arquivo de leitura-gravação que contém, como uma porcentagem da memória total disponível (páginas livres e páginas recuperáveis), o número de páginas nas quais os threads de limpeza do kernel em segundo plano começarão a gravar dados sujos.
/proc/sys/vm/dirty_expire_centisecs Arquivo de leitura-gravação que define quando os dados sujos têm idade suficiente para serem elegíveis para gravação pelos threads de liberação do kernel.
/proc/sys/vm/drop_caches Arquivo de leitura e gravação que pode ser usado para forçar o kernel a descartar caches limpos.
/proc/sys/vm/extra_free_kbytes Arquivo de leitura-gravação que pode ser usado para manter memória extra livre entre o limite onde a recuperação em segundo plano (kswapd) entra em ação e o limite onde a recuperação direta (alocando processos) entra em ação. Este arquivo é opcional; seu conteúdo e permissões serão verificados no VTS somente se o arquivo estiver presente .
/proc/sys/vm/max_map_count Arquivo de leitura e gravação que contém o número máximo de áreas do mapa de memória que um processo pode ter.
/proc/sys/vm/mmap_min_addr Arquivo de leitura e gravação que determina o endereço mínimo que pode ser mmap 'd.
/proc/sys/vm/mmap_rnd_bits Arquivo de leitura e gravação que especifica a quantidade de aleatoriedade nos endereços mmap 'd.
/proc/sys/vm/mmap_rnd_compat_bits Arquivo de leitura e gravação que especifica a quantidade de aleatoriedade nos endereços mmap 'd.
/proc/sys/vm/overcommit_memory Arquivo de leitura e gravação que determina o modo de contabilidade da memória virtual do kernel.
/proc/sys/vm/page-cluster Arquivo de leitura-gravação que controla o número de páginas até as quais páginas consecutivas são lidas a partir da troca em uma única tentativa.
/proc/uid_cputime/remove_uid_range Arquivo somente gravação que, quando gravado, remove UIDs de serem mostrados em /proc/uid_cputime/show_uid_stat .
/proc/uid_cputime/show_uid_stat Arquivo somente leitura contendo o tempo que os processos de um UID gastaram no espaço do usuário e do kernel.
/proc/uid_io/stats Arquivo somente leitura contendo uma lista de estatísticas de E/S para cada UID no sistema
/proc/uid_procstat/set Arquivo somente gravação usado para configurar um UID como primeiro ou segundo plano.
/proc/uid_time_in_state Arquivo somente leitura contendo o tempo que cada processo do UID gasta em execução em cada frequência disponível. Este arquivo é opcional; seu conteúdo e permissões serão verificados no VTS somente se o arquivo estiver presente .
/proc/tempo de atividade Arquivo somente leitura que mostra há quanto tempo o sistema está em execução.
/proc/versão Arquivo somente leitura contendo uma string que descreve a versão do kernel.
/proc/vmallocinfo Arquivo somente leitura contendo intervalos vmalloc 'd.
/proc/vmstat Arquivo somente leitura contendo estatísticas de memória virtual do kernel.
/proc/zoneinfo Arquivo somente leitura contendo informações sobre zonas de memória.

desenvolvedor

Interface Descrição
/dev/ashmem Arquivo anônimo de dispositivo de memória compartilhada.
/dev/fichário Arquivo de dispositivo fichário.
/dev/hwbinder Arquivo de dispositivo de ligação de hardware.
/dev/tun Arquivo de dispositivo universal TUN/TAP.
/dev/xt_qtaguid Arquivo do dispositivo netfilter QTAGUID.

sysfs

Interface Descrição
/sys/class/net/*/mtu Arquivo de leitura e gravação contendo a unidade máxima de transmissão para cada interface.
/sys/class/rtc/*/hctosys Arquivo somente leitura que mostra se um determinado rtc fornece a hora do sistema na inicialização e na retomada.
/sys/dispositivos/sistema/cpu/ Diretório contendo informações sobre configuração e frequência da CPU.
/sys/kernel/wakeup_reasons Diretório de arquivos somente leitura contendo o horário da última suspensão e o motivo da retomada.
/sys/potência/estado Arquivo de leitura e gravação que controla os estados de suspensão do sistema.
/sys/power/wake_lock Arquivo de leitura e gravação que contém os wake locks ativos.
/sys/power/wake_unlock Arquivo de leitura e gravação que contém wake locks não ativos.
/sys/power/wakeup_count Arquivo de leitura-gravação que pode ser usado para colocar o sistema em estado de suspensão, levando em consideração a chegada simultânea de eventos de ativação.

selinuxfs

A estrutura monta o selinuxfs em /sys/fs/selinux .

Caminho Descrição
/sys/fs/selinux/checkreqprot Arquivo de leitura/gravação contendo um sinalizador binário que determina como as proteções do selinux são verificadas nas chamadas mmap e mprotect .
/sys/fs/selinux/null Dispositivo nulo de leitura/gravação para uso pelo selinux.
/sys/fs/selinux/policy Arquivo somente leitura contendo a política selinux em formato binário.