Por que o Chrome tem tantos processos abertos?
Se você já deu uma olhada no Gerenciador de Tarefas durante a execução do Google Chrome, pode ter se surpreendido ao ver que o número de entradas de chrome.exe excedeu radicalmente o número de janelas reais do Chrome que você abriu. Qual é o problema com todos esses processos?
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas voltado para a comunidade.
A questão
Se você está curioso sobre todos aqueles processos aparentemente duplicados do Chrome, você não está sozinho. O leitor SuperUser PolyShell realmente quer chegar ao fundo das coisas:
No Gerenciador de Tarefas do Windows, parece que tenho vários processos do Chrome em execução, embora eu tenha apenas uma janela do Chrome aberta.
Como isso é possível? Sempre pensei que cada programa aberto representava um processo.
Embora o número absoluto de processos individuais de chrome.exe pareça desconcertante à primeira vista, há uma explicação perfeitamente boa para o dilúvio.
As respostas
Vários colaboradores SuperUser contribuíram para responder à pergunta. Jeff Atwood ofereceu uma referência ao blog de desenvolvimento do Chrome:
Você pode ler os detalhes aqui:
O Google Chrome aproveita essas propriedades e coloca aplicativos da web e plug-ins em processos separados do próprio navegador. Isso significa que uma falha do mecanismo de renderização em um aplicativo da web não afetará o navegador ou outros aplicativos da web. Isso significa que o sistema operacional pode executar aplicativos da web em paralelo para aumentar sua capacidade de resposta e que o próprio navegador não travará se um determinado aplicativo da web ou plug-in parar de responder. Isso também significa que podemos executar os processos do mecanismo de renderização em uma caixa de proteção restritiva que ajuda a limitar os danos se ocorrer uma exploração.
Basicamente, cada guia tem um processo, a menos que as guias sejam do mesmo domínio. O renderizador tem um processo próprio. Cada plug-in terá um e cada extensão ativa também.
KronoS compartilha um truque para examinar os processos dentro do Chrome no lugar do gerenciador de tarefas mais enigmático lido:
Você pode ver qual processo faz o quê:
Menu-> Ferramentas -> Gerenciador de Tarefas
Que se parece com isto:
Deizel oferece um assessor para os alunos visuais:
Não se esqueça de ler a história em quadrinhos de introdução do Chrome que cobre isso entre outras decisões de design.
Vale a pena ler toda a história em quadrinhos do Chrome para os fãs do Chrome, pois explica muitas outras opções de design envolvidas na produção do navegador. Também é uma leitura divertida.
Tem algo a acrescentar à explicação? Som off nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.