Windows Internals
Objetivo
O objetivo deste curso é preparar profissionais avançados no desenvolvimento de software que queiram entender como componentes chaves do sistema operacional Windows funcionam internamente. O curso ajuda a escolher a tecnologia mais adequada a ser aplicada em uma solução e a entender o comportamento por trás das câmeras do sistema auxiliando na depuração de problemas complexos.
Público Alvo
Este curso é destinado aos desenvolvedores de software, administradores de sistemas ou estudantes que precisam entender os conceitos fundamentais sobre arquitetura Windows, seu funcionamento interno de recursos avançados, técnicas de depuração e utilização de ferramentas de diagnóstico.
Pré-Requisitos
- Conceitos básicos de Sistemas Operacionais.
- Este curso aborta tópicos avançados sobre o sistema que podem exigir o prévio conhecimento de alguns conceitos de computação para seu completo entendimento.
- Embora desenvolvedores de software tenham mais familiaridade com os conceitos apresentados, este não é um curso de programação e nenhuma linguagem de programação será utilizada durante seus exercícios.
Medotologia
Os tópicos abordados são distribuídos em 40 horas de maneira simplificada e gradativa, onde cada novo tópico utiliza os conceitos vistos em tópicos anteriores. O curso é ministrado em laboratórios onde os alunos realizarão experiências práticas que comprovarão os conceitos vistos em aula. O curso é todo apresentado em slides e acompanha material impresso.
Tópicos abordados
- Arquitetura do Sistema
- Versões do Windows
- Conceitos Gerais
- Modelo do Sistema Operacional
- Componentes do Sistema
- Funcionamento do Sistema
- Interrupções, Timers e Exceções
- Gerenciador de Objetos
- Sincronismo
- Threads de Sistema
- Flags Gerais
- Chamada de Procedimento Assíncrono (APC)
- Win32 on Windows 64 (Wow64)
- Suporte a Debug
- Hypervisor
- Gerenciador de Transações
- Proteção de Patch do Kernel
- Mecanismos de Gerenciamento
- O Registro
- Serviços
- Gerenciador de Processos de Fundo
- WMI
- Processos, Threads e Jobs
- Por Dentro de um Processo
- Fluxo de Criação de um Processo
- Por Dentro de um Thread
- Agendamento de Threads
- Jobs
- Segurança
- Componentes de Segurança
- Proteção de Objetos
- Direitos e Privilégios
- Tokens de Processo e de Thread
- Auditoria
- Logon do Sistema
- Controle de Contas de Usuário (UAC)
- Rede
- Arquitetura de Rede do Windows
- APIs de Rede
- Suporte a Redirecionamento
- Resolução de Nomes
- Drivers de Protocolo
- Drivers NDIS
- Camadas de Serviços de Rede
- Sistemas de I/O
- Componentes do Sistema
- Drivers de Dispositivos
- Processamento de I/O
- Kernel Mode Driver Framework (KMDF)
- User Mode Driver Framework (UMDF)
- Gerenciador de Plug-And-Play
- Gerenciamento de Energia
- Gerenciameto de Armazenamento
- Drivers de Disco
- Gerenciamento de Volumes
- Criptografia de Disco
- Serviço de Shadow Copy
- Gerenciamento de Memória
- Serviços de Gerenciamento de Memória
- Heaps de Kernel Mode
- Gerenciador de Heaps
- Espaço de Endereçamento Virtual
- Tradução de Endereços (Virtual x Físico)
- Page Faults
- Pilhas
- Descritores de Endereços Virtual (VAD)
- Sections
- Working Sets
- Gerenciamento de Cache
- Recursos do Gerenciador de Cache
- Cache de Memória Virtual
- Interfaces com Sistemas de Arquivos
- Fast I/O
- Read Ahead e Write Behind
- Sistemas de Arquivos
- Arquitetura de um Driver de Sistema de Arquivos
- Sistemas de Arquivos Common Log
- Processo de Boot e Shutdown
- Processo de Boot
- Shutdown
- Análise de Dump de Memória
- A Tela Azul da Morte (BSOD)
- Arquivos de Dump
- Windows Error Reporting (WER)
- Análise de Arquivos de Dump
- Referências
- Web Sites
- Grupos de Discussão
- Livros