Introdução aos Sistemas Operacionais/Exemplo de Drivers USB em Linux: Quickcam USB Cameras
ATENÇÃO: Este é um tópico em construção. Atualmente a página apresenta lixo de material em construção, como por exemplo o roteiro a ser seguido pelos editores para a construção deste artigo. Ao final da construção do arquivo o lixo será removido e apenas a seção Conteúdo será mantida. A previsão para a entrega deste trabalho é de 16/11/2010, então a partir desta data a versão final estará disponível.
Objetivo geral
editarRealizar um estudo de caso, analisando o funcionamento de um driver usb para Linux.
Objetivos específicos
editarObs.: os trechos de código-fonte podem incluir estruturas, macros, variáveis, funções, etc;
Identificar trechos de código-fonte relevantes, informando a linha de código
editarExplicar trechos de código-fonte relevantes, visando realizar a integração entre teoria e prática
editarIntroduzir brevemente a teoria empregada em cada seção do trabalho, citando a referência específica sobre o assunto
editarConteúdo
editarO trabalho deverá sempre que possível, procurar atingir os objetivos geral e específicos.
Introdução
editarArtigo produzido por alunos do curso de Ciência da Computação da UFG (Universidade Federal de Goiás) através de um trabalho da disciplina de Sistemas Operacionais 2, ministrado pelo Professor Marcelo Akira Inuzuka.
Este trabalho objetiva realizar um estudo de caso sobre drivers USB, analisando e avaliando o seu funcionamento em Sistema Operacional Linux.
Informações gerais
editar- Grupo
- Bruno Vieira de Sousa
- Érika Demachki
- Thiago Vieira de Sousa
- Versão do kernel: [FALTA]
- Sistema Operacional Linux testado: Debian
- Identificação do driver analisado: [FALTA]
- Lista de arquivos de código-fontes analisados:
- [FALTA]
- Outras informações relevantes:
- [FALTA]
Carga (load ou init)
editarprocesso de carga do módulo, parâmetros que podem ser passados na carga do módulo, como passar uma parâmetro para o módulo, etc;
Reconhecimento ou detecção (probe)
editarquais dispositivos podem ser reconhecidos, como se processa a identificação do dispositivo, o que ocorre quando o driver não é reconhecido (erro), etc;
Inicialização de estruturas
editarquais estruturas são inicializadas, tipo de estruturas inicializadas (buffer, por exemplo), registro de URB;
Registro do driver (register)
editarcomo o driver é reconhecido, quais procedimentos (comandos) para verificar qual dispositivo específico que foi reconhecido, quais drivers que foram carregados para o dispositivo, etc;
Comunicação
editararquivos especiais de dispositivo (/proc, /dev e /sys); criação de interface, criação de endpoint, criação de configuração (configuration), tipos de comunicação utilizados pelo driver (control, bulk, etc);
Finalização
editarmensagens de remoção do dispositivo; desalocação/liberação de estruturas;
Considerações finais
editarinformações gerais do driver, conclusões, mapa conceitual sobre o driver estudado;