[ENTREVISTA] Linus Torvalds: “cansei de ler código” (Parte 1)

Publicado em 16/11/2012 às 13:42 | 20869 leituras

Linus participou da LinuxCon Europa 2012, ocorrida recentemente em Barcelona, e concedeu uma entrevista onde falou sobre os pontos-chave para o kernel Linux nos últimos anos.


Versão para impressão Enviar por email


Por Glyn Moody

Tive a sorte de entrevistar Linus Torvalds bem no início da história do Linux - foi no ano de 1996, quando ele ainda vivia em Helsinque (leia uma parte da entrevista disponível nos arquivos da Wired online). Era então um momento importante para a vida dele, tanto pessoal - sua primeira filha havia acabado de nascer - como em termos de carreira. Ele estava prestes a entrar para a Transmeta, empresa de design de chips, um movimento que não deu muito certo, mas que o levou a se mudar para os Estados Unidos, onde permanece até hoje. Por conta disso, suas viagens à Europa são raras, e aproveitei a presença dele na LinuxCon Europa 2012, ocorrida recentemente em Barcelona, ​​para entrevistá-lo novamente e rever os pontos-chave para o kernel Linux e para a comunidade, desde nossa última conversa anos atrás.

Glyn Moody: Olhando para a última década e meia, quais foram os eventos mais importantes no desenvolvimento do kernel?

Linus Torvalds: Uma coisa importante para mim é todo o trabalho de escalonabilidade que fizemos. Nós passamos do “OK” em 2 ou 4 CPUs para o ponto onde, basicamente, podemos trabalhar com 4000 CPUs simultaneamente - não podemos escalonar perfeitamente, mas na maioria das vezes não é no kernel que se encontra o problema de desempenho. Se a carga de trabalho é de alguma forma razoável, irá realmente escalonar muito bem. E esta foi uma conquista que chegamos graças a muito esforço.

O SGI em particular trabalhou muito no passado para escalonar algumas centenas de CPUs. Seus patches iniciais não podiam simplesmente ser mesclados. Não havia nenhuma maneira de levarmos adiante o trabalho realizado por eles para uso em um PC normal, pois eles adicionaram toda essa infraestrutura para operar em milhares de processadores. Era extremamente caro de se fazer quando se dispunha de apenas um par de CPUs.

Eu tinha receio que a longo prazo pudéssemos ter o kernel de alto desempenho para máquinas grandes, mas com o código fonte sendo separado do kernel normal. As pessoas trabalharam muito para apenas ter a certeza de que teríamos uma base de código limpo, onde pudéssemos definir em tempo de compilação o desejo de que o kernel trabalhasse para 4000 CPUs, e ele então geraria o código para isso; e, ao mesmo tempo, se definíssemos que o kernel iria trabalhar com 2 CPUs, o mesmo código fonte o compilaria.

Era algo que, em retrospecto, foi muito importante porque ele realmente fez o código fonte muito melhor. Todo o esforço que o SGI e outros [contribuidores] gastaram na unificação do código fonte - e, na verdade, boa parte desse trabalho foi uma grande limpeza do código - isto não funcionaria para uma centena de CPUs, então tivemos que limpá-lo para que ele funcionasse devidamente. E isso fez com que a manutenção do kernel se tornasse muito mais fácil. Hoje em dia, 8 e 16 CPUs em um desktop é algo quase comum; costumava ser um problema escalonar para 8 CPUs, mas agora é como brincadeira de criança.

Mas houve outras coisas também. Passamos anos, no outro extremo, onde as pessoas usavam o telefone com tamanha consciência de economia que faziam gambiarras horrorosas, especialmente no lado ARM, tudo para tentar economizar energia. Passamos anos fazendo gestão de energia em geral, fazendo o mesmo tipo de coisa mesmo: em vez de possuirmos esses hacks especializados no gerenciamento de energia para ARM, e os poucos dispositivos com os quais se preocupacam as pessoas que usavam celulares, tentamos fazê-lo através do kernel. E levou uns 5 anos até que conseguíssemos fazer funcionar o nosso trabalho de gerenciamento de energia, por envolver todo o espectro.
Muitas vezes quando adicionamos um dispositivo, não é algo que ofereça qualquer impacto para o resto do kernel. Mas a gestão de energia foi uma das coisas que mais impactou todos os milhares de drivers de dispositivos que temos hoje em dia: impacta os principais recursos, como desligar CPUs, agendadores, VMs, enfim, absolutamente tudo.

Ela não só afeta tudo, como tem o potencial de quebrar tudo o que a torna muito dolorosa. Passamos tanto tempo apenas para dar dois passos à frente e um passo para trás porque nós fizemos uma melhoria que foi uma clara melhoria, mas quebrou máquinas. E por isso tivemos que dar um passo atrás apenas para corrigir as máquinas que quebramos.

Realisticamente, a cada lançamento (release), a maior parte do trabalho é apenas no driver. O que é meio chato, no sentido de que não há nada fundamentalmente interessante em um driver, é apenas um suporte para algum chipset ou algo do tipo e, ao mesmo tempo, é também o “pão com manteiga” do kernel. Mais da metade do kernel são apenas drivers, assim como todas as grandes e emocionantes coisas inteligentes que fazemos; no final, isso não é nada quando comparado com todo o trabalho que acabamos de fazer para apoiar o novo hardware.

Glyn Moody: Quais foram as principais mudanças na arquitetura para suportar o novo hardware?

Linus Torvalds: A pilha USB foi basicamente reescrita algumas vezes apenas porque algum novo caso de uso chega e aí percebemos que a pilha USB original nunca levou esse novo caso em conta, e ele simplesmente não funciona. Sendo assim, o USB 3.0 precisa de um novo controlador host de suporte e verifica-se que é diferente o suficiente a ponto de queremos mudar a pilha principal de modo que ele possa trabalhar em diferentes versões. E não é apenas USB, é PCI, e PCI torna-se PCIe, e vem um hotplug (conexão a quente) junto. 
Isso é outra coisa que confere uma enorme diferença entre o Linux tradicional e o Unix tradicional. Temos uma estação de trabalho Unix e a inicializamos, e isso não muda depois - não podemos adicionar dispositivos. Agora as pessoas estão tendo que adicionar obrigatoriamente um dispositivo USB, mas isso não costumava ser o caso. Para que todo o sistema fosse capaz de aceitar dispositivos hotplug, tivemos todas essas mudanças de infraestrutura fundamentais que precisamos acompanhar.

Glyn Moody: E a comunidade do kernel, como tem evoluído?

Linus Torvalds: Costumava ser um tanto “favorável” a tudo. Não sei quando a mudança ocorreu, mas éramos eu e talvez 50 desenvolvedores - não havia uma profunda hierarquia de pessoas. Atualmente, os patches chegam às vezes a passar por quatro níveis de pessoas. Lançamos novos releases a cada três meses; e para cada lançamento temos cerca de 1 mil pessoas envolvidas. E de 500 a 1 mil pessoas basicamente enviam em uma única linha uma mudança para algo realmente trivial - é assim que algumas pessoas trabalham, e alguns delas nunca fazem qualquer outra coisa, e isso é bom. Mas quando temos milhares de pessoas envolvidas, especialmente quando muitas delas são do tipo que gostam de “atirar para todos os lados”, torna-se inviável simplesmente pegar patches de todo mundo individualmente. Fosse assim, eu não teria tempo de interagir com as pessoas.
Algumas pessoas simplesmente se especializam em drivers, elas conhecem outras pessoas que tenham se especializado em alguma particularidade de um driver específico, e interagem com pessoas que realmente escrevem os drivers individuais ou enviam patches. Quando vejo o patch, ele se foi através dessas camadas, raramente por quatro delas, mas muitas vezes existem duas pessoas no meio disso tudo.

Glyn Moody: E qual o impacto disso sobre o seu papel nessa história toda?

Linus Torvalds: Bem, a coisa mais importante é que eu não leio mais o código. Quando um patch já passou por duas pessoas, naquele momento, eu posso olhar para o patch e dizer: não, todo seu trabalho foi perdido, e microgerenciar esse nível - e, francamente, eu não quero fazer isso, e eu não tenho a capacidade de fazer isso.
Assim, na maioria das vezes, quando se trata dos responsáveis ​​por subsistemas principais, eu confio neles porque temos trabalhado juntos por 5, 10 e até 15 anos, então eu nem sequer olho para o código. Eles me dizem quais são as mudanças e dão uma visão geral de alto nível do que foi feito. Dependendo da pessoa, pode ser cinco linhas de texto dizendo mais ou menos o que mudou, e então eles me fornecem um diffstat (arquivo com o resultado da comparação), que diz apenas que 15 linhas foram alteradas no arquivo “x”, outras 25 linhas no arquivo “y”, e o diffstat pode conter centenas de linhas, pois pode acontecer de algumas centenas de arquivos serem alterados. Mas eu sequer vejo o código em si, apenas digo: “okay, as mudanças ocorreram nesses arquivos e, a propósito, eu confio em você para mudar esses arquivos”; então está tudo certo. 

Glyn Moody: E qual é o seu papel agora?

Linus Torvalds: É basicamente na gestão de pessoas. Não no sentido logístico - obviamente, não pago ninguém, mas também não tenho que me preocupar com o fato de terem acesso ao hardware e coisas do tipo. Em grande parte o que ocorre é que eu me envolvo quando as pessoas começam a discutir e haver atrito entre elas, ou quando erros acontecem.
E os erros acontecem o tempo todo, mas muitas vezes as pessoas não sabem a quem enviar o relatório de erros. Então, acabam enviando o relatório para a lista de discussão Linux Kernel - ninguém é capaz de acessá-la muito (ou tanto quanto gostaria). Depois que as pessoas não descobrem como fazer isso via lista de discussão do kernel, muitas vezes começam a bombardear-me, dizendo: “ei, esta máquina não funciona mais para mim. E já que eu sequer li o código no primeiro momento, mas sei quem está no comando, acabo sendo um ponto de conexão para relatórios de bugs e para as solicitações de mudanças reais. Isso é tudo o que eu faço, dia-a-dia, ou seja, leio emails. E isso é bom, gosto de fazer isso, mas é muito diferente do que costumava fazer.


Fonte: h-online [em inglês].

Comentários


Outras notícias

Livro sobre Métodos Ágeis disponibilizado livremente

Publicado em: 14/02/2019 às 15:20 | leituras |

"Scrum - Projetos Ágeis e Pessoas Felizes", de autoria de Cesar Brod, disponibilizado de forma livre (Creative Commons) para download e consulta.

Papo de SysAdmin vai lançar Club DevOps

Publicado em: 19/01/2019 às 17:53 | leituras |

Plataforma deverá ser ambiente para reciclagem e capacitação em tecnologias DevOps.

Assespro-PR é o mais novo parceiro de canal do LPI no Brasil

Publicado em: 18/12/2018 às 11:10 | leituras |

A Assespro-PR — Associação das Empresas Brasileiras de Tecnologia da Informação —, e o Linux Professional Institute – LPI, firmaram uma parceria que deverá beneficiar as empresas associadas à Assespro-PR, bem como contribuir para a profissionalização do mercado de Software Livre e de Código Aberto no Paraná.

Linux Developer Conference Brazil: faltam poucos dias!

Publicado em: 14/08/2018 às 11:57 | leituras |

Evento será realizado nas dependências da UNICAMP, em Campinas, nos dias 25 e 26 de agosto.

Leitor da Linux Magazine paga meia para entrar no FISL18

Publicado em: 06/07/2018 às 21:05 | leituras |

Parceria entre a ASL.org e a Linux Magazine disponibiliza código promocional que fornece 50% de desconto na inscrição para o FISL18.

DevOpsDays chega a Maringá pela primeira vez

Publicado em: 20/03/2018 às 18:25 | leituras |

O DevOpsDays terá sua sétima edição no Brasil sendo sediada na cidade de Maringá, no Paraná, dias 23 e 24 de março, no Sebrae. O evento acontece em mais de 40 países e nele foi criado o termo "DevOps" (em 2009, na cidade de Gante - Bélgica).

SENAI/Fatesg promove segundo Meeting Hacker Senai

Publicado em: 18/02/2018 às 12:47 | leituras |

No dia 24/02/2018 a partir das 8:00h, o SENAI/Fatesg realizará o segundo Meeting Hacker Senai, com a participação do LPI, da Infomach e da Barketilly.

Certificações LPI: o caminho para turbinar a sua carreira

Publicado em: 13/10/2017 às 15:50 | leituras |

O Linux Professional Institute (LPI) oferecerá provas de certificação na Latinoware, em Foz do Iguaçu, em outubro, na Poticon, em Natal e no FGSL em novembro. Fique antenado! Este artigo elenca as últimas novidades sobre o LPI.

Blog do maddog: Ambientes de nuvem privada virtual

Publicado em: 06/10/2017 às 14:09 | leituras |

O Subutai é uma solução de nuvem de código aberto, ponto a ponto (P2P), segura e estável, que cria ambientes de nuvem privada virtual (VPC) para usuários finais usando um modelo de nuvem de contêineres como serviço (CaaS). O usuário final pode instalar qualquer tipo de serviço, aplicativo ou software de infraestrutura que desejar nas máquinas em execução nessa nuvem.

Ambientes de nuvem privada virtual

Publicado em: 06/10/2017 às 13:23 | leituras |

O Subutai é uma solução de nuvem de código aberto, ponto a ponto (P2P), segura e estável, que cria ambientes de nuvem privada virtual (VPC) para usuários finais usando um modelo de nuvem de contêineres como serviço (CaaS). O usuário final pode instalar qualquer tipo de serviço, aplicativo ou software de infraestrutura que desejar nas máquinas em execução nessa nuvem.

4Linux abre vagas para Líder Técnico em São Paulo e Brasília

Publicado em: 25/07/2017 às 14:12 | leituras |

A 4Linux — uma empresa líder em soluções Open Source e em práticas DevOps — está procurando profissionais para trabalhar como gerente técnico, que tenha bons conhecimentos em Linux e Softwares Livres. São duas vagas: uma para trabalhar em Brasília e outra para São Paulo.

Seminário sobre gestão de privilégios do Linux dá direito a certificado CPE

Publicado em: 23/05/2017 às 10:35 | leituras |

O evento irá abordar a forte disseminação de sistemas Linux em toda a estrutura de informação e mostrará a importância de técnicos da área serem capazes de identificar rotas, especificar controles de acesso para usuários Linux e monitorar a atividade privilegiada do usuário ao longo da rede de informação e, especialmente, na complexidade da nuvem. Participantes poderão requerer gratuitamente os créditos de CPE (Continuing Professional Education).

Novas vagas para os minicursos do WikiLab

Publicado em: 16/05/2017 às 11:59 | leituras |

Novas vagas abertas para os minicursos do WikiLab. Todos que já apoiaram ou apoiarem o projeto WikiLab no Catarse (com qualquer valor) podem participar.

Novo evento "Universidade Livre" será realizado em Belém/PA em 06/05/2017

Publicado em: 28/04/2017 às 11:19 | leituras |

Novo evento sobre Software Livre será realizado no Instituto de Estudos Superiores da Amazônia (IESAM).

Soluti Certificação Digital em busca de especialista Linux

Publicado em: 19/04/2017 às 17:18 | leituras |

A Soluti Certificação Digital está em busca de um profissional para atuar como especialista Linux em Goiânia.

Vaga para analista de TI com experiência em ECM/GED, BPM e BI

Publicado em: 16/12/2016 às 11:12 | leituras |

Renomada empresa de serviços de consultoria em TI, está em busca de um analista de TI para trabalhar em projetos de implementação de soluções ECM/GED, BPM e BI usando os sistemas Alfresco, Activiti, Bonita, Camunda e SpagoBI.

Nova versão do Scalix Groupware oferece suporte completo a IBM Power & IBM Mainframes

Publicado em: 14/12/2016 às 12:59 | leituras |

A nova versão dá liberdade de escolha às empresas para usar as tecnologias mais modernas oferecidas pelo mercado como base para sua solução de e-mail e colaboração

Software Livre e de Código Aberto: uma questão de economia, não de política

Publicado em: 12/11/2016 às 12:36 | leituras |

Os argumentos apresentados neste artigo são todos aspectos econômicos, e não aspectos políticos. Decisões baseadas em política (e não em economia) devem ser lembradas pelos eleitores nas próximas eleições.

Lançamento: E-book E-mail e Colaboração no Século XXI (grátis)

Publicado em: 29/09/2016 às 9:15 | leituras |

A Linux Magazine, em parceria com a Scalix Brasil e a Linux Solutions, acaba de lançar o novo ebook da série "Technology Report": E-mail e Colaboração no Século XXI. Baixe gratuitamente!

Oportunidade na 4Linux - Vaga para Brasília

Publicado em: 25/08/2016 às 9:58 | leituras |

A 4Linux, empresa de consultoria e treinamento especializada em tecnologia Open Source, está em busca de um profissional com o perfil de analista de infraestrutura Linux pleno, para atuar em Brasília.

Lançamento: E-book 101 dicas para usar o Linux como um Profissional (grátis)

Publicado em: 01/08/2016 às 8:19 | leituras |

Baixe gratuitamente o e-book "101 dicas para usar o Linux como um Profissional", contendo os principais conselhos para não se apertar no seu trabalho ao usar e configurar o sistema do pinguim.

Sicoob adota soluções de código aberto e triplica rede de associados

Publicado em: 19/07/2016 às 12:22 | leituras |

A partir do projeto, a empresa pôde substituir mais de 500 servidores físicos de pequeno porte, consolidando todas as transações em três mainframes e 15 máquinas Intel de alto desempenho (high end).

BrodTec é a nova revenda Scalix na Região Sul

Publicado em: 30/03/2016 às 11:20 | leituras |

No mês de março, a Scalix firmou parceria com a BrodTec para que a empresa seja o seu represente oficial no Rio Grande do Sul e em Santa Catarina.

Linux Professional Institute anuncia seu novo Diretor de Desenvolvimento Regional para o Brasil

Publicado em: 21/03/2016 às 18:51 | leituras |

Há muito tempo incentivando softwares livres e de código aberto, Cesar Brod é, agora, o responsável do instituto para ampliar a formação e certificação em Linux no Brasil.

ASL.Org lança campanha de doação para realizar o FISL17

Publicado em: 05/02/2016 às 21:20 | leituras |

A Associação Software Livre (ASL.Org) iniciou nesta quinta-feira (4) uma campanha de arrecadação de fundos para a continuidade de seus trabalhos, entre eles a organização da 17ª edição do Fórum Internacional Software Livre (FISL17), que acontece de 13 a 16 de julho em Porto Alegre.


Mais notícias


lançamento!

LM 119 | Backup e Restauração




Impressa esgotada
Comprar Digital  R$ 10,90 Digital

  1. Soluti Certificação Digital em busca de especialista Linux

    Publicado em 19/04/2017 às 17:18 | 626646 leituras

  1. Seminário sobre gestão de privilégios do Linux dá direito a certificado CPE

    Publicado em 23/05/2017 às 10:35 | 543967 leituras

  1. Baixe o curso de shell script do Julio Cezar Neves

    Publicado em 07/04/2008 às 19:41 | 525520 leituras

  1. 4Linux abre vagas para Líder Técnico em São Paulo e Brasília

    Publicado em 25/07/2017 às 14:12 | 390735 leituras

  1. Novo evento "Universidade Livre" será realizado em Belém/PA em 06/05/2017

    Publicado em 28/04/2017 às 11:19 | 333820 leituras

  1. STJ lança cartilha sobre segurança da informação

    Publicado em 08/07/2014 às 9:40 | 13055 leituras

  1. Google apresenta seu novo escritório em São Paulo

    Publicado em 16/01/2013 às 13:30 | 18050 leituras

  1. WebFWD encontrando seu caminho

    Publicado em 28/09/2011 às 10:38 | 14091 leituras

  1. Como o 4G poderá mudar o mercado brasileiro?

    Publicado em 29/01/2013 às 8:49 | 13685 leituras

  1. Lançada a edição 68 da Revista Linux Magazine

    Publicado em 08/07/2010 às 11:20 | 14946 leituras

whitepapers

mais whitepapers