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.899 ]

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


Considerações finais



Este artigo mostrou o que é o kernel e como ele é tão importante para que as solicitações feitas pelo usuário sejam desempenhadas corretamente. Instalar e/ou desenvolver software ficou mais fácil e mais transparente tanto para o usuário quanto para o desenvolvedor que tinha sempre que incluir as bibliotecas para suportar cada novo dispositivo de hardware conectado no computador.

Com a expansão do Software Livre, o núcleo do sistema operacional passou a ser mais conhecido e estudado aumentando a velocidade na inclusão de suporte a novos dispositivos e a correção de erros, o que é ótimo no desenvolvimento de software.

O kernel ou núcleo de um sistema operacional, é algo muito complexo e este artigo teve o objetivo de apenas introduzir nossos estudos nessa área. Os próximos artigos abordarão este tema com mais minuciosidade, entretanto é recomendável iniciar as pesquisas a partir das referências deste trabalho.

Referências

InfoWester - O kernel do Linux. Disponível em:
http://www.infowester.com/linuxkernel.php
Acesso em: 26 de junho de 2007.

Widefox - Kernel comparasion Linux vs Windows. Disponível em:
http://widefox.pbwiki.com/Kernel%20Comparison%20Linux%20vs%20Windows
Acesso em: 15 de maio de 2007.

Kernel News Bies. Disponível em:
http://kernelnewbies.org/
Acesso em: 17 de maio de 2007.

Linux HQ. Disponível em:
http://www.linuxhq.com/lkprogram.html
Acesso em: 17 de maio de 2007.

Linux On-line. Disponível em:
http://www.linux.org/docs/ldp/howto/KernelAnalysis-HOWTO-1.html#ss1.1
Acesso em: 17 de maio de 2007.

The Linux Kernel. Disponível em:
http://www.tldp.org/LDP/tlk/tlk.html
Acesso em: 22 de maio de 2007.

Wikipédia - A Enciclopédia Livre. Disponível em:
http://pt.wikipedia.org/wiki/Kernel
Acesso em: 22 de maio de 2007.

Viva o Linux. Disponível em:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=3931
Acesso em: 22 de maio de 2007.

The Linux Kernel Archives. Disponível em: www.kernel.org
Acesso em: 25 de maio de 2007.

O Maravilhoso Mundo do Linux 2.6. Disponível em:
http://br.geocities.com/cesarakg/wwol26-ptBR.html
Acesso em: 25 de maio de 2007.

GNU-RUY. Disponível em:
http://www.gnu.frb.br/noticias/2004/kernel/
Acesso em: 25 de maio de 2007.

Página anterior    

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

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

IPCMSG: Comunicação inter-processos sem magia negra

UZIX - O Linux do MSX (Z80)

Compilação do Kernel

Debian com kernel 2.6.10 - passo a passo

  
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