O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Requisitos de interface

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

Chamadas de 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 montante prctl operações para as versões do kernel suportados, Android conta com adicionais prctl operações, a implementação do que pode ser encontrado no kernel android-comum.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

Sistemas de arquivos

O kernel do Linux exporta interfaces por meio 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 do kernel Linux upstream. Para interfaces que não existem no upstream, o comportamento apropriado é ditado pela ramificação correspondente do kernel comum do Android.

procfs

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 ​​para o kernel.
/proc/config.gz Arquivo somente leitura contendo a 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 / filesystems Arquivos somente leitura que listam os sistemas de arquivos atualmente suportados pelo kernel.
/ proc / kmsg Arquivo somente leitura mostrando mensagens do kernel em tempo real.
/ proc / loadavg Arquivo somente leitura mostrando a média de carga de CPU e E / S ao longo do tempo.
/ proc / meminfo Arquivo somente leitura mostrando detalhes do subsistema de memória.
/ proc / misc Arquivo somente leitura que lista drivers diversos registrados no dispositivo principal diverso.
/ proc / modules Arquivo somente leitura contendo informações sobre os módulos do kernel carregados.
/ proc / mounts Link simbólico para /proc/self/mounts , que é um arquivo de listagem informações somente leitura sobre o sistema de arquivos montado.
/ proc / net Diretório contendo uma variedade de parâmetros de pilha de rede.
/ proc / net / xt_qtaguid / Arquivo de leitura e gravação que fornece informações sobre sockets marcados.
/ proc / pagetypeinfo Arquivo somente leitura contendo informações do alocador de página.
/ proc / stat Arquivo somente leitura contendo várias estatísticas do kernel e do sistema.
/ proc / swaps Arquivo somente leitura mostrando a utilização do espaço de troca. Este arquivo é opcional; o seu conteúdo e as permissões serão verificadas em VTS somente se o arquivo está presente.
/ proc / sys / abi / swp Arquivo de leitura e gravação que determina o comportamento da obsoleta instrução ARM SWP.
/ proc / sys / fs / pipe-max-size Arquivo de leitura e gravação que relata 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 despejo de núcleo para setuid ou binários protegidos / contaminados.
/ proc / sys / kernel / core_pattern Arquivo de leitura e 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 os 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 / domainname Arquivo de leitura e gravação que contém o nome de domínio YP / NIS do sistema.
/ proc / sys / kernel / hostname Arquivo de leitura e gravação que determina o nome do host do sistema.
/ proc / sys / kernel / hung_task_timeout_secs Arquivo de leitura e gravação que controla o tempo limite usado para determinar quando uma tarefa deixou de responder e deve ser considerada interrompida. Este arquivo é opcional; o seu conteúdo e as permissões serão verificadas em VTS somente se o arquivo está presente.
/ proc / sys / kernel / kptr_restrict Leitura e escrita de arquivos que determina se os ponteiros do kernel são impressos em proc arquivos 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 agrupamento de alocação de PID.
/ proc / sys / kernel / random / boot_id Arquivo somente leitura que contém uma nova ID aleatória em cada inicialização.
/ proc / sys / kernel / randomize_va_space Arquivo de leitura e gravação que determina a política de randomização do layout de endereço para o sistema.
/ proc / sys / kernel / sched_child_runs_first Arquivo de leitura e 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, em que uma tarefa pode ocorrer antes de ser agendada.
/ proc / sys / kernel / sched_rt_period_us Arquivo de leitura e gravação que contém a duração do período usado pelo limite de execução RT de todo o sistema em microssegundos.
/ proc / sys / kernel / sched_rt_runtime_us Arquivo de leitura e gravação que contém a quantidade de tempo, em relação 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 planejador com base no número de CPUs.
/ proc / sys / kernel / sched_wakeup_granularity_ns Arquivo de leitura e gravação que contém o quanto a tarefa de tempo de execução virtual A deve ter a mais do que a tarefa B em nanossegundos para que a tarefa B a substitua.
/ proc / sys / kernel / sysrq Arquivo de leitura e gravação que controla as funções que podem ser chamadas por meio da chave sysrq.
/ proc / sys / net / * Diretório contendo 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 e gravação que contém, como uma porcentagem do total de memória disponível (páginas livres e páginas recuperáveis), o número de páginas nas quais os threads de limpeza do kernel de segundo plano começarão a gravar dados sujos.
/ proc / sys / vm / dirty_expire_centisecs Arquivo de leitura e gravação que define quando os dados sujos são antigos o suficiente para serem qualificados 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 e escrita que pode ser usado para manter a memória livre adicional entre o limiar onde recuperação de fundo (kswapd) entra em ação, e o limiar onde recuperação direta (através da atribuição de processos) entra em ação Este arquivo é opcional.; o seu conteúdo e as permissões serão verificadas em VTS somente se o arquivo está presente.
/ proc / sys / vm / max_map_count Arquivo de leitura e gravação que contém o número máximo de áreas de mapa de memória que um processo pode ter.
/ proc / sys / vm / mmap_min_addr Leitura e escrita de arquivos que determina o endereço mínimo que pode ser mmap d'.
/ proc / sys / vm / mmap_rnd_bits Arquivo de leitura e escrita que especifica a quantidade de aleatoriedade em mmap d endereços'.
/ proc / sys / vm / mmap_rnd_compat_bits Arquivo de leitura e escrita que especifica a quantidade de aleatoriedade em mmap d endereços'.
/ 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 e gravação que controla o número de páginas até as quais páginas consecutivas são lidas na troca em uma única tentativa.
/ proc / uid_cputime / remove_uid_range Write-único arquivo que, quando escrito, remove UIDs sejam mostradas em /proc/uid_cputime/show_uid_stat .
/ proc / uid_cputime / show_uid_stat Arquivo somente leitura contendo o tempo gasto pelos processos de um UID no espaço do usuário e do kernel.
/ proc / uid_io / stats Arquivo somente leitura contendo uma lista de estatísticas de I / O 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 UID gasta em execução em cada frequência disponível. Este arquivo é opcional; o seu conteúdo e as permissões serão verificadas em VTS somente se o arquivo está presente.
/ proc / uptime Arquivo somente leitura que mostra há quanto tempo o sistema está em execução.
/ proc / version Arquivo somente leitura contendo uma string que descreve a versão do kernel.
/ proc / vmallocinfo Somente leitura de arquivo contendo vmalloc 'd intervalos.
/ 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.

dev

Interface Descrição
/ dev / ashmem Arquivo de dispositivo de memória compartilhada anônima.
/ dev / binder Arquivo de dispositivo de fichário.
/ dev / hwbinder Arquivo de dispositivo de fichário de hardware.
/ dev / tun Arquivo de dispositivo universal TUN / TAP.
/ dev / xt_qtaguid Arquivo de dispositivo de filtro de rede 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 / devices / system / cpu / Diretório contendo informações sobre a configuração e frequência da CPU.
/ sys / kernel / wakeup_reasons Diretório de arquivos somente leitura contendo a última hora de suspensão e o motivo de retomada.
/ sys / power / state Arquivo de leitura e gravação que controla os estados de hibernaçã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 inativos.
/ sys / power / wakeup_count Arquivo de leitura e gravação que pode ser usado para colocar o sistema em um estado de hibernação, levando em consideração a chegada simultânea de eventos de ativação.

Selinuxfs

O quadro monta selinuxfs em /sys/fs/selinux .

Caminho Descrição
/ sys / fs / selinux / checkreqprot Leitura / gravação do arquivo que contém uma bandeira binário que determina a proteção do SELinux são verificados em mmap e mprotect chamadas.
/ 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.