Added functions to move memory to and from user space.
[cascardo/kernel/old_slides/.git] / ementa
1 Linux Device Drivers
2
3 Introdução
4
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.
11
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
16 hardwares.
17
18
19 Objetivos
20
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.
24
25
26 Público-Alvo
27
28 Programadores e projetistas de sistemas computacionais, incluindo
29 sistemas embutidos.
30
31
32 Material Didático
33
34 Livro Texto: Linux Device Drivers, 3a edição, em inglês
35
36
37 Carga Horária
38
39 40 horas
40
41
42 Pré-Requisitos
43
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).
49
50
51 Ementa
52
53 Tópicos do Livro Texto
54
55 1. Introdução
56 2. Módulos do Linux
57 3. Dispositivos de Caractere
58 4. Depuração
59 5. Concorrência
60 6. Operações Avançadas
61 7. Temporização
62 8. Alocação de Memória
63 9. Comunicação com Hardware
64 10. Interrupções
65 11. Tipos de Dados
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