1 pontos por GN⁺ 2025-03-03 | 1 comentários | Compartilhar no WhatsApp
  • Em 1988, Lars Wirzenius e Linus Torvalds, que se conheceram na Universidade de Helsinki, tiveram contato juntos com servidores Unix e a Usenet, criando o ponto de partida da exploração de sistemas operacionais que levaria ao Linux
  • Em 1991, depois que Linus comprou um PC 386 e o MINIX, seus experimentos com multitarefa começaram com um pequeno programa que alternava A e B na tela e acabaram se expandindo para o kernel Linux
  • O kernel inicial se aproximou de um sistema operacional realmente utilizável ao adicionar drivers de teclado e porta serial, emulação VT100, conexão por modem, permissões de arquivos e memória virtual
  • A menção pública no comp.os.minix em 1991, o upload para o ftp.funet.fi, a adoção da GNU GPL em 1992, o porte do X11, o surgimento do SLS e o lançamento do Linux 1.0 em 1994 marcaram os pontos de virada da sua disseminação inicial
  • Ao contrário da frase de 1991 de que ele “não seria grande e profissional”, em 2023 o Linux ampliou seu alcance para bilhões de dispositivos, todos os continentes e oceanos, a órbita e até Marte

O começo em Helsinki e a experiência com Unix

  • Lars Wirzenius entrou no curso de ciência da computação da University of Helsinki no outono de 1988 e, no mesmo ano, conheceu Linus Torvalds, então um calouro da comunidade sueco-finlandesa
  • Depois de conseguir acesso a um servidor Unix no fim do primeiro ano, descobriu por acaso o leitor de Usenet ao digitar rm errado como rn
  • Quando Wirzenius apresentou a Usenet a Linus, os dois passaram muito tempo explorando-a
  • No outono de 1990, após retornarem do serviço militar, os dois cursaram disciplinas de C e programação Unix e também aprenderam a teoria da estrutura do kernel Unix
  • Nesse processo, leram kernels de sistemas operacionais como QNX e Plan 9 e discutiram projeto de sistemas operacionais

O PC 386 e os primeiros experimentos com o kernel

  • Em janeiro de 1991, Linus comprou um PC montado por peças
    • A CPU era um 386, relativamente avançado para a época
    • Tinha 4 MB de RAM
    • Incluía disco rígido
  • Para explorar multitarefa, ele precisava de um 386 e, como antes usava um Sinclair QL com CPU Motorola 68008 de 32 bits, não escolheu um 286 de 16 bits
  • Nos primeiros meses, passou muito tempo jogando Prince of Persia e depois comprou o MINIX para ter em casa um ambiente parecido com Unix
  • Quando terminou o jogo, começou a aprender linguagem assembly da Intel e, certo dia, mostrou um programa multitarefa em que uma tarefa exibia A e outra exibia B na tela
  • Esse pequeno programa acabou se tornando a primeira versão do que mais tarde seria conhecido como o kernel Linux

Recursos do kernel inicial e a mudança de nome

  • À medida que expandia o programa, Linus passou a escrever a maior parte dele em C
  • No fim da primavera de 1991, Wirzenius escreveu para Linus uma implementação de sprintf() em C
    • Porque Linus ainda não tinha aprendido a escrever funções que usam listas variáveis de argumentos
    • O núcleo desse código permanece no atual snprintf() do kernel
  • Com o tempo, o kernel inicial foi ganhando recursos necessários para uso real
    • Driver de teclado
    • Driver de porta serial
    • Emulação de sequências de escape de terminal VT100 para a tela
    • Capacidade de ligar para a universidade por modem e ler a Usenet de casa
  • Quando Linus tentou por engano ligar para a universidade usando o disco rígido, o setor mestre de boot passou a começar com ATDT e o número do pool de modems da universidade
  • Depois desse incidente, permissões de arquivos foram implementadas no kernel

Divulgação pública e adoção da GPL

  • Em agosto de 1991, Linus mencionou publicamente o novo kernel pela primeira vez no grupo de notícias comp.os.minix
    • O texto da época incluía expressões como “estou fazendo um sistema operacional free”, “apenas um hobby” e “não será grande e profissional como o gnu”
  • O nome inicial do sistema era Freax
  • Algumas semanas depois, Linus pediu a Ari Lemmke, um dos administradores do ftp.funet.fi, para subir o primeiro arquivo tar, e Ari escolheu o nome Linux
  • O nome original ainda permanece em um arquivo do código-fonte das primeiras versões
  • À medida que as pessoas quiseram testar o novo sistema, surgiram a necessidade de métodos e instruções de instalação
    • Linus só tinha um PC e vinha desenvolvendo o Linux sobre sua própria instalação do Minix, então não tinha experiência real de instalação
    • O PC de Wirzenius se tornou o primeiro PC com Linux instalado
  • A licença das primeiras versões do Linux proibia uso comercial
  • Alguns contribuidores iniciais sugeriram mudar para uma licença de software livre
  • No outono de 1991, Richard Stallman visitou a Finlândia, e Wirzenius levou Linus a uma palestra dele
  • A pressão dos contribuidores, a palestra de Stallman e a insistência de Wirzenius se combinaram, e Linus escolheu a GNU GPL no começo de 1992
  • Durante as férias de Natal, Linus implementou memória virtual no Linux, tornando-o muito mais prático mesmo em máquinas baratas com pouca memória

1992: debate, desktop e distribuições

  • 1992 começou com o famoso debate com Andrew Tanenbaum
    • Tanenbaum era o autor do MINIX e professor universitário, e expôs suas opiniões sobre o Linux e sua arquitetura
    • Linus também expôs suas opiniões sobre o MINIX
    • O debate foi chamado de flame war, mas olhando em retrospecto foi bastante educado
  • O acontecimento mais importante para o futuro sucesso do Linux foi o porte do X11 para o sistema, e 1992 virou o ano do desktop Linux
  • Wirzenius decidiu contribuir mais com a comunidade do que com o kernel, ajudando a responder perguntas e a escrever documentação
  • Também criou um boletim de notícias do Linux, de vida curta, que publicou a primeira entrevista com Linus
  • Esse boletim acabou sendo, na prática, substituído pelo grupo de notícias comp.os.linux.announce
  • Em 1992 surgiu a primeira distribuição Linux, o Softlanding Linux System, ou SLS
  • No ano seguinte, o SLS levou ao Slackware, e o Slackware influenciou Ian Murdock a iniciar o Debian em 1993
  • O Debian foi criado para explorar uma estrutura de desenvolvimento mais orientada pela comunidade

Escritório na universidade, rede e ports

  • Em 1993, Linus e Wirzenius foram contratados como assistentes da universidade e passaram a dividir um escritório
  • Havia um PC no escritório, e Linus o usava para desenvolver o Linux
  • Um dia, Linus achou o PC lento e reescreveu o parser da linha de comando do kernel em linguagem assembly para ganhar velocidade
    • Mais tarde, esse trabalho foi reescrito em C por motivos de portabilidade
    • A velocidade do parser não era importante
  • Alguns anos depois, Linus jogou Quake por alguns dias, com o propósito nominal de testar sob estresse o gerenciamento de memória do kernel
  • Em algum momento, o Linux passou a suportar Ethernet e TCP/IP
    • Isso tornou possível ler a Usenet sem modem
  • O código de rede do Linux inicial foi escrito do zero e tinha partes bastante rústicas
  • Em certa ocasião, o Linux enviou pacotes defeituosos e derrubou todas as máquinas Sun da rede; como era difícil corrigir o kernel da Sun, o uso de Linux na rede da universidade foi proibido até que o bug no Linux fosse corrigido

Linux 1.0 e a expansão posterior

  • Na primavera de 1994, parecia que o Linux estava pronto, e decidiu-se lançar a versão 1.0
  • Na época, o Linux já conseguia compilar a si mesmo, ler a Usenet e executar várias instâncias do programa xeyes ao mesmo tempo
  • Houve um evento de lançamento, com presença da imprensa finlandesa de informática e de uma equipe de filmagem de TV
  • A maior parte do evento consistiu em Linus e outras pessoas explicando o que era o Linux e para que ele servia, enquanto o Linux compilava deliberadamente a versão 1.0 ao fundo
  • Linus disse que os Unix comerciais para PC eram caros demais e que era mais fácil escrever o seu próprio
  • Em 1995, Linus e Wirzenius cursaram uma disciplina universitária de engenharia de software e fizeram um grande projeto prático sobre Linux
  • Wirzenius exigiu o uso de CVS
    • Porque tinha visto estudantes anteriores fazerem controle de versão em uma árvore de código-fonte compartilhada por NFS gritando “estou editando este arquivo”
    • Por causa dessa experiência, Linus passou a odiar o CVS e, durante muitos anos, se recusou a usar qualquer controle de versão além de colocar tarballs em um site FTP
  • No mesmo ano, Linus recebeu uma máquina DEC Alpha e fez o primeiro porte do Linux para uma nova arquitetura
  • Outras pessoas também portaram o Linux para diferentes arquiteturas
  • Em 1997, após se formar, Linus se mudou para os Estados Unidos e foi trabalhar na Transmeta

De “hobby” a sistema global

  • Depois disso, o Linux ainda tinha recursos ausentes, e as pessoas continuaram a desenvolvê-lo
  • O termo “open source” foi criado, e a IBM investiu muito dinheiro no desenvolvimento do Linux
  • A Netscape abriu o código-fonte de uma versão de seu navegador web
  • A LWN cobriu grande parte dessa história semanalmente desde seu início
  • Em 1991, Linus escreveu que o Linux “não seria grande e profissional como o gnu”, mas, em 2023, o Linux está rodando em todos os continentes e oceanos, em bilhões de dispositivos, na órbita e em Marte

1 comentários

 
GN⁺ 2025-03-03
Opiniões do Hacker News
  • Interessante. Comecei a usar a partir do Linux 0.98 em 1992
    Ficar discando para vários BBSs pelo modem me fazia sentir como o protagonista de "WarGames"
    Ainda me lembro do dia em que usei ppp pela primeira vez para me conectar à internet de verdade. Depois de muita tentativa e erro, mandei um ping para www.linux.org e, quando o nome do host foi resolvido e a resposta voltou, fiquei um tempo sem palavras e só consegui dizer “uau”

    • Minha primeira conexão à internet foi usando slirp a partir de uma conta shell. O slirp era um emulador de CSLIP que rodava em espaço de usuário na máquina shell remota
      Na época, máquinas shell multiusuário eram bem comuns, e alguns dos primeiros ISPs ofereciam acesso à internet desse jeito
      O que eu usava era um ISP chamado Internet Access Cincinnati, que dava a cada usuário um shell em um Sun Sparc 10 rodando SunOS (antes do Solaris). Também recebíamos e-mail POP e uma pasta home ~username acessível pela web
  • É estranho que o Linux tenha se tornado a única coisa estável e confiável neste mundo. Quando você liga, sabe que, com o tempo, ele vai melhorar sem más intenções

    • Hoje em dia isso é realmente importante. A maioria das novas tecnologias ou sistemas operacionais parece ter alguma intenção, tentando me “empurrar” para comprar um iPhone ou assinar o Office
      Nesse sentido, o Linux é um alívio. Uma torradeira só precisa torrar pão. Não quero que ela também me diga que pão devo comprar
    • Lembro de uma época, em meados/fim dos anos 90, em que era preciso pesquisar bastante antes de comprar um desktop ou hardware. Coisas como: esta placa de rede específica será suportada? Esta placa de vídeo vai funcionar no X11?
      Talvez fosse trauma e paranoia causados pelos WinModems, que na época pareciam nunca funcionar
      Mas, por volta do início dos anos 2000, parece que o mundo mudou para um em que você presumia que o Linux daria suporte a hardware novo, fosse um drive Zip usado ou uma webcam
      Até hoje compro placas-mãe aleatórias ou brinquedos de hardware sem medo e parto do princípio de que, em geral, vão funcionar. Tive sorte até agora, mas isso é muito mérito dos desenvolvedores de drivers
      Pessoas como o desenvolvedor que envia um único pull request ao kernel só para adicionar um número mágico que reconhece um tipo específico de cartão SD geram um enorme benefício para todos
    • Qualquer poço pode ser contaminado. O Linux depende dos valores e da competência das pessoas, e não há garantia de que ambos não enfraqueçam com o tempo
      É parecido com o fato de que o desenvolvimento da sociedade civil, da economia e da diplomacia no pós-guerra foi uma exceção na história humana
      É perigoso presumir que a realidade atual continuará para sempre sem proteção ou esforço contínuo de manutenção
    • Tenho receio de que isso se deva à influência pessoal de Linus. Ainda há momentos em que Linus precisa intervir para pôr ordem
      É difícil ter certeza de que a trajetória de melhora contínua vai se manter depois que ele se aposentar
    • Por ser open source e, ao mesmo tempo, ter tantos grandes usuários com muitos recursos, é uma combinação adequada em que melhorar para todos compensa
      Neste caso específico, parece que a tragédia dos comuns funciona ao contrário
      Deveríamos estudar essa dinâmica socioeconômica e teoria dos jogos para tentar reproduzi-la. Alguém deveria escrever uma tese de doutorado em teoria dos jogos sobre como o Linux implementa algo que “não é uma tragédia dos comuns”
  • Sou jovem o bastante para nunca ter vivido em um mundo sem Linux, mas próximo o suficiente do nascimento dele para que boa parte das pessoas envolvidas ainda esteja viva, e isso dá uma sensação estranha
    A maior parte da minha vida profissional girou, de um jeito ou de outro, em torno do Linux, e minha vida inteira desde mais ou menos os 12 anos também. Pensar no impacto que ele teve na minha vida é bem impressionante

    • Sinto algo parecido em relação a toda a área da ciência da computação. É estranho que muitos dos fundadores tenham estado vivos por uma parte considerável da minha vida
      Claude Shannon 2001, Edsger Dijkstra 2012, John McCarthy 2011, Niklaus Wirth 2024, Konrad Zuse 1995, Alonzo Church 1995, Jim Gray 2007/2012, Grace Hopper 1992
      Alan Turing também poderia ter estado vivo durante a minha vida se não tivesse sido morto
      Friedrich L. Baur, que faleceu em 2015, ainda tinha um escritório na universidade onde estudei; eu passava por ali com frequência, via a placa com o nome e pensava se aquilo era real mesmo
      Felizmente, Donald Knuth ainda está entre nós
    • Há também o anúncio clássico "Linux is a 10 year old boy"
      https://www.youtube.com/watch?v=x7ozaFbqg00
    • Entendo o que você quer dizer. Também é difícil imaginar um mundo sem iPhone
  • “Mais importante, com o sistema X11 sendo portado para Linux, 1992 se tornou o ano do desktop Linux”; então finalmente ficou confirmado o ano do desktop Linux :)
    Bom texto

  • Lembro bem dos primórdios do Linux. Em meados dos anos 90, havia bastante interesse na University of Waterloo, mas também se falava muito sobre problemas de instalação ou de fazê-lo rodar de forma estável em sistemas específicos
    Isso não era incomum para qualquer sistema operacional na época, mas era o tempo em que era preciso compilar o kernel por conta própria e brigar com o XFree86
    Distribuições como a Red Hat reduziram muito essas preocupações em pouco tempo e, no geral, tornaram tudo bem mais fácil. A documentação também era excelente
    No fim dos anos 1990, a Red Hat já era tão comum na universidade quanto Solaris, AIX e IRIX, mas a maioria ainda a considerava inferior ao Solaris. Hoje, o RHEL é o principal sistema *nix usado lá, e alguns usam Debian

    • Graças ao XF86Config modeline HOWTO, aprendi como um controlador CRT funciona
    • Recentemente instalei o Solaris em uma máquina virtual e, assim que vi o instalador, voltaram com nitidez lembranças do instalador de uma derivada da Red Hat que eu nem sabia que lembrava
      Eu não tinha idade suficiente na época para estar envolvido com Unix comercial, mas, em retrospecto, parece que a Red Hat sabia muito bem quem queria atingir
    • Acho que isso também combina com a tendência das grandes universidades na época. Lembro de quando o Alpha estava sendo descontinuado; ao reinstalar a Red Hat nele, o Linux ganhou mais força como sistema de uso diário dos pesquisadores
  • O que aprendi hoje: Linus é um finlandês que fala sueco, e esse grupo existe de verdade
    Esse som está preso na minha cabeça desde 1994
    [https://en.wikipedia.org/wiki/File:Linus-linux.ogg](https://en.wikipedia.org/wiki/File:Linus-linux.ogg)

    • Sim, ele pertence à minoria sueco-finlandesa da Finlândia. Achei que todo mundo no HN soubesse disso
    • Uau, parece que depois a pronúncia dele em inglês mudou bastante
    • Material clássico. Eu também estava procurando isso. Lembro que havia um arquivo chamado linus.au no site FTP da época
      Como .ogg ainda não existia naquela época, provavelmente era o original, e havia também uma versão que não era em inglês (finlandês, talvez?)
      Que bom que sobreviveu de algum jeito
  • Livro para ler junto: Just for Fun
    https://www.amazon.com/Just-Fun-Story-Accidental-Revolutiona...

    • Li uns 10 anos atrás. É uma leitura curta, mas recomendo muito
  • Durante a maior parte da minha vida, realizações técnicas como essa pareciam obra de gênios inalcançáveis
    Mas, depois de ler esta história, também fica claro o valor de amizades de longo prazo que sustentam a exploração uns dos outros, além da estabilidade financeira e social

    • Péssimo exemplo. Linus é um gênio
  • Quando penso no início do Linux, frequentemente me vêm à cabeça os concorrentes. O texto diz que “o Unix comercial era tão caro que era mais fácil fazer o próprio”, e isso é em grande parte verdade
    Mas também existia o Coherent Unix. Lembro de ele ser vendido por 99 dólares em anúncios de página inteira na contracapa de revistas da época. Eu sempre ficava na dúvida se comprava ou não
    Uma das grandes desvantagens do Coherent era não ter rede. Aí surgiu o Linux e, em um período surpreendentemente curto, o Linux ultrapassou o Coherent, e o Coherent pareceu desaparecer da noite para o dia
    https://en.wikipedia.org/wiki/Coherent_(operating_system)

    • Lendo uma resenha de dezembro de 1990[1], ele não parece tão impressionante assim
      Ela dizia: “O Coherent permanece fiel às raízes do Unix, evitando redes locais, interfaces gráficas de usuário, menus, mouse e muitos dos recursos de conveniência que usuários de DOS e de Unix hoje passaram a esperar de softwares modernos”
      Em seguida, dizia que “o caminho para aprender Unix com o Coherent será acidentado” e que “automatizar uma pequena empresa com o Coherent também não é realista”
      O Coherent era código fechado, então não dava para pegar um sistema incompleto e participar da melhoria dele, como no Linux. O que atraiu as pessoas para o Linux inicial não foi o fato de ele ser excelente na época, mas o fato de as pessoas gostarem desse tipo de trabalho
      99 dólares equivalem a cerca de 230 dólares em valores de hoje. Sei que software em geral era mais caro antigamente, mas 230 dólares por um sistema operacional básico, quase um brinquedo para experimentar, só era “barato” em comparação com preços de Enterprise Unix™®
      [1]: https://books.google.ie/books?id=JZxkO0PpksUC&pg=PT61&redir_...
    • Eu era cliente do Coherent e gostava bastante. Com kermit, eu ligava para o sistema Sun do trabalho e fazia ele me ligar de volta para evitar a tarifa da chamada
      Foi assim que consegui acesso à USENET e à internet comum. Tempos divertidos. Foi uma pena a empresa fechar, mas, sinceramente, lá por 1995 o rumo já estava bem óbvio
      Depois que fechou, migrei para o Slackware, que ainda uso. Naquela época, o Linux mudava quase todos os dias
      O Coherent tinha um recurso que o Linux não tinha: quando perguntei na USENET, em poucos dias alguém me passou um patch. Era um patch que permitia usar 2 monitores em um 386sx com uma placa monocromática e uma placa VGA, exatamente como o Coherent fazia
      Antes de as empresas Fortune 500 entrarem no jogo nos anos 2000, as pessoas eram muito mais acessíveis
    • Os BSDs também estavam surgindo quase na mesma época, especialmente o 386BSD[1]. Linus disse de forma famosa que, se isso estivesse disponível no começo, provavelmente não teria criado o Linux[2]
      Como a primeira versão do 386BSD foi em 1992, estamos falando aqui de uma janela curta de 1 a 2 anos. Claro que FreeBSD e NetBSD também se separaram dele logo depois
      [1] https://en.wikipedia.org/wiki/386BSD
      [2] https://www.antman.se/abc-klubben/linux/linuxdoc/linus.html
    • Desde 1987 eu rodava 386/ix[1] em um PC i386 e, no fim de 1992, migrei para o 386BSD 0.1; por volta de 1993, para o FreeBSD
      [1] https://en.wikipedia.org/wiki/Interactive_Systems_Corporatio...
    • Lembro de ter instalado o FreeBSD em 1994. Para um garoto de 13 anos, ver um ambiente tipo Unix aparecer no meu computador com startx era realmente incrível
      Eu sentia que o FreeBSD era melhor que o Linux, mas, como em muitos outros casos, a disponibilidade de apps decidiu a disputa
  • Há um excelente documentário sobre Linux lançado em 2003. O título é Revolution OS, e recomendo muito
    https://www.youtube.com/watch?v=k0RYQVkQmWU

    • Foi o melhor documentário sobre Linux e GNU que já vi