Académique Documents
Professionnel Documents
Culture Documents
Introdução
Independente de qual seja, todo sistema operacional possui um kernel. Trata-se de um item fundamental, que
antes do Linux era conhecido apenas por estudantes de computação de grandes universidades ou por
desenvolvedores da área. Após o surgimento do Linux, o termo kernel ficou mais conhecido e qualquer um que
já tenha se aventurado no Linux sabe de sua existência. Porém, os conceitos que envolvem o kernel não são
claros a muita gente e por isso poucas pessoas sabem exatamente o que é kernel. O objetivo deste artigo é dar
explicações sobre isso, mas com ênfase no kernel do Linux.
O que é kernel
Kernel pode ser entendido com 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.
O kernel 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, clique aqui). 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 projeto 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
grossamente, 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, talvez o InfoWester
deveria 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 coleçã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 adotada 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).
Imagem do
kernel carregando