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: 62.426 ]

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


Resumo



Muitas pessoas têm acesso a um computador e a uma suíte de aplicativos funcionando harmoniosamente para executar os trabalhos do dia-a-dia. Essa "harmonia" é possível graças ao sistema operacional funcionando como uma interface entre o software, o hardware e o usuário.

A partir deste artigo iremos conhecer uma parte do sistema operacional extremamente importante e pouco conhecida pelos usuários: o kernel. No decorrer das idéias, haverá uma atenção especial no estudo do kernel do Linux, quebrando alguns mitos, conhecendo a importância, as funcionalidades e comparando as versões anteriores de desenvolvimento do kernel do Linux.

PALAVRAS-CHAVE: sistema operacional, kernel, Linux, software.

Introdução

Existem programas de computador realizam diferentes funções, uns atuam diretamente com o usuário, alguns com o próprio equipamento, mas todos eles devem ser gerenciados pelo sistema operacional. É ele que faz todo o controle entre outros: do tempo, da permissão, das atualizações e do consumo que cada programa tem necessidade para funcionar corretamente, sempre objetivando a satisfação do usuário. Até mesmo quando um novo hardware e/ou software é instalado, o sistema operacional de imediato começa a gerenciar e tomar algumas decisões.

Há pouco tempo, quase ninguém sabia da existência do kernel. Era algo muito abstrato e restrito até mesmo aos estudantes de computação das universidades e aos desenvolvedores, o usuário sequer ouvia esta palavra. Com o surgimento do Linux, qualquer usuário intermediário já ouviu falar no kernel, embora exista uma gama de questionamentos a respeito do assunto.

    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

O Processo de Boot no Linux

Blu-ray: Reproduzindo, copiando, ripando e assistindo no GNU/Linux

kernel-ck para Arch Linux

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Algoritmos de compressão

  
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.

[email protected]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts