Explorando os Códigos da Primeira Versão do Linux (v0.01)

Dec 12 / Paulo Oliveira

O kernel do Linux é frequentemente mencionado como um software de código aberto esmagadoramente extenso. Até o momento deste artigo, a versão mais recente é a v6.5-rc7, composta por aproximadamente 36 milhões de linhas de código. Sem dúvida, o Linux é fruto do árduo trabalho de muitos colaboradores ao longo das décadas.


No entanto, a primeira versão do Linux, a v0.01, era bastante pequena. Consistia apenas em 10.239 linhas de código. Excluindo comentários e linhas em branco, eram apenas 8.670 linhas. É pequeno o suficiente para ser compreendido e representa um bom ponto de partida para aprender sobre o funcionamento interno dos kernels de sistemas operacionais semelhantes ao UNIX.

Ler a v0.01 é realmente uma experiência para programadores entusiastas de código aberto. É como visitar o Museu da História da Computação em Mountain View. Vamos mergulhar em uma análise de alguns pontos desta primeira versão!

Como são as chamadas de sistema?

A v0.01 possui 66 chamadas de sistema. Aqui está a lista delas:

  • Ele oferece suporte à leitura, gravação, criação e exclusão de arquivos e diretórios. Além disso, outros conceitos fundamentais como chmod(2) (permissão), chown(2) (proprietário) e pipe(2) (comunicação entre processos) também são suportados.


  • fork(2) e execve(2) estavam presentes. Apenas o formato executável a.out era suportado.


  • O conceito de sockets não foi implementado. Portanto, nenhum suporte de rede.


  • Algumas funcionalidades como mount(2) não foram implementadas. Elas apenas retornam ENOSYS.

"FREAX"

Há boatos de que Linus Torvald originalmente nomeou seu kernel como "FREAX". O Makefile na Linux v0.01 ainda tinha o seguinte comentário, ele era realmente FREAX!

Qual sistema de arquivos é suportado na v0.01?

Hoje, o Linux suporta uma variedade de sistemas de arquivos, como ext4, Btrfs e XFS. E a v0.01? ext2? Não, aqui temos uma dica de include/linux/fs.h:

A resposta é o sistema de arquivos MINIX!

Hoje em dia as principais distro Linux utilizam em sua maioria o sistema ext4, sucessor do ext (extended file system - sistema de arquivos estendido), ext2, ext3, que foram inspirados no sistema de arquivos MINIX.

Erro de Kernel em 5 Linhas

Sem alardes! Deixe o usuário saber que algo deu errado e congele o sistema. Ponto.

Leia você mesmo!

Espero que você tenha aproveitado a leitura do código-fonte do Linux v0.01 e as nossas pontuações de alguns pontos interessantes. Se você estiver interessado na v0.01, faça o download do tarball da v0.01 em kernel.org. Ler o código não é tão difícil, o Linux v0.01 é minimalista, mas muito bem escrito.

Este artigo é uma releitura de uma análise feita pelo programador Seiya Nuta. Se você fala inglês e deseja ler na íntegra, com mais informações e uma análise bem divertida em seu blog, acesse aqui!

Fique por dentro das novidades se inscrevendo em nossa newsletter  

Thank you!

Autor do artigo

Paulo Henrique Oliveira

CEO da Linux Solutions, Networker e Millionaire Givers na BNI Brasil - Fiduciam RJ
Sobre mim
Mestre e Bacharel em Informática pela Universidade Federal do Rio de Janeiro. Graduado em Administração de Empresas pela Universidade Ibmec, com ampla experiência empresarial e liderança. Especialista em Linux e CEO da Linux Solutions, referência em soluções open source para seu negócio.
Criado com