Cassic

O que é Linux?

Autor: Bruno Lopes


O que é Linux?

  Linux é o termo geralmente usado para designar qualquer sistema operacional ou que utilize o núcleo Linux. Foi desenvolvido pelo finlandês Linus Torvalds, inspirado no sistema Minix. O seu código fonte está disponível sob licença GPL para qualquer pessoa utilizar, estudar, modificar e distribuir de acordo com os termos da licença. Inicialmente desenvolvido e utilizado por grupos de entusiastas em computadores pessoais, o sistema Linux passou a ter a colaboração de grandes empresas, como IBM, a Sun Microsystems, Hewlwtt-Packard, Red Hat, Novell, Google e a Canonical.

História

  O kernel do Linux foi, originalmente, escrito por Linux Torvalds do Departamento de Ciências da Computação da Universidade de Helsinki, Finlândia, com a ajuda de vários programadores voluntários através da Usenet (uma lista de discussão existente desde os primórdios da internet).

  Linux Torvalds começou o desenvolvimento do kernel como um projeto particular, inspirado pelo seu interesse no Minix, um pequeno sistema INUX desenvolvido por Andrew S. Tanenbaum. Ele limitou-se a criar, nas suas próprias palavras, “um Minix melhor que o Minix” (“a better Minix than Minix”). E depois de algum tempo de trabalho no projeto sozinho, enviou a seguinte mensagem para comp.os.minix:

"Você suspira pelos bons tempos do Minix-1.1, quando os homens eram homens e escreviam seus próprios "devices drivers"? Você está sem um bom projeto em mãos e deseja trabalhar num S.O. que possa modificar de acordo com as suas necessidades? Acha frustante quando tudo funciona no Minix? Chega de noite ao computador para conseguir que os programas funcionem? Então esta mensagem pode ser exatamente para você. Como eu mencionei há um mês estou trabalhando numa versão independente de um S.O. similar ao Minix para computadores AT-386. Ele está, finalmente, próximo do estado em que poderá ser utilizado (embora possa não ser o que você espera), e eu estou disposto a disponibilizar o código-fonte para ampla distribuição Ele esta na versão 0.02... contudo eu tive sucesso ao executar bash, gcc, gnu-make, gnu-sed, compressão etc. nele."

  Curiosamente o nome Linux foi criado por Ari Lemmke, administrador do site ftp.funet.fi que deu esse nome ao diretório FTP onde o kernel Linux estava inicialmente disponível (Linus tinha-o batizado como "Freax" inicialmente).


Núcleo (Kernel)

  O termo Linux refere-se ao núcleo (ou "cerne", "coração" do inglês Kernel) do sistema operacional. O termo também é usado pelos meios de comunicação e usuários para referir-se aos sistemas operacionais baseados no núcleo Linux agregado a outros programas. Segundo Tanenbaum e Silberschatz um Kernel pode ser considerado o próprio sistema operativo, quando este é definido como um gerenciador de recursos de hardware.


Arquitetura

  O Linux é um kernel monolítico: as funções do kernel (escalonamento de processos, gerenciamento de memória, operações de entrada e saída, acesso ao sistema de arquivos) são executadas no espaço do kernel. Uma característica do kernel Linux é que algumas das funções (drivers de dispositivos, suporte à rede, sistemas de arquivos, por exemplo) podem ser compiladas e executadas como módulos (LKM – Loadable Kernel Modules), que são bibliotecas compiladas separadamente da parte principal do kernel e podem ser carregadas e descarregadas após o kernel e pode ser carregadas e descarregadas após o kernel estar em execução.


Portabilidade

  Embora Linus Torvalds não tenha tido como objetivo inicial tornar o Linux um sistema portável, ele evoluiu nessa direção. Linux é hoje um dos núcleos de sistemas operativos mais portáveis, correndo em sistemas desde o iPaq (um computador portátil) até o IBM S/390 (um denso e altamente custoso mainframe).

  Os esforços de Linus foram também dirigidos a um diferente tipo de portabilidade. Portabilidade, de acordo com Linus, era a habilidade de facilmente compilar aplicações de uma variedade de código fonte no seu sistema; conseqüentemente, o Linux originalmente tornou-se popular em parte devido ao esforço para que os códigos-fonte GPL ou outros favoritos de todos corressem em Linux.

  O Linux hoje funciona em dezenas de plataformas, desde mainframes até um relógio de pulso, passando por varias arquiteturas: x86 (Intel, AMD), x86-64 (Intel EM64T, AMD64), ARM, PowerPC, Alpha, SPARC etc., com grande penetração também em sistemas embarcados, como handhelds, PVR, console de videogames, entre outros.