Gerência e criação de módulos do kernel

Este artigo mostra como gerenciar e criar módulos do kernel. Para criação é necessário algum conhecimento de linguagem C e compilação com o gcc.

[ Hits: 39.869 ]

Por: Perfil removido em 18/06/2007


Introdução



O Linux possui um kernel relativamente pequeno que possui funcionalidades básicas e essenciais ao funcionamento do sistema. Mas ele não é tudo numa distribuição. Por esse motivo que os módulos existem.

Os módulos são funcionalidades (códigos) que não estão incluídas originalmente dentro do kernel, mas que podem ser acionados a medida que são exigidos. Na verdade eles são códigos objeto que estão em disco em sua forma inativa, que passam a atuar na memória principal junto ao kernel assim que os habilitamos (diga-se registramos).

É importante saber que cada versão de kernel introduz maneiras ou mecanismos extras na carga dos módulos, mas costuma-se guardar uma certa compatibilidade com as versões anteriores. No entanto, antes de instalar um módulo que não foi fornecido junto à sua distribuição, como um driver de vídeo, som, etc, leia bem a documentação desse driver para evitar qualquer tipo de incompatibilidade, pois a mesma pode causar instabilidade ao sistema.

Os principais comandos relacionados à gerência de módulos são: lsmod, insmod, rmmod, modinfo, modprobe e depmod. Veremos como usá-los em seguida.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Aplicação
   3. Criação
Outros artigos deste autor

Kshutdown e suas funções

Usando joysticks em jogos que não possuem opção para utilizá-lo no Linux

JSP - Parte 1

XL - Ferramenta de gerenciamento Xen - Parte I

Modem HSP 56 MR no Fedora Core 1

Leitura recomendada

Instalando o Slackware com suporte HT - SMP

Suporte a SATA NCQ em chipset NForce

Conheçam a linguagem D (saiu do forno)!

Recompilar o Kernel? Isso ainda existe??

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

  
Comentários
[1] Comentário enviado por mbsalgueiro em 18/06/2007 - 09:41h

Cara mto legal seu artigo so q falto informar onde vc tirou essas informacoes e onde podemos aprender mais sobre como programar p o kernel e seus modules... posta ae depois p nois n seja ruim vai!!! =D
abracao

[2] Comentário enviado por removido em 18/06/2007 - 17:16h

Realmente faltaram as fontes:

MORAES, Gleicon da Silveira, Programação Avançada em Linux. Novatec. 2005

BOVET, Daniel P.; CESATI, Marco. Understanding the linux kernel. O'Reilly. 2000

São muito bons livros, o do Gleicon (ISBN: 85-7522-076-4) é didático, mas superficial, agora para aprofundar o segundo é melhor (ISBN: 0-596-00002-2).

[3] Comentário enviado por sclinux em 18/06/2007 - 21:19h

Parabéns pelo artigo que certamente estimulará muitos iniciantes a aprofundarem seus conhecimentos sobre o kernel linux. Penso que quanto mais qualificados estiverem os profissionais que lidam com GNU/Linux melhor será o mercado de trabalho neste segmento.

[4] Comentário enviado por grabber em 19/06/2007 - 01:24h

Artigo bastante interessante e incentivador a todos os usuários intermediários de GNU/Linux. Desenvolvo módulos para kernel faz algum tempo e no início do artigo senti um pouco de inconsistência nos conceitos abordados. Mas está de parabéns essa é uma fonte incentivadora de novos talentos! Para quem quiser se aprofundar mais no kernel recomendo a leitura do livro da NOVELL, é extremamente abrangente! Atenciosamente, Grabber.

[5] Comentário enviado por removido em 19/06/2007 - 09:53h

Obrigado colegas chalhoub e grabber, o que faço aqui é simplesmente para contribuir, pois me identifico muito com a ideologia SL.
Desculpem as falhas ou as 'inconsistências', mas meu objetivo é divulgar e, como o grabber disse, incentivar.
Vocês que já publicaram artigos, sintam-se convidados a fazer o mesmo e fazer jus ao status de membro VOL.

[6] Comentário enviado por V3rM3 em 20/06/2007 - 10:56h

Parabéns mesmo.... esse artigo me deu Um NORTE =D

[7] Comentário enviado por cwars em 27/07/2007 - 13:08h

Com essa idéia de criar modulos, posso fazer com que isso crie uma extensão de novos tipos de arquivos diretamente no kernel, no caso java, de forma que os aplicativos possam ser executados de forma mais "nativa" e mais rapida, do mesmo jetio que foi feito o java no Mac OS X e o .Net no Windows Vista?

[8] Comentário enviado por removido em 31/07/2007 - 21:05h

cwars, não tenho certeza, mas se o kernel propiciar essa funcionalidade e você souber codifiá-la, é bem provável que você consiga criar esse módulo.
Não se esqueça que ele tem que ser carregado (insmod ou modprobe), se quiser que ele faça parte do kernel, é preciso adicionar essa função e compilar o fonte do kernel.

[9] Comentário enviado por cwars em 02/08/2007 - 07:27h

Então se essa possibilidade for possível... vou começar a fazer alguns testes, já que se isso funcionar talvés melhore o desempenho dessas máquinas virtuais.

[10] Comentário enviado por dekaysan em 19/07/2012 - 12:24h

olá eu tenho um tablet android, ele tem algo em comum com linux....
pois é o usb dele e o wifi tão dando problema...
e vi no kernel dele uns modulos .ko eu queria saber se tem como eu criar uns modules pra colocar no kernel dele.
pra resolver problema de wifi e usb.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts