O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:
1. Entender os problemas associados a sistemas operacionais e linguagens de programação quando utilizados para controlar dispositivos periféricos.
2. Entender os padrões de comunicação disponíveis e também o estado da arte na interface entre sistemas computacionais e dispositivos externos, ou seja, investigação das interfaces física e lógica entre sistemas computacionais e dispositivos periféricos (portas de entrada e saída).
3. Especificar, projetar, validar e implementar estudos de casos simples de dispositivos periféricos com e sem unidade de processamento (software e hardware embarcados).
4. Especificar, projetar, validar e implementar estudos de caso simples de device drivers de forma a realizar a interface entre sistemas operacionais e novos dispositivos periféricos anexados ao sistema.
5. Especificar, projetar, validar e implementar módulos em software e em hardware para dispositivos externos (periféricos) de forma a possibilitar seu controle a partir de sistemas computacionais.
1.1 Visão geral de um sistema computacional completo com entrada e saída
1.1.1 Diagrama de blocos
1.1.2 Descrição dos módulos de software e hardware do sistema
1.1.3 Visão geral das tecnologias Plug and Play (PCI, PnP ISA, PCMCIA) e ISA Legacy
1.1.4 Discussão, em linhas gerais, dos problemas associados à interface entre software e hardware
1.2 Aspectos e peculiaridades de sistemas operacionais e linguagens quando utilizados no acesso a dispositivos periféricos
1.3 Discussão dos trabalhos práticos a serem realizados no decorrer da disciplina, e do formato da documentação e especificação do projeto dessas implementações.
2.1. Padrões para utilização da porta paralela (SPP, EPP, ECP, PS-2)
2.2 Comunicação serial (RS-232C, RS-485, I2C, CAN, Profibus, SPI, USB)
3.1 Dispositivos periféricos sem unidade de processamento
3.1.1 Dispositivos simples que podem ser acionados diretamente sem nenhum tipo de configuração (ex. LEDs, acionadores para interfaces de potência);
3.1.2 Dispositivos mais complexos que necessitam algum tipo de configuração (ex. display de cristal líquido, controlador de comunicação serial, sensor de temperatura).
3.2 Dispositivos periféricos com unidade de processamento
3.2.1 Software e hardware embarcados;
3.2.2 Periféricos utilizados como unidade de co-processamento;
4.1 Identificação das necessidades
4.2 Estudo das facilidades existentes no sistema operacional
4.3 Etapas no projeto e implementação de um device driver genérico