O que é o Linux ?
Linux é um kernel.
Kernel pode ser entendido como uma série de arquivos escritos em linguagem C e em linguagem Assembly que constituem o núcleo do sistema operacional. É o kernel que controla todo o hardware do computador. Ele pode ser visto como uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de permitir que todos os processos sejam executados pela CPU e permitir que estes consigam compartilhar a memória do computador.
Ele representa a camada mais baixa de interface com o Hardware, sendo responsável por gerenciar os recursos do sistema computacional como um todo. É no kernel que estão definidas funções para operação com periféricos (mouse, disco, impressora, interface serial/interface paralela), entre outros. Resumidamente, o kernel é um conjunto de programas que fornece para os programas de usuário (aplicativos) uma interface para utilizar os recursos do sistema.
Mas o kernel chama-se Linux porque derivada do nome do autor do núcleo deste sistema operacional, Linus Torvalds. O Linux é hoje em dia um kernel usado em muitos sistemas operacionais com todas as características do Unix, com uma implantação invejável e em constante evolução, é de domínio público. Normalmente e distribuído em diferentes distribuições (mais á frente explicaremos em pormenor o que é distribuições) que nada mais são do que um núcleo (recompilável) acompanhado de programas, utilitários, ferramentas, documentação, etc.
Historia do Linux
Para entender melhor tudo o que envolve o kernel do Linux é interessante ver um pouco da história do sistema (para conhecer a história completa visite o site http://www.infowester.com/linux5.php). O kernel do Linux foi idealizado pelo finlandês Linus Torvalds, em 1991. Torvalds era um estudante de ciência da computação que em seus estudos teve a necessidade de criar uma nova versão do Minix, um sistema operacional baseado no Unix e desenvolvido por Andy Tannenbaum.
Linus começou a trabalhar nesse projecto e quando desenvolveu algo concreto, enviou uma mensagem para um grupo de usuários do Minix na Usenet (a antecessora da Internet). Na mensagem, Torvalds notificou sobre sua criação e avisou que disponibilizaria o código-fonte do que tinha desenvolvido a todos os interessados.
O que Linus Torvalds tinha criado, na verdade, era a primeira versão do kernel do Linux. Assim, falando por alto, bastava juntar uma série de aplicativos com o kernel para que um sistema operacional fosse criado.
LInus Torvalds tinha vontade de ter um sistema operacional no qual fosse possível alterar conforme a necessidade. Ao criar a “nova versão” do Minix, Torvalds tinha desenvolvido um meio de usar o hardware de um computador por software e portanto, restava agora a cada interessado adicionar os aplicativos e as funcionalidades desejadas para assim constituir um sistema operacional. Em outras palavras, o “motor” do sistema estava criado, bastava adicionar a “carroceria”.
O nome Linux é uma mistura de Linus com Unix. E como Linux é o nome de um kernel, deveríamos dar o nome de “O kernel Linux” ao título deste artigo. Devido a essa questão – sobre o que de fato o nome Linux representa – o correto é dar o nome GNU/Linux a todas as distribuições desse sistema, uma vez que essas são constituídas pelo kernel – o Linux – mais uma colecção de programas e aplicativos, sendo que a quase totalidade desses softwares são baseados nos conceitos da GNU. No entanto, por questões de comodidade, convencionou-se a utilizar o nome Linux para toda e qualquer distribuição.
As versões do kernel
Periodicamente, novas versões do kernel do Linux são lançadas. Isso ocorre para prover melhoras em uma determinada função da versão anterior, para corrigir vulnerabilidades e para adicionar recursos ao kernel, principalmente compatibilidade com novos hardwares.
Como o Linux é um sistema operacional aberto, qualquer pessoa pode estudar e/ou alterar seu código-fonte. Devido a isso, tanto as versões estáveis quanto as versões que ainda estão em desenvolvimento são disponibilizados a qualquer pessoa. Para que seja possível distinguir uma versão estável de uma em desenvolvimento, foi adoptada a seguinte convenção:
Cada versão do kernel é representada por 3 números distintos separados por ponto. O primeiro e o segundo número indicam qual a série daquele kernel, enquanto que o terceiro número indica qual a versão do kernel naquela série. Se o segundo número da representação for ímpar, significa que aquela série ainda está em desenvolvimento, ou seja, é uma versão instável e em fase de testes e aperfeiçoamentos. Se o número for par, significa que aquela série possui estabilidade para funcionar. O terceiro número se altera quando algum recurso é alterado ou adicionado. Para um melhor entendimento, vamos a alguns exemplos:
2.6.2 - Esta versão do kernel é estável, pois sua série é par (6).
2.4.5 - Esta versão do kernel é estável, pois sua série é par (4).
2.5.19 - Esta série é instável, pois sua série é ímpar (5).
É importante frisar que você não precisa usar sempre a última versão do kernel. Só é recomendável fazer uma atualização em casos de necessidade de compatibilidade com novo hardware ou em casos de melhorias de recursos. Em alguns casos, principalmente com computadores antigos, o desempenho é melhor se usado um kernel antigo. Em situações simples, talvez seja melhor apenas aplicar um patch (uma correcção para um problema) do que adicionar um kernel novo.
Compatibilidade
O kernel do Linux permite que o sistema operacional seja compatível com uma série de plataformas, desde palmtops até mainframes. Até mesmo nos computadores da Apple é possível instalar o Linux. As principais plataformas compatíveis são: Apple, Sun, Sparc, Alpha, PowerPC, i386 (Intel), ARM, entre outras.
Também existe compatibilidade com sistemas de arquivos. Acredite, apesar de não ser recomendável por questões de desempenho, é possível instalar o Linux até mesmo em partições FAT32. As principais compatibilidades neste aspecto são com os seguintes sistemas de arquivos: FAT, FAT32, ext2, ext3, ReiserFS, JFS, NTFS, entre outros.
Actuação do kernel
Obviamente, o kernel “começa a trabalhar” no processo de inicialização (boot) do sistema, a partir das instruções que são lidas na MBR (Master Boot Record), um recurso responsável por indicar ao BIOS do computador como e onde carregar o sistema operacional. Quando isso ocorre, o kernel começa a detectar os dispositivos de hardware essenciais do computador, como a placa de vídeo. Se até aqui tudo ocorrer sem problemas, toda a imagem do kernel passa a ser carregada. Findo esse processo, o kernel checa a memória e a prepara para o uso através de uma função de paginação. As interrupções (IRQs), os discos, memória-cache, entre outros, são accionados em seguida.
Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. O kernel carrega as funções responsáveis por verificar o que deve ser inicializado em nível de software e processos, como, por exemplo, o conteúdo do arquivo /etc/init. Geralmente o que é carregado é a tela de login do usuário.
Usuário logado, sistema operacional trabalhando. O kernel agora executa suas funções, como a de controlar o uso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware.
É interessante notar que as distribuições Linux montam o kernel com recursos e drivers básicos para hardware, afinal carregar o suporte a todo tipo de dispositivo é algo inviável. O kernel ficaria extremamente grande e somente os drivers relacionados ao hardware do computador em questão é que seriam usados. Para lidar com esse tipo de problema, os drivers são carregados como módulos após o kernel ser ativado. A questão é que carregar recursos por módulo gera uma queda de desempenho (pouco significativa em computadores rápidos) e por isso, muitos usuários preferem recompilar o kernel de seus sistemas para que esse carregue os drivers junto com sua inicialização, ou seja, sem usar módulos.

Aos que se interessam por esse tipo de estudo, entender o que é o kernel de um sistema operacional e como ele funciona é algo realmente fantástico. Talvez essa questão não seria tão conhecida entre os adeptos da computação se o Linux não fosse um sistema de código-fonte aberto. Graças a ela, qualquer pessoa pode tirar proveito do sistema operacional, ou melhor, do kernel, seja para estudar seu funcionamento, seja para usá-lo em um terminal de uma loja. O kernel é o núcleo de um sistema operacional e assim, não é errado dizer que o Linux é o coração das distribuições GNU/Linux. Mas isso é pouco. O Linux, mesmo que indiretamente, é um dos grandes responsáveis pela divulgação das filosofias que regem a cultura do software livre.
Esta informação foi retirada do site: http://www.infowester.com/linuxkernel.php
Se quiser ter a noção de como foi e está evoluindo os sistemas provenientes de Unix, não deixa de visitar este site: http://www.levenez.com/unix/
A história do Tux
Em 1996, muitos integrantes da lista de discussão Linux-Kernel estavam discutindo sobre a criação de um logótipo ou de um mascote que representasse o Linux. Muitas das sugestões eram paródias ao logótipo de um sistema operacional concorrente e muito conhecido. Outros eram monstros ou animais agressivos (pelo menos lendariamente), como tubarões e águias. Linus Torvalds acabou entrando nesse debate ao afirmar em uma mensagem que gostava muito de pinguins. Isso foi o suficiente para dar fim à discussão.
Depois disso, várias tentativas foram feitas numa espécie de concurso para que a imagem de um pinguim servisse aos propósitos do Linux, até que alguém sugeriu a figura de um “pinguim sustentando o mundo”. Em resposta, Linus Torvalds declarou que achava interessante que esse pinguim tivesse uma imagem simples: um pinguim “gordinho” e com expressão de satisfeito, como se tivesse acabado de comer uma porção de peixes. Torvalds também não achava atraente a ideia de algo agressivo, mas sim a ideia de um pinguim simpático, do tipo em que as crianças perguntam “mamãe, posso ter um desses também?”. Ainda, Torvalds também frisou que trabalhando dessa forma, as pessoas poderiam criar várias modificações desse pinguim. Isso realmente acontece. Existem várias versões do Tux na internet.
Quando questionado sobre o porquê de pinguins, Linus Torvalds respondeu que não havia uma razão em especial, mas os achava engraçados e até citou que foi mordido por um “pinguim assassino” na Austrália. Além disso, a possibilidade de criação de versões desse pinguim são enormes. Como comparação, Torvalds citou que o logótipo do sistema operacional Windows não era ruim, mas pouco é possível fazer com ele.
Diante dessa situação, um concurso foi proposto para a escolha de uma imagem ideal de pinguim e o desenho criado por Larry Ewing acabou sendo o escolhido. Ele o havia criado usando o programas GIMP.
Apoiando as intenções de criatividade, tão logo seu desenho foi escolhido, Larry Ewing autorizou o uso e mudanças na imagem, contanto que sua autoria (lewing@isc.tamu.edu) e o uso do GIMP sejam mencionados no caso de alguém perguntar. As imagens abaixo mostram a evolução do desenho.

O nome Tux
Essa é uma questão que ainda gera controvérsias, mas a versão aceitável é a de que o nome Tux veio de “tuxedo”, palavra em inglês para um tipo de roupa que no Brasil é conhecido como “smoking” ou “fraque”. Isso porque as cores dos pinguins lembram um ser usando esse tipo de vestimenta. No entanto, há quem afirme que o nome Tux também é usado como referência ao nome de Linus Torvalds com Unix: Torvalds UniX.
Na escolha de nomes, houve outras sugestões, como Homer, em referência ao personagem Homer Simpsons da série de desenho animado The Simpsons. Essa sugestão foi dada pelo fato do Tux ser semelhante ao personagem em questão.
O Tux real
Alan Cox, outra personalidade por trás do Linux, juntamente com a revista Linux World, decidiu dar o nome de Tux a um pinguim do zoológico de Bristol, na Inglaterra, como forma de homenagear Linus Torvalds por seu aniversário. No entanto, esse pinguim em nada se parece com o Tux em forma de desenho. A imagem do Tux real é mostrada abaixo:

O uso de uma figura de um pinguim como logotipo do Linux certamente foi uma escolha feliz, pois é uma imagem convidativa, que desperta a curiosidade e que talvez transmite a sensação de algo feito em comunidade, pois “pinguins vivem em bandos”. O Tux ganhou tanta importância que hoje existem até produtos que usam sua imagem, como adesivos, enfeites de mesa, roupas, bonecos de pelúcia, entre outros. Não podia ser diferente, afinal o Tux representa não somente o Linux, mas também toda a sua comunidade.
Esta informação foi retirada do site: http://www.infowester.com/tux.php