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
[editar | editar código-fonte]Realizar um estudo de caso, analisando o funcionamento de um driver usb para Linux.
Objetivos específicos
[editar | editar código-fonte]Obs.: 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
[editar | editar código-fonte]Explicar trechos de código-fonte relevantes, visando realizar a integração entre teoria e prática
[editar | editar código-fonte]Introduzir brevemente a teoria empregada em cada seção do trabalho, citando a referência específica sobre o assunto
[editar | editar código-fonte]Conteúdo
[editar | editar código-fonte]O trabalho deverá sempre que possível, procurar atingir os objetivos geral e específicos.
Introdução
[editar | editar código-fonte]Artigo 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 | editar código-fonte]- 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)
[editar | editar código-fonte]processo 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)
[editar | editar código-fonte]quais 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
[editar | editar código-fonte]quais estruturas são inicializadas, tipo de estruturas inicializadas (buffer, por exemplo), registro de URB;
Registro do driver (register)
[editar | editar código-fonte]como 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
[editar | editar código-fonte]arquivos 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
[editar | editar código-fonte]mensagens de remoção do dispositivo; desalocação/liberação de estruturas;
Considerações finais
[editar | editar código-fonte]informações gerais do driver, conclusões, mapa conceitual sobre o driver estudado;