Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,045 views

Published on

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

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

×