Os primeiros tempos do Linux (2023)
(lwn.net)- 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
AeBna 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
rmerrado comorn - 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
Ae outra exibiaBna 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
ATDTe 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
xeyesao 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
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
ppppela primeira vez para me conectar à internet de verdade. Depois de muita tentativa e erro, mandei umpingparawww.linux.orge, quando o nome do host foi resolvido e a resposta voltou, fiquei um tempo sem palavras e só consegui dizer “uau”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
~usernameacessí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
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
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
É 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
É difícil ter certeza de que a trajetória de melhora contínua vai se manter depois que ele se aposentar
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
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
https://www.youtube.com/watch?v=x7ozaFbqg00
“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
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
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)
linus.auno site FTP da épocaComo
.oggainda 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...
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
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)
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_...
kermit, eu ligava para o sistema Sun do trabalho e fazia ele me ligar de volta para evitar a tarifa da chamadaFoi 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
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
[1] https://en.wikipedia.org/wiki/Interactive_Systems_Corporatio...
startxera realmente incrívelEu 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