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

Realizar um estudo de caso, analisando o funcionamento de um driver usb para Linux.

Objetivos específicos

editar

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

Explicar trechos de código-fonte relevantes, visando realizar a integração entre teoria e prática

editar

Introduzir brevemente a teoria empregada em cada seção do trabalho, citando a referência específica sobre o assunto

editar

Conteúdo

editar

O trabalho deverá sempre que possível, procurar atingir os objetivos geral e específicos.

Introdução

editar

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
  • 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

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

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

quais estruturas são inicializadas, tipo de estruturas inicializadas (buffer, por exemplo), registro de URB;

Registro do driver (register)

editar

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

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

mensagens de remoção do dispositivo; desalocação/liberação de estruturas;

Considerações finais

editar

informações gerais do driver, conclusões, mapa conceitual sobre o driver estudado;

Bibliografia/Referências

editar