Ola' caro Wanderson,
--- wanderson <[EMAIL PROTECTED]> escreveu: > Alo aos programadores (ou engenheiros de soft, sei > lá :) > > Alguém poderia me dizer (ainda que por alto) o que > se leva em conta ao > escrever um driver? Ou seja, o que alguém precisa > saber para escrever um > driver para GNU/Linux? Isso se aprende na faculdade > ou dá pra aprender > "na marra"?. Esse cara precisaria de quais > informações? No linux/unixes, os drivers sao chamados de mo'dulos. Os mo'dulos sao co'digos objetos que inseridos no espaco do kernel oferecem controle `a um harwdware. No linux, modulos sao escritos em C . Nao eh necessario utilizar o assembly; ha' muitas funcoes e recursos do codigo do kernel que sao necessarios e utilizados para escrever os modulos - dai' que 90% eh tudo escrito em C, trabalhando **muito** com o codigo do kernel. Para tal entao, eh necessa'rio uma familiarizacao e dominio da linguagem C e um estudo de algumas partes do kernel do linux (eh necessario lidar com algumas "structs" do kernel para escrever um modulo, como "struct file" , "struct file operations" "ioctl.h" ,....) A funcao de um modulo eh ler e escrever em portas de I/O, emitir comandos para o hardware, controlar o fluxo de dados entre o kernel e o espaco do usuario, e algumas outras coisas que envolvem te'cnicas de programacao como lidar com condicoes de disputa (race conditions), variaveis atomicas, codigos reentrantes (..). Tal conhecimento vc pode obter buscando por fontes do kernel, lendo documentacoes sobre o assunto (o bom do linux eh que ha' **muita** documentacao), e ter forca de vontade para ficar buscando correspondencias no kernel do linux e tendo paciencia e vontade de um programador (leia-se noites varadas em busca de uma compilacao sem erros :) e tudo rodando como esperado ). Ha' um livro ****muito**** bom sobre o assunto : "Linux Device Drivers (Alessandro Rubini, ed. Oreilly)", que recomendo fortemente aos interessados em compra'-lo. Ha' uma versao eletronica em http://www.xml.com/ldd/chapter/book/index.html (2nda edicao). Sou um fissurado por kernel e drivers, essa eh minha praia na computacao :) . > (Não seria legal se TUDO funcionasse under linux? > :-). Seria excelente. > > Wanderson > ________________________________________________ > "God saves Dennis Ritchie and Brian Kerninghan". Essa foi boa.... :) , concordo que devemos muito `a esses caras .. participaram da construcao do MULTICS, criaram o UNIX, reescreveram o unix 2 vezes em assembly, criaram o C, .... Rodrigo F Baroni Computer Science Bach's Student. [EMAIL PROTECTED] [EMAIL PROTECTED] _______________________________________________________________________ Busca Yahoo! O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra. http://br.busca.yahoo.com/