Objetivo: Ao finalizar a
aula, os alunos devem poder se sentir com a comodidade de modificar
o Linux kernel para satisfazer as necessidades de seu hardware ou aplicações,
e desenvolver dispositivos. Também terão as ferramentas necessárias para conectar
o porto das aplicações existentes e os dispositivos ao Linux,
principalmente dos sistemas tipo Unix.
Audiência:
Esta aula está orientada a programadores experimentados que desejam adquirir uma completa compreensão da arquitetura Linux, incluindo os kernels mais recentes.
Os alunos obterão uma análise detalhada da arquitetura kernel
do Linux, incluindo o programa de processos, administração de memória, sistemas de arquivos
e dispositivos periféricos. Ao finalizar a aula, os alunos sentirão a comodidade de modificar
o Linux kernel para satisfazer as necessidades de seu hardware ou aplicações,
e desenvolver dispositivos. Também terão as ferramentas necessárias para conectar
o porto das aplicações existentes e os dispositivos ao Linux,
principalmente dos sistemas tipo Unix. Esta aula não cobre networking.
Requisitos prévios: Finalização
do RHD221 (Linux Device Drivers) ou experiência equivalente, incluindo:
Destreza em programação C.
Familiaridade com as ferramentas básicas tais como vi, emacs
e utilidades de arquivo.
É requisito possuir conhecimentos de programação de sistemas em um entorno Unix ou Linux; recomenda-se possuir conhecimentos de programação de hardware a nível registro.
Compreensão dos conceitos básicos de Sistema Operativo.
Alguma experiência prévia na execução do Linux, compilação e instalação de kernels, etc.
Não é essencial a experiência na escritura de dispositivos e módulos kernel,
embora seja muito útil.
Preço: EUR + VAT GBP + VAT
Unidades de capacitação (TU): 12 TU
Duração:
5 dias Hora de início da capacitação: 9:00 a.m. Hora de finalização da capacitação: 4:30-5:00
p.m. (depende do progresso da aula)
Você aprenderá:
- Arquitetura Kernel
- Configuração e disposição Kernel
- Estilo Kernel e considerações gerais
- Módulos
- Métodos de sincronização
- Inicialização de Kernel
- Medições de tempo
- Cronômetros Kernel Dinâmicos
- Filas de espera
- Filas de tarefa
- Tasklets
- Técnicas de depuração
- O Sistema de arquivos /proc
- A interface seq_file
- Processos
- Capacidades e limites de processo
- Programação do processo
- Interrupções e exceções
- Chamadas do sistema
- Sinais
- Linux incluído
- Dispositivos
- Espaço usuário <;-> Kernel
- Dispositivos de caráter
- Modos de direcionamento da memória
- Administração de memória
- Espaço de direcionamento de processo
- Caches de disco
- Swapping
- Raw I/O e Kernel I/O
- Mapeamento de memória
- I/O assíncrono
- O Sistema de arquivo virtual
- O Sistema de arquivo ext2/ext3
- Journalling Filesystems
|