Como Escrever Módulos Para o Kernel - Fábio Olivé Leite

1.037 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.037
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
12
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Como Escrever Módulos Para o Kernel - Fábio Olivé Leite

  1. 1. Como Escrever Módulos Para o Kernel Fábio Olivé Leite fabio.olive@gmail.com 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  2. 2. Tópicos ● Não era monolítico? ● Adicionando código a um kernel em execução ● Removendo código de um kernel em execução ● Símbolos e ligação dinâmica ● Prática 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  3. 3. Não era monolítico? ● Sim! Continua sendo ● Partes não essenciais podem ser carregadas  sob­demanda ● Geralmente drivers e protocolos ● Se fizer alguma coisa errada, trava mesmo 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  4. 4. Adicionando código a um kernel em execução ● Não se faz! (para os iniciantes) ● Faça com cuidado! (para os mais crescidinhos) ● Usa esse modelo e pronto (para os  experientes) ● Quais são os perigos? ● Como funciona? 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  5. 5. Removendo código de um kernel em execução ● Mais perigoso ainda!!! – Races aos montes ● Pode estar em uso por aplicações – Como saber? ● Pode ter recursos alocados – Como liberar? 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  6. 6. Símbolos e ligação dinâmica ● O kernel exporta vários símbolos – Ponteiros para funções ● O módulo usa os símbolos do kernel ● O módulo exporta seus pontos de entrada ● Na carga do módulo, é feita a ligação dinâmica  dos símbolos do kernel usados pelo módulo ● É chamado o ponto de entrada do módulo 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  7. 7. Prática ● Makefile padrão ● Quais #includes usar? ● Parâmetros pro gcc ● Módulo “Hello World!” ● Compilando ● Carregando/descarregando 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre
  8. 8. Demonstração / Perguntas A única pergunta boba é a não perguntada. 1° Workshop de Desenvolvimento TcheLinux http://www.tchelinux.org 31/03/2007 – FTEC – Porto Alegre

×