Por dentro da linguagem do OS Android: "Governor" e "I/O Scheduler"

Por dentro da linguagem do OS Android: "Governor" e "I/O Scheduler"

Quando fazemos o root, trocamos a ROM ou o Kernel originais de um aparelho Android pela primeira vez, quase todos temos a mesma reação, vamos ver quais foram as novas funções adicionadas no aparelho e, em muitos casos, nos deparamos com o aplicativo No-frills CPU Control/Controle Simples da CPU, ilustrado na imagem abaixo. E agora, o que fazer? O que significa cada uma destas opções? Como eu também passei por isso, aqui segue uma explicação sobre o que é, para quê serve e como utilizar as opções "Governor" e "I/O Scheduler" deste aplicativo.

Governador i o scheduler
Entenda algumas das opções do aplicativo Controle Simples da CPU. / © NextPit

Em primeiro lugar, saiba que é através desse App que você faz o oveclock no aparelho, se disponível. O que a maioria não sabe é que usando a combinação certa de "Governor" e "I/O Scheduler", se pode aumentar o desenpenho do aparelho ou diminuir o consumo da bateria entre outras funções.

GOVERNOR

Atualmente, no kernel CoCoRe 4.0 temos 20 "Governors", mas o que são? A grosso modo pode se dizer que são scripts que governam como a CPU vai se comportar em cada situação durante o manuseio do aparelho. Aqui vou falar de uma forma simples sobre os mais comuns:

1 - ONDEMAND

A principal característica deste "Governor" é a rapidez com que ele sai da frequência mínima de trabalho da CPU para a frequência máxima ao se iniciar uma tarefa e, após o término ele retorna aos poucos para a frequência mínima novamente. Este "Governor" é quase que padrão de fábrica nos aparelhos devido ao salto quase que instantâneo do mínimo para o máximo de frequência da CPU, com isso temos aquela rapidez e fluidez que tanto adoramos e procuramos, só que isso implica diretamente na duração da bateria.

2 - ONDEMAND 2

Supostamente o Ondemand 2 é mais amigável para a bateria, pois quando esta com a tela desligada, se um app que funcione em segundo plano exigir da CPU, ele não irá ao máximo da CPU como o outro, só irá até 500mhz.

3 - PERFORMANCE

Esse "Governor" bloqueia a CPU em frequência máxima, o que nem sempre se traduz em rapidez pelos testes que fiz, fora que o consumo de bateria é alto.

4 - POWERSAVE

Ao contrário do anterior, o Powersave, como o nome já diz, bloqueia a CPU em frequência mínima e poupa bateria, mas derruba a performance do aparelho.

5 - CONSERVATIVE

Esse "Governor" tem preferência pela frequência mínima, ou seja, ele demora para chegar ao máximo da CPU, mas volta imediatamente para o mínimo, é considerado um "Ondemand" lento, para se ter uma ideia.

6 - USERSPACE

Este "Governor" excepcionalmente raro para o mundo dos dispositivos móveis, permite que qualquer programa executado pelo usuário defina a frequência da CPU. Este "Governor" é mais comum entre servidores ou desktops, onde a aplicação (como um aplicativo de perfil de energia) precisa de privilégios para definir a velocidade de clock da CPU.

7 - MINMAX

Bom, o nome já dá uma idéia do que seja, este "Governor" usa só o mínimo e o máximo de frequência, logo, não usa frequências intermediárias.

8 - INTERACTIVE

Muito parecido com o "Ondemand", este "Governor" tem escalas de frequências definidas pelo programador do kernel, o que significa que ele se ajusta melhor à demanda de serviço da CPU imposta pelo usuário, só indo a frequência máxima se realmente necessário, isso implica na vida útil e na durabilidade da bateria.

9 - SMARTASS

Outro "Governor" interativo que tem como diferencial a frequência máxima de operação com tela desligada/em repouso de 352mhz, o que influencia também na duração da bateria.

10 - SMARTASS V2

Esta é a segunda versão do "Smartass", onde se dá prioridade ao equilibrio desempenho/consumo.

11 - SCARY

É um "Governor" conservador, que sempre dá preferência para as frequências mais baixas, tendo um limite de frequência com tela desligada de 245mhz, mesmo que você tenha definido uma frequência mínima superior a esta.

12 - LAGSFREE

O "Lagsfree" é um "Governor" que utiliza uma escala pré-definida de frequências para subir ao 100% da CPU, teoricamente, é mais amigável para a bateria, mas existem relatos de que para reprodução de videos é lento.

13 - BRASILIANWAX

Este é semelhante ao "Smartass v2", mas com uma rampa de frequência mais agressiva, o que implica maior consumo de bateria.

14 - INTELLIDEMAND

Com base no "Ondemand", com a diferença de que ele se baseia na carga de trabalho da GPU do aparelho, este "Governor" equlibra a escalada da frequência da CPU conforme a GPU necessitar, é basicamente um "Ondemand" inteligente.

15 - HOTPLUG

É semelhante ao "Ondemand", com o diferencial que ele tem a capacidade de desligar um núcleo do processador, quando o sistema estiver ocioso e reinicia-lo imediatamente quando exigido, é obivio que só funciona em aparelhos multicore.

I/O SCHEDULER

De uma forma simples, o "I/O Scheduler" é como o kernel controla o acesso ao disco rígido. Assim como o "Governor" existem alguns "I/O's" mais comuns que se apresentam nos nossos smartphones:

1 - NOOP

Coordena os dados I/O solicitados ao disco, sendo que se adecua melhor com unidades flash como é o caso dos smarphones.

Vantagens: Serve solicitações de I/O com menor número de ciclos da CPU (mais amigavel para a bateria).

Desvantagens: A redução do número de ciclos de CPU utilizada é proporcional à queda de desempenho.

2 - DEADLINE

Basicamente é um super organizador de I/O, diminuindo assim a latência (atraso) na solicitação de uma informação. Isso se consegue através de um rodizio de I/O's solicitados, para ser justo entre vários pedidos.

Vantagens: Quase um programador em tempo real, melhor planejador para acesso e consulta de dados.

Desvantagens: Quando o sistema está sobrecarregado, conjunto de processos que podem perder prazo é largamente imprevisível.

3 - CFQ

Um programador escalonado, tenta distribuir a mesma "fatia" de tempo para cada solicitação de I/O.

Vantagens: Desempenho de I/O mais equilibrado, se ajustando melhor em multicores.

Desvantagens: Solicitações de I/O multimídias pondem ser mais lentas, devido a distribuição de tempos iguais para todas as solicitações.

4 - BFQ

Em vez de fatias de tempo, ele distribui "orçamentos" (números de setores em disco), para as solicitações de I/O.

Vantagens: Melhor desenpenho na transferência de dados pelo USB, considerado um programador de I/O preciso.

Desvantagens: Não obtem melhor desenpenho geral em benchmark e um orçamento muito grande pode gerar uma certa latência.

5 - SIO

Faz o agendamento de I/O's simples, tem como objetivo manter o mínimo de sobrecarga para atender as solicitações.

Vantagens: Simples e confiável.

Desvantagens: Leitura em drives flash é inferior aos outros I/O schedulers.

6 - V(R)

Basicamente é um gerenciador de I/O por ordem de chegada, o primeiro da fila é o primeiro a ser atendido.

Vantagens: Pode ser melhor para o benchmarking, pois no auge da sua "forma" VR tem o melhor desempenho.

Desvantagens: Menos confiável, mais instável.

Qual é a melhor combinação de Governos e I/O Scheduler?

Bom, isto depende do perfil do usuário, do kernel do aaprelho, so processador e por aí vai. Como disse lá no início, é na experimentação que você irá descobrir qual o melhor para você, lembrando que ainda existem apps nos quais se pode programar perfis diferenciados para cada hora do dia e da noite, nos horários onde você mais exige do sistema ou não, como não ligo muito para a duração de bateria, uso um perfil bem agressivo e de alta performance, mas de alto consumo, e você? Qual é o seu perfil? Deixe-nos saber a sua opinião nos comentários abaixo.

Artigo seguinte
35 Comentários
Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.
Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.

  • 42
    Conta desativada 05/07/2017 Link para o comentário

    Ainda não aprendi ¬¬


  • Evandro de a. 1
    Evandro de a. 08/04/2017 Link para o comentário

    Pra mim tem que ter um baixo consumo de bateria e rapidez no desenpenho do cel...vou estudar com mais calma qual desses perfis perfis eu vou usar.alquem tem uma dica pra mim usar?tenho um lg g3 e preciso de economia na bateria......


    • Silas Inácio 1
      Silas Inácio 15/12/2017 Link para o comentário

      Interactive e maple ou zen


  • Luan Vaz 1
    Luan Vaz 07/12/2016 Link para o comentário

    Esse artigo me salvou! já não sabia mais o que fazer!


  • Bruno Luna 3
    Bruno Luna 06/12/2016 Link para o comentário

    Como você está jogando enraizado ?


  • Patrick Andrew 2
    Patrick Andrew 10/08/2016 Link para o comentário

    A melhor combinação para desempenho para rodar Pokemon GO que encontrei foi =>

    Governor: Performace e I/O scheduler: Deadline

    Deixou o jogo extremamente mais suave e beleza, rodando em um Alcatel Pop C7 com sistema MIUI 7. Porem! na hora de jogar, a bateria esgotou 50% em cerca de meia hora.

    SunAngel


    • SunAngel 3
      SunAngel 05/10/2016 Link para o comentário

      Oi. Como você joga o Pokémon. Se não permite usar em celular enraizado? Aqui eu não consigo.


    • Bruno Luna 3
      Bruno Luna 06/12/2016 Link para o comentário

      Como você está jogando enraizado ?


  • VictorDunguinha 28
    VictorDunguinha 09/06/2016 Link para o comentário

    Valeu ajudo muito, deixava só dois dos núcleos ativos e n via resultado na batéria, pq ficavam sempre no seu máximo, agora que entendi como funciona os governor, deu pra regular pra ter mais núcleos mas rodando numa potência menor


  • 7
    Roberto Melo 04/02/2016 Link para o comentário

    Caí na besteira de pesquisar BRASILIANWAX no Google... O.o

    Dyego Santos


  • 1
    Rafael Netto 18/06/2015 Link para o comentário

    Qual o melhor para fazer esse controle o SetCpu ou esse controle simples de cpu?


  • Toni Junior 21
    Toni Junior 27/04/2015 Link para o comentário

    Com alguns erros de digitação na matéria, mas não tira o brilho da mesma.
    Muito importante para quem gosta de aumentar ou diminuir o ''clock'' do aparelho.


  • 2
    Samurai RJ 26/04/2015 Link para o comentário

    Alguém usando ou testando as combinações acima na CM12.1 (5.1.1)?
    Galaxy s2


  • 1
    Bruno G. 22/01/2015 Link para o comentário

    Jefferson, boa noite. Qual módulo seria melhor para o meu Galaxy s4 I9515L ? Eu deixei aqui CPU MIN : 1,026 GHZ / CPU MÁX: 1,89 GHZ / ONDEMAND / NOOP.
    Seria a melhor combinação esta ?

    Obrigado.


  • Léo Walk 58
    Léo Walk 30/12/2014 Link para o comentário

    ONDEMAND e NOOP é uma combinação perfeita pra quem quer desempenho
    razoavel e uma boa duração de bateria. Eu uso esses dois aqui no
    4.4.4 stock do meu Moto G 2 e com a ajuda de alguns scripts que
    inseri no build.prop melhorou ainda mais. Pra configurar esses
    gerenciadores eu usei o app SetCPU. Lembrando que tem que ter
    acesso Root.

    Samurai RJConta desativada


    • 60
      Conta desativada 31/12/2014 Link para o comentário

      Na verdade o perfeito seria o smartassv2 com o sio,mas são poucos os kerneis que tem os dois

      Rafael HenriqueLéo Walk


      • 2
        Samurai RJ 28/04/2015 Link para o comentário

        Estou usando essa configuração na CM 12.1...kernel Apolo.. Até agora tudo ok,


      • SunAngel 3
        SunAngel 05/10/2016 Link para o comentário

        Desculpe minha inocência. Mas minha dúvida é. Se apos todo o processo eu quiser remover o root e o aplicativo tipo setcpu. Vai voltar tudo como antes da mudança? Ou mudar a rom?


  • Viko 17
    Viko 03/03/2014 Link para o comentário

    Para o Moto G com a ROM Nexus G+ (7) qual a configuração que você me aconselha colocar??? Uso o No-frills CPU Control. Valeu. Abraço..


  • Aline Diniz Mariano 4
    Aline Diniz Mariano 30/09/2013 Link para o comentário

    Bom dia! O post é muito bom e útil, gostaria de sugerir que coloquem exemplos de tipos de usuários, sei que já falaram que é algo pessoal mas assim ficaria mais facil poder configurar no meio de tantas opcoes.

    Obrigada

    Victor AndradeLéo Walk

Mostrar todos os comentários
Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.