O kernel do Linux: A definição, importância e funcionalidades

A partir deste artigo iremos conhecer uma parte do sistema operacional extremamente importante e pouco conhecida pelos usuários: o kernel.

[ Hits: 64.901 ]

Por: Aécio dos Santos Pires em 05/07/2007 | Blog: http://aeciopires.com


O que muda a cada nova versão do kernel do Linux?



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.

Cada versão é representada por três números distintos separados por ponto. O primeiro e o segundo número indicam qual a série, 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. Por exemplo: 2.6.20 indica que este kernel é estável pois a série é par. Já o 2.5.14 indica que é instável, pois a série é ímpar.

O kernel atual e estável é o 2.6.26. Em relação as versões anteriores, o kernel trouxe alguns avanços que irão beneficiar desde plataformas embarcadas, que demandam tempo de resposta baixo nível, até grandes sistemas multiprocessados, que necessitam um alto nível de paralelismo. As áreas em que o kernel 2.4 era suboptimal foram otimizadas.

O sistema de gerenciamento de entrada/saída também foi largamente aprimorado, possibilitando um melhor aproveitamento da performance dos discos, ao mesmo tempo em que proporciona uma maior interatividade. Um novo modelo de organização de dispositivos foi criado - device model, permitindo uma unificação na sua representação, além do aprimoramento no gerenciamento de energia e da infra-estrutura de hotplugging (remoção e adição de dispositivos enquanto o sistema esta no ar).

Ele também se tornou preemptivo, ou seja, agora é possível que ele seja interrompido por uma tarefa de maior prioridade, o que resulta em uma menor latência. Genericamente, a nova versão é vantajosa para todos. O desenvolvimento de novos projetos que utilizam Linux deve basear-se na nova versão do Kernel. Primeiramente, os usuários irão notar um aumento na velocidade do sistema, que está visualmente melhor.

Página anterior     Próxima página

Páginas do artigo
   1. Resumo
   2. O que é kernel?
   3. O que muda a cada nova versão do kernel do Linux?
   4. Considerações finais
Outros artigos deste autor

TCOS - Uma alternativa eficiente aos terminais burros

Leitura recomendada

Kernel-BALA

Recompilando o kernel com suporte a placas de rede Encore rtl8139D (Silan)

Compilação do kernel v3.x no CentOS e Debian

Instalando o kernel 2.6.13 pré-compilado no Slackware 10.2

Ksplice - atualizando o kernel sem necessidade de reboot

  
Comentários
[1] Comentário enviado por pablover em 05/07/2007 - 08:24h

Por acaso essa definição de números pares e ímpares para as versões do kernel já não foi abandonada? Se não me engano isso aconteceu após o desenvolvimento do kernel passar a usar o GIT para controle de versões (a mais de um ano).

[2] Comentário enviado por aeciopires em 05/07/2007 - 08:47h

Olá, Pablo!

Você está com toda razão, mas permita-me fazer esta correção :

Como você disse a definição de números pares e ímpares foi abandonada e o kernel, desde um bom tempo adota o sistema GIT para controle de versões.

O GIT é sistema popular de controle de versão que foi originalmente escrito por Linus Torvalds e atualmente é mantido por Junio C Hamano para ser usado no desenvolvimento do seu kernel. O GIT é usado no desenvolvimento de grandes projetos para aumentar a rapidez e a eficiência dos trabalhos.

O GIT é projeto de software aberto e "licenciado" pelo Guia de Licença Pública GNU.

Para mais detalhes sobre o GIT visite Git - Fast Version Control System Disponível em: http://git.or.cz/

Muito Obrigado pela dica!












[3] Comentário enviado por coffnix em 05/07/2007 - 10:26h

vc tá doido? kernel atual 2.6.26????

veja em www.kernel.org

The latest snapshot for the stable Linux kernel tree is: 2.6.22-rc7-git4 2007-07-04 19:01 UTC B V C


ou seja? o último é o 2.6.22-rc7

abração

[4] Comentário enviado por aeciopires em 05/07/2007 - 10:52h

Oi, chemonz!

Foi um dispicência enorme minha ao errar na digitação! Eu sei que ainda não chegamos a utilizar o kernel 2.6.26. Continue dando esses "toques" que no próximo artigo eu irei melhorar.

Até mais!

[5] Comentário enviado por coffnix em 05/07/2007 - 11:18h

ae aeciopires....

esquenta não cara!!! vlw e continue mandando material de excelente conteúdo como esse pro VOL.

abração

[6] Comentário enviado por aeciopires em 05/07/2007 - 11:23h

Não se preocupe não amigo, eu acredito que as críticas só existem para ajudar a concertar os erros. E quanto a novos artigos eu irei continuar a minha de pesquisa sobre o kernel é só esperar. Ah eu terei mais atenção desta vez ehehehhe

[7] Comentário enviado por Ed_slacker em 06/07/2007 - 00:23h

Tenho uma dúvida: como funciona o sistema de versões do kernel agora com o uso do GIT?
Antes valia o que está no artigo: os dois primeiros dígitos informando a série do kernel e o terceiro dígito informando a versão de série do kernel.

Grato.

[8] Comentário enviado por aeciopires em 06/07/2007 - 12:51h

Olá, Edi!

O GIT é um sistema de controle de versões distruído. Para entender melhor vejamos o seguinte: existem dois tipos de modelos de software para controle de revisões: os centralizados e os distribuídos.

O modelo centralizado funciona à base de um repositório central onde todos os developers vão buscar a mais recente versão do projecto (criando uma cópia local na qual trabalham) e para onde submetem
as suas alterações.

O modelo distribuído funciona de forma a que cada developer trabalhe no seu próprio repositório e depois possa integrar ou submeter as mudanças de outros developers ou distribuir as suas próprias de
forma separada, individualmente ou em conjuntos. É costume existir também um repositório central, mas no entanto este funciona como se fosse apenas mais um developer do qual os outros developers podem escolher integrar as suas alterações ou não. Uma das grandes vantagens deste sistema é que ao contrário dos sistemas centralizados, podem funcionar num ambiente peer to peer, e um developer que esteja a trabalhar em algo mais complicado pode continuar a desenvolver essa parte do software na mesma cópia sem ter de submeter essas alterações para os outros developers.

A maior parte das informações - com todo o histórico - ficam guardadas num repositório (repository em inglês), num servidor qualquer. Geralmente o acesso é feito por um cliente pela rede (via socket) e pode ser feito localmente quando o cliente está na mesma máquina do servidor.

O repositório armazena a informação - um conjunto de documentos - de modo persistente num sistema de arquivos ou num banco de dados qualquer. É possível que o armazenamento seja feito em outros dispositivos capazes de "eternizar" e resgatar facilmente a informação.

Cada servidor pode ter vários sistemas de controle de versão e cada sistema pode ter diversos repositórios, limitando-se na capacidade de gerenciamento do software e também no limite físico do hardware. Geralmente um repositório possui um endereço lógico que permite a conexão do cliente. Esse endereço pode ser um conjunto IP/porta, uma URL, um caminho do sistema de arquivos etc.

Cada desenvolvedor possui em sua máquina uma cópia local (também chamada de working copy em inglês) somente da última versão de cada documento. Essa cópia local geralmente é feita num sistema de arquivos simples. A cada alteração relevante do desenvolvedor é necessário "atualizar" as informações do servidor submetendo (commit em inglês) as alterações. O servidor então guarda a nova alteração junto com todo o histórico mais antigo. Se o desenvolvedor quer atualizar sua cópia local é necessário atualizar as informações locais, e para isso é necessário baixar novidades do servidor (ou fazer update em inglês).

na prática o sistema de numeração do kernel passa a ser assim linux-2.6.git

2.6- indica a série do kernel

git- indica a versão da sériel do kernel

Para mais detalhes eu lhe recomendo acessar um artigo disponível na wikipédia: Sistema de Controle de Versão dponível em:

http://pt.wikipedia.org/wiki/Sistema_de_controle_de_vers%C3%A3o

Muito obrigado e peço desculpa a todos vocês por não ter incluído e atualizado isto no artigo.

[9] Comentário enviado por f_Candido em 09/07/2007 - 00:17h

Bem instrutivo. Gostei bastante, está me ajudando bastante na minha caminhada no Mundo Livre.

[10] Comentário enviado por angeloshimabuko em 14/07/2007 - 18:09h

O sistema de numeração atual do kernel possui 3 (x.y.z) ou 4 dígitos (x.y.z.w), onde x=2 e y=6. As versões estáveis e de desenvolvimento confundem-se. Quando uma nova release (z, onde o mais atual é z=22) é lançada, é porque possui algumas novas funcionalidades (a release 2.6.22 é de 08.07.2007) - v. changelog em <http://www.kernel.org/pub/linux/kernel/v2.6/>. Correções de bugs são lançadas incluindo-se o quarto dígito (w). O kernel 2.6.22.1 foi lançado em 10.07.2007.

[11] Comentário enviado por lazarojcs em 17/12/2007 - 11:02h

Prezados leitores aproveitando o espaço gostaria de saber se existe um curso direcionado apenas ao kernel do linux, criação de modulos, etc

se souberem podem estar enviando em meu e-mail ou postando aqui.

lazarojcs@hotmail.com


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts