5 Sistemas Computacionais devem interagir com o ambiente para serem
6 úteis. Seja um terminal, uma interface de rede, um sistema de vídeo e
7 som ou um conjunto sensor/atuador, é necessário software para
8 controlar tais dispositivos. Os sistemas operacionais modernos são
9 responsáveis por oferecer a estrutura necessária para a execução de
10 tais softwares controladores, conhecidos como drivers.
12 O Linux é um kernel monolítico, porém modular, com características
13 POSIX. Desenvolvido de forma aberta, licenciado como GPLv2, ele
14 suporta várias arquiteturas e plataformas. Sua versão 2.6 apresenta
15 mudanças que aumentam sua escalabilidade e o suporte a vários
21 Conhecer os diferentes modelos de dispositivos e drivers suportados
22 pelo Linux, suas interfaces para criar novos drivers. Discute
23 dispositivos seriais, de blocos, de rede e terminais.
28 Programadores e projetistas de sistemas computacionais, incluindo
34 Livro Texto: Linux Device Drivers, 3a edição, em inglês
44 Programação ANSI C avançada;
45 utilização de toolchain Make + GCC + Binutils;
46 utilização de shell e editor de textos;
47 arquiteturas de computadores (linguagem de máquina, interrupções, barramentos);
48 sistemas POSIX (API de biblioteca C POSIX: open, read, write, etc).
53 Tópicos do Livro Texto
57 3. Dispositivos de Caractere
60 6. Operações Avançadas
62 8. Alocação de Memória
63 9. Comunicação com Hardware
66 14. Modelo de Dispositivos Linux
67 15. Mapeamento de Memória e DMA
68 16. Dispositivos de Bloco
69 17. Dispositivos de Rede
70 18. Dispositivos Terminais